I have tried to get audio via HDMI to work with my GTX 570 without success. I have searched and tried quite a few approaches which I'll outline below.
First, HDMI audio does work with my setup. I dual boot with Windows 7 and it works perfectly fine there.
The motherboard is an Asus P8Z68 Deluxe/gen3 (it has onboard audio). The video card is NVidia GTX 570. I'm running Fedora 16.
Code:
# uname -a
Linux dis 3.1.9-1.fc16.x86_64 #1 SMP Fri Jan 13 16:37:42 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Code:
# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 290.10 Wed Nov 16 17:39:29 PST 2011
GCC version: gcc version 4.6.2 20111027 (Red Hat 4.6.2-1) (GCC)
The following is the onboard audio output from lspci -v:
Code:
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
Subsystem: ASUSTeK Computer Inc. P8P67 Deluxe Motherboard
Flags: fast devsel, IRQ 4
Memory at fb620000 (64-bit, non-prefetchable) [disabled] [size=16K]
Capabilities: [50] Power Management version 2
Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [130] Root Complex Link
Kernel modules: snd-hda-intel
The following is the GTX 570 audio output from lspci -v:
Code:
01:00.1 Audio device: nVidia Corporation GF110 High Definition Audio Controller (rev a1)
Subsystem: Micro-Star International Co., Ltd. Device 2571
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at fb080000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Kernel driver in use: snd_hda_intel
Kernel modules: snd-hda-intel
Output from aplay -l with a vanilla /etc/modprobe.d/sound.conf:
Code:
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC889 Analog [ALC889 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC889 Digital [ALC889 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
card 1: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
Most of the guides out there have you test each one until you hear audio. Running aplay -D plughw:1,7 somefile.wav plays and confirms that the device is working! The guides then generally have you modify /etc/modprobe.d/sound.conf with a probe_mask. Others will have you modify /etc/pulse/default.pa Whenever I modify /etc/pulse/default.pa, pulse audio doesn't load. So I reset that file to the default. I've had success with sound.conf
I managed to change my aplay -l output to this with the following sound.conf:
Code:
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
# cat /etc/modprobe.d/sound.conf
options snd-hda-intel probe_mask=-1,0x02 index=1,0 enable=0,1
Doing aplay -D plughw:0,3 somefile.wav works with this. I would expect with only one active card and one active device that pulse audio or alsa would have no choice but to choose it. Yet, applications such as mplayer and vlc do not emit any sound.
A handful of guides suggest setting up a .asoundrc file as follows:
Code:
$ cat ~/.asoundrc
pcm.!default {
type hw
card 0
device 3
}
This has no effect. I've tried it with/without sound.conf and adjusting card 0 to card 1 and device 3 to device 7 and still no effect.
This is where I'm stuck. Any help would be appreciated!
edit: I did make sure the outputs were unmuted when testing with vlc or mplayer or aplay -D. I checked and unmuted the outputs with alsamixer