On Sun, 22 Jul 2018 17:38:50 +0200, Christopher Head wrote:
Hi folks, I have an Asus P8H77-I motherboard. On board is an Intel HDA connected to a Via VT1708S codec. There are a number of analogue ports. In addition to them, on the back panel are an HDMI port (from an integrated GPU) and a TOSLINK port. The motherboard manual isn’t totally clear on whether the HDMI port can also carry sound or only video, but Windows claims to be able to send sound there, so probably yes. I don’t use the integrated GPU, though.
Here’s the problem: $ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: VT1708S Analog [VT1708S Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 2: VT1708S Alt Analog [VT1708S Alt Analog] Subdevices: 0/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 3: VT1708S Digital [VT1708S Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0
Please look at the card numbers here. The HDMI output is provided from a different HD-audio controller (of GPU), so it's assigned to a different card. If you pass only "hdmi" to applications, it implicitly assumes the default card 0.
For playing via HDMI on your machine, you'd need to pass as "aplay -L" shows, one of the following:
hdmi:CARD=NVidia,DEV=0 HDA NVidia, HDMI 0 HDMI Audio Output hdmi:CARD=NVidia,DEV=1 HDA NVidia, HDMI 1 HDMI Audio Output hdmi:CARD=NVidia,DEV=2 HDA NVidia, HDMI 2 HDMI Audio Output hdmi:CARD=NVidia,DEV=3 HDA NVidia, HDMI 3 HDMI Audio Output
The device number depends on the HDMI port you plugged in. The above can be in a shorter form like "hdmi:1,0", too.
Takashi