OpenSUSE 11.4 x64 + NVIDIA, No audio over HDMI

Good day;

Fresh install of OpenSUSE 11.4 x64
> One-Click Restricted Codec install

Nvidia 260.19.21 driver
> Installed “the easy way”

HDMI connecting Nvidia GTX460 to Asus monitor. Video OK, Audio not working.

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.58
!!################################
!!Script ran on: Thu Mar 17 14:21:52 UTC 2011

!!Linux Distribution
!!------------------
Welcome to openSUSE 11.4 "Celadon" - Kernel \r (\l). openSUSE 11.4 (x86_64)

!!DMI Information
!!---------------
Manufacturer:      Gigabyte Technology Co., Ltd.
Product Name:      X58A-UD3R

!!Kernel Information
!!------------------
Kernel release:    2.6.37.1-1.2-desktop
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         x86_64
SMP Enabled:       Yes

!!ALSA Version
!!------------
Driver version:     1.0.23
Library version:    
Utilities version:  1.0.24.2

!!Loaded ALSA modules
!!-------------------
snd_hda_intel

!!Sound Servers on this system
!!----------------------------
Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes

ESound Daemon:
      Installed - Yes (/usr/bin/esd)
      Running - No

Jack:
      Installed - Yes (/usr/bin/jackd)
      Running - No

!!Soundcards recognised by ALSA
!!-----------------------------
 0 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xf9ffc000 irq 17

!!PCI Soundcards installed in the system
!!--------------------------------------
02:00.1 Audio device: nVidia Corporation GF104 High Definition Audio Controller (rev a1)

!!Advanced information - PCI Vendor/Device/Susbsystem ID's
!!--------------------------------------------------------
02:00.1 0403: 10de:0beb (rev a1)
	Subsystem: 1458:34fc

!!Loaded sound module options
!!--------------------------
!!Module: snd_hda_intel
	...

!!HDA-Intel Codec information
!!---------------------------
--startcollapse--
Codec: Nvidia GPU 12 HDMI/DP
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x10de0012
Subsystem Id: 0x10de0101
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x04 [Audio Output] wcaps 0x72b1: 8-Channels Digital Stripe CP
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Device: name="HDMI 0", type="HDMI", device=3
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Unsolicited: tag=00, enabled=0
Node 0x05 [Pin Complex] wcaps 0x407381: 8-Channels Digital CP
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=05, enabled=1
  Connection: 1
     0x04
Codec: Nvidia GPU 12 HDMI/DP
Address: 1
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x10de0012
Subsystem Id: 0x10de0101
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x04 [Audio Output] wcaps 0x72b1: 8-Channels Digital Stripe CP
  Control: name="IEC958 Playback Con Mask", index=1, device=0
  Control: name="IEC958 Playback Pro Mask", index=1, device=0
  Control: name="IEC958 Playback Default", index=1, device=0
  Control: name="IEC958 Playback Switch", index=1, device=0
  Device: name="HDMI 0", type="HDMI", device=7
  Converter: stream=6, channel=0
  Digital: Enabled
  Digital category: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Unsolicited: tag=00, enabled=0
Node 0x05 [Pin Complex] wcaps 0x407381: 8-Channels Digital CP
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=05, enabled=1
  Connection: 1
     0x04
Codec: Nvidia GPU 12 HDMI/DP
Address: 2
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x10de0012
Subsystem Id: 0x10de0101
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x04 [Audio Output] wcaps 0x72b1: 8-Channels Digital Stripe CP
  Control: name="IEC958 Playback Con Mask", index=2, device=0
  Control: name="IEC958 Playback Pro Mask", index=2, device=0
  Control: name="IEC958 Playback Default", index=2, device=0
  Control: name="IEC958 Playback Switch", index=2, device=0
  Device: name="HDMI 0", type="HDMI", device=8
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Unsolicited: tag=00, enabled=0
Node 0x05 [Pin Complex] wcaps 0x407381: 8-Channels Digital CP
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=05, enabled=1
  Connection: 1
     0x04
Codec: Nvidia GPU 12 HDMI/DP
Address: 3
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x10de0012
Subsystem Id: 0x10de0101
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x04 [Audio Output] wcaps 0x72b1: 8-Channels Digital Stripe CP
  Control: name="IEC958 Playback Con Mask", index=3, device=0
  Control: name="IEC958 Playback Pro Mask", index=3, device=0
  Control: name="IEC958 Playback Default", index=3, device=0
  Control: name="IEC958 Playback Switch", index=3, device=0
  Device: name="HDMI 0", type="HDMI", device=9
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Unsolicited: tag=00, enabled=0
Node 0x05 [Pin Complex] wcaps 0x407381: 8-Channels Digital CP
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=05, enabled=1
  Connection: 1
     0x04
--endcollapse--

!!ALSA Device nodes
!!-----------------
crw-rw----+ 1 root audio 116, 11 Mar 17 09:40 /dev/snd/controlC0
crw-rw----+ 1 root audio 116, 10 Mar 17 09:40 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116,  9 Mar 17 09:40 /dev/snd/hwC0D1
crw-rw----+ 1 root audio 116,  8 Mar 17 09:40 /dev/snd/hwC0D2
crw-rw----+ 1 root audio 116,  7 Mar 17 09:40 /dev/snd/hwC0D3
crw-rw----+ 1 root audio 116,  6 Mar 17 09:40 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  5 Mar 17 09:44 /dev/snd/pcmC0D7p
crw-rw----+ 1 root audio 116,  4 Mar 17 09:40 /dev/snd/pcmC0D8p
crw-rw----+ 1 root audio 116,  3 Mar 17 09:40 /dev/snd/pcmC0D9p
crw-rw----+ 1 root audio 116, 12 Mar 17 09:40 /dev/snd/seq
crw-rw----+ 1 root audio 116,  2 Mar 17 09:40 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  60 Mar 17 09:40 .
drwxr-xr-x 3 root root 280 Mar 17 09:40 ..
lrwxrwxrwx 1 root root  12 Mar 17 09:40 pci-0000:02:00.1 -> ../controlC0


!!Aplay/Arecord output
!!------------
APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [NVidia]

Card hw:0 'NVidia'/'HDA NVidia at 0xf9ffc000 irq 17'
  Mixer name	: 'Nvidia GPU 12 HDMI/DP'
  Components	: 'HDA:10de0012,10de0101,00100100'
  Controls      : 16
  Simple ctrls  : 4
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958',3
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

!!ALSA/HDA dmesg
!!------------------

    6.293454] WARNING! power/level is deprecated; use power/control instead
    6.296341] HDA Intel 0000:02:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    6.296343] hda_intel: Disable MSI for Nvidia chipset
    6.296401] HDA Intel 0000:02:00.1: setting latency timer to 64
    6.952822] usblp0: USB Bidirectional printer dev 2 if 1 alt 0 proto 2 vid 0x04A9 pid 0x1735
--
   18.512105] BIOS EDD facility v0.16 2004-Jun-25, 1 devices found
   19.674245] HDMI hot plug event: Pin=5 Presence_Detect=1 ELD_Valid=0
   19.693217] HDMI hot plug event: Pin=5 Presence_Detect=0 ELD_Valid=1
   19.981938] audit_printk_skb: 45 callbacks suppressed
--
   19.981953] type=1400 audit(1300369224.165:28): apparmor="DENIED" operation="change_hat" info="unconfined" error=-1 pid=1672 comm="kdm"
   19.988894] HDMI: detected monitor ASUS VH242H
   19.988896]  at connection type HDMI
   19.988898] HDMI: available speakers: FL/FR
   19.988902] HDMI: supports coding type LPCM: channels = 2, rates = 44100 48000 88200, bits = 16
   20.253643] r8169 0000:04:00.0: eth0: link up
--
   23.514492] EXT4-fs (sda7): re-mounted. Opts: acl,user_xattr,commit=0
   26.775780] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
   31.244854] eth0: no IPv6 routers present


I can play music in VLC with this dirty work-around! Audio does not work in other players or flash.


Step 1: (This must be repeated after rebooting)
#alsamixer
F6-Select sound card:  **0**
Unmute: **S/PDIF 1**

Step 2:
VLC Preferences: Audio Settings:
Output module: **ALSA Audio Output**
Use S/PDIF when available: **True**
Device: **HDA NVidia: HDMI 0 (hw:0,7)**

I think the next step is to make the NVidia card and SPDIF 0,7 default; and to unmute that SPDIF. How should I proceed?

Thank you

maybe I was just stupid but this worked for me: Ubuntu Lucid, Nvidia, and HDMI Sound | The Iron Lion : Code Zion ( running similar setup to yours, except I am on 32bit)

Unmuting in alsamixer is good step, you can then store the setting with ‘alsactl store’, so you don’t have to repeat it. Then in Sound Preferences/hardware select HDMI.

Mjakl; Thank you! alsactl store saved my alsamixer settings.

I spent some time messing with speaker-test, and was able produce sound with both of these tests:

speaker-test -c 2 -D hdmi:DEV=1
speaker-test -c 2 -D hdmi:0,1

I am going to edit my /etc/modprobe.d/sound.conf file and reboot

SOLVED

I created file** /etc/modprobe.d/sound.conf**

and added one line

options snd-hda-intel probe_mask=0x102

The file /etc/modprobe.d/sound.conf is depreciated for the past few openSUSE versions. Instead such a line (if needed) should go in the start of the existing /etc/modprobe.d/50-sound.conf file.

Oldcpu; Thanks for the headsup. I removed the /etc/modprobe.d/sound.conf I added, and added options snd-hda-intel probe_mask=0x102 to beginning of the /etc/modprobe.d/50-sound.conf file. Rebooted and audio works.

Further information from Ubuntu 10.10 Forums: HOWTO: Nvidia hdmi audio :

Command: grep eld_valid /proc/asound/NVidia/eld*

/proc/asound/NVidia/eld#0.0:eld_valid 0
/proc/asound/NVidia/eld#1.0:eld_valid 1
/proc/asound/NVidia/eld#2.0:eld_valid 0
/proc/asound/NVidia/eld#3.0:eld_valid 0

And that decodes with:
eld#0.0 = device 3 = probe_mask=0x101
eld#1.0 = device 7 = probe_mask=0x102
eld#2.0 = device 8 = probe_mask=0x104
eld#3.0 = device 9 = probe_mask=0x108

What would it take for Linux to set the correct HDMI device during installation?
Or:
What would it take to add an HDMI device selection to Yast2 Sound Configuration?

After making the change to /etc/modprobe.d/50-sound.conf I noticed in YAST2 Sound Card Advanced Options, that “Bitmask to probe codecs” was now = 0x102