SuSE 12.1 - No sound through HDMI - Need links to a good guide

Hello All,

I am trying to hook my TV up to my computer with a HDMI cable. Currently, when I connect the TV to the computer, I get video but no sound. I’ve looked at several posts on various forums but they’re getting a little dated and may no longer be valid. So I’m hoping someone can point me to a good troubleshooting guide.

Here’s what I’ve done:

Any help is appreciated!

I know of no ‘good guide’ for HDMI. There thou many complex guides. I have never configured HDMI myself. I have read various posts where users have done so.

IMHO the technique is to 1st determine which of the HDMI devices is the functional one for your PC, and then configure pulse audio to use that one.

wrt the script file, it tells us a lot. It confirms openSUSE-12.1 with a 64-bit 3.1.10-1.16-desktop kernel, and alsa-driver version-1.0.24 and alsa utilities-1.0.24.2. It shows us 3 audio devices are in your PC:


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xfcff4000 irq 16
 1 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xfea7c000 irq 19
 2 [C110           ]: USB-Audio - Webcam C110
                      Webcam C110 at usb-0000:00:12.2-2, high speed

which use the kernel modules:


snd_hda_intel
snd_hda_intel
snd_usb_audio

with the two nvidia sound devices being these:


00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
01:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1)

and the USB device being your C110 webcam.

The main hardware audio codec for the nvidia devices is a VIA VT1708S.

… and the script shows us for audio play back



APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: VT1708S Analog [VT1708S Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 1: VT1708S Digital [VT1708S Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 2: VT1708S HP [VT1708S HP]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/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

which supports what you noted, which is your HDMI devices are: hw:1,3 , hw:1,7 , hw:1,8 , hw:1,9

and the script shows us your current mixer setting for the HDMI devices, which is:


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

Card hw:1 'NVidia'/'HDA NVidia at 0xfea7c000 irq 19'
  Mixer name    : 'Nvidia GPU 0b HDMI/DP'
  Components    : 'HDA:10de000b,10de0101,00100200'
  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 [off]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',3
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

where I assume hw:1,3 corresponds to IEC958-0, hw:1,7 corresponds to IEC958-1, hw:1,8 corresponds to IEC958-2, and hw:1,9 corresonds to IEC958-3.

From that you can see you have muted on your PC hw:1,7 and hw:1,9 and do not have muted hw:1,3 and hw:1,8. So if sound is coming out of either hw:1,7 or hw:1,9 you won’t be hearing it as they are muted.

Typically, I like to install the application ‘pavucontrol’ to provide more control over my PCs audio configuration with pulse audio, and it is possible installing that may give you more control over the device selection.

And in addition you could look at unmuting those muted HDMI devices to help determine which device is the HDMI device that provides the audio you are looking for.

Thanks you very much for the reply!!

I have now used alsamixer to unmute the muted devices, still no sound.

I have already installed “pavucontrol” (That’s what I’m using to switch the output from the normal sound card to the HDMI cable). Is there anything else that I can do with pavucontrol with regard to configuration? (so far I’ve only used it to switch the output from the normal card to the HDMI device).

-tomas

One thing that I noticed is that there is no “PCM” or “Master” volume controls when I’m viewing the HDMI controls in alsamixer or in the Yast sound configuration. That seems odd. Should all cards show the PCM/Master controls?

Some suggestions …

  1. A basic HDMI test (this may not work … as noted, I do not have an HDMI setup myself - I only read a lot)

speaker-test -D hdmi -c2

  1. If that does not work, try instead this:

aplay -D plughw:1,3 /usr/share/sounds/alsa/test.wav

and if that does now work, replace “1,3”, with “1,7” … and if that does not work, replace “1,7”, with “1,8”, and if that does not work, replace “1,8” with 1,9". Listen carefully for any noise. The idea is to determine which device is your HDMI.

… but I may also have the syntax wrong :frowning: … it may instead be:


aplay -D hw:1,3 /usr/share/sounds/alsa/test.wav

and again if that does now work, replace “1,3”, with “1,7” … and if that does not work, replace “1,7”, with “1,8”, and if that does not work, replace “1,8” with 1,9". Listen carefully for any noise. The idea is to determine which device is your HDMI.

I do NOT have an HDMI device setup to test on so I am forced to resort to speculation and waste a lot of time pushing ideas at you for syntax.

  1. There is HDMI documentation here:
    ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html
    where section-12.0 is troubleshooting

Thanks for the help!

speaker-test: I tested my normal speaker and everything works. But the HDMI does not.
However, when I tested the HDMI output I got a weird error.

linux4:/home/tomas # speaker-test -D hdmi -c2

speaker-test 1.0.24.2

Playback device is hdmi
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Playback open error: -2,No such file or directory


Not sure what file/directory speaker-test is looking for.

I tested all the combinations with aplay (it looks like both syntaxes worked for the normal sound card. But neither worked for the HDMI.)

I am going to look at the troubleshooting guide next and see if there’s anything in there that will help.

Thanks!

-tomas

OK. Got it working.

I read through the giude provided by oldcpu (located here). Working through this guide led me to check whether I was using the nVidia Binary drivers.

I realized that I was using the default SuSE nVidia drivers. So I installed the nvidia binary drivers using the instructions here . I had to run /usr/bin/nvidia-settings to configure my video output once I rebooted. But that wasn’t too hard.

Then I worked back through the sound troubleshooting guide and I identified which HDMI device was actually producing sound, using the “aplay” command line tests provided by oldcpu . Specifically, it was HDMI 1,7 that was able to produce sound.

Lastly, I followed the instructions in section 12.9.1 of the troubleshooting guide and added this line to /etc/pulse/default.pa


load-module module-alsa-sink device=hw:1,7

I re-booted my computer. and fired up youtube (to show a music video). Sound was coming out of my normal speakers, then I used pavucontrol to switch the audio output to the newly configured HDMI output, and voila! it worked.

If you’re reading through this, I hope this helps!

Great news !

Ahh … yes indeed I did not ask that. My not having HDMI setup, it was not clear to me that one must have proprietary nVidia drivers for HDMI to function. I know with AMD hardware, and with openSource radeon drivers one can get HDMI setup to work, but one needs a special boot code. But I know of no such boot code for open source nvidia drivers (such as nouveau) and I had assumed (incorrectly it seems) that they would just work with HDMI. It goes to show how difficult it can be to provide good support when one does not have the hardware themselves to experiment with. Apologies that I did not know enough to ask that question.

Indeed, thankyou for sharing your solution. It is most appreciated. I’ll make an effort to bookmark your last post.

Further to noting that nouveau drivers do not yet support HDMI, … after a quick search I note this page: nouveau Wiki - FeatureMatrix where they note there is no HDMI driver for NV04/05, NV10, NV20, NV30, and it (HDMI audio) is on a ‘todo’ list for NV40 and NVE0 and there is Work in Progress to implement HDMI audio for NV50, NVC0.

by going to that same page one can also find out which graphic cards belong in those categories.