Can't get sound from HDMI output on an NVidia Geforce GTX 470

Hi. I can’t get any sound at all to come from my wife’s TV when on Suse. It is connected to the TV via an HDMI cable for both the audio and video to a Geforce GTX 470. I’ve been through all of the steps on jdmcdaniel3’s page for troubleshooting audio: https://forums.opensuse.org/blogs/jdmcdaniel3/pulseaudio-selecting-proper-sound-card-configuration-139/ and it still doesn’t work. I must have missed something, done something wrong, or it’s some other kind of problem.

The audio works fine on Windows as you would expect with it being Nvidia’s primary market, but on Opensuse I must be missing something. I’m fairly sure I didn’t miss any things suggested in the troubleshooting link above, but my eyesight is very poor so I might have missed something. I’ve also tried installing the official Nvidia driver, thinking that the problem might be because it’s a combined audio and video output device and having the official driver might sort it. Obviously not.

Anyone know how to make it work?

Could you please provide more information on your audio setup? To do so, with your PC connected to the Internet, please in a terminal/konsole run the diagnostic script:


/usr/sbin/alsa-info.sh

select the UPLOAD/SHARE option and let the script complete to the end. After it is finished it will give you a web-site/url/address where it uploaded your audio configuration. Please post that URL here.

And while waiting for a response on that, you could also look at this nVidia HDMI page where section-12 is troubleshooting: ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html

Ok, the information is at http://www.alsa-project.org/db/?f=abfe88638d49ba46fef06c95a1574fb22615172e

I probably should also say that whilst doing the things recommended by the page I linked to in my original post I also noticed that on the configuration tab in pavucontrol the Profiles dropbox the same HDMI socket appeared to be listed several times “Digital Stereo (HDMI) Output”. Then I noticed this was probably more a profile name than a device and had the bright idea of tweaking the other dropboxes. I assumed that if I missed anything from the link in my original post, it was probably this. So I then changed the audio adapter drop box to Digital Stereo (IEC58) and the Built in audio to the same, but still nothing works. In fact I’ve just looked back at the pavucontrol screen and noticed that all of them say profile next to the dropboxes. >_< Anyway, here’s the link to the config data you requested after I changed stuff in pavucontrols config tab and forgot what the defaults were. http://www.alsa-project.org/db/?f=3aa5e8f73a7f1a62c7406f63a0b4c9eab192081f

I have no idea if it is any different or not but I thought I should post both just in case. I’ll try to have a quick peek at the link you posted before I go to bed. Thanks for your help.

To the op this link might help
https://forums.opensuse.org/english/get-technical-help-here/multimedia/480142-configuration-two-sou

It lloks like the link you posted was truncated for some reason. When I try to look at it, it just says page not found.

I apologize for making the mistake
https://forums.opensuse.org/english/get-technical-help-here/multimedia/480142-configuration-two-sound-cards.html#post2500622

No need to apologize. Thank you very much for trying to help. I look forward to reading it tomorrow after I’ve had a snooze.

Here is some more info on Audio Card Selection: PulseAudio and Selecting the Proper Sound Card Configuration - Blogs - openSUSE Forums

Thank You,

From the script I note a 64-bit openSUSE-12.3 with the 1.0.26 alsa version and the 3.7.10-1.4-desktop kernel.


!!Soundcards recognised by ALSA
!!-----------------------------
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xfa620000 irq 67
 1 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xfa080000 irq 17
 2 [Set            ]: USB-Audio - C-Media USB Headphone Set
                      C-Media USB Headphone Set at usb-0000:00:1a.0-1.4.7.3, full speed

!!PCI Soundcards installed in the system
!!--------------------------------------
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
01:00.1 Audio device: NVIDIA Corporation GF100 High Definition Audio Controller (rev a1)

where your HDMI device is likley the second PCI sound card device (ie "1 [NVidia … " )

I note the following alsa kernel modules loaded:


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

where one is for your USB device, and two snd_hda_intel instances where one is likely for your HDMI device.

Mother board codec is an ALC892 and ‘Nvidia GPU 10 HDMI/DP’ the HDMI hardware audio codec.

The aplay output is important:



APLAY
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 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
card 2: Set [C-Media USB Headphone Set], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

as from that we can see that your HDMI devices are on card 1 labeled hw:1,3 ; hw:1,7 ; hw:1,8 ; and hw:1,9 (where the ‘1’ corresponds to the card, and the 3,7,8,9 correspond to the device).

Typically of those 4, only one is active. Hence the initial trick sometimes can be to determine which one of those 4 is the active HDMI device, and then tune it with pulse audio.

I also note some dmesg entries :


    7.077765] ALSA patch_realtek.c:1304 realtek: No valid SSID, checking pincfg 0x4005e601 for NID 0x1d
    7.077766] ALSA patch_realtek.c:1320 realtek: Enabling init ASM_ID=0xe601 CODEC_ID=10ec0892
..........
    7.085103] ALSA hda_intel.c:2713 0000:01:00.1: Handle VGA-switcheroo audio client
..........
    7.294156] nvidia: module license 'NVIDIA' taints kernel.
--
    7.438573] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input15
    7.438607] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input16
    7.438630] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input17
    7.438652] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input18

where one can again note the “3, 7, 8, 9” HDMI devices. The VGA-switcheroo gives me some pause as I note your PC has been identified with hybrid graphics which puzzles me, as VGA-switcheroo is nominally for radeon/intel combination and not nVidia/intel combination. By chance does your PC have 3 graphics devices ? The ‘No Valid SSID’ also gives me some pause, and that appears inconsistent with the identified ALC892 and ‘Nvidia GPU 10 HDMI/DP’ hardware audio codecs.

Now before I start with suggestions, NOTE that HDMI has 2 sides to the interface. It has your computer side and your wife’s TV side. If the TV side is not setup/configured wrt settings/volume on the TV side, none of what I suggest below will work. So ensure the TV is correctly setup.

Per the link I provided ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html#_issues_in_pulseaudio , did you go through the steps to check the output of the command to confirm card information is available for your PC, that the alsa driver recognizes the monitor and the general functionality is correct ? That will also indicate which of the hw:1,3 ; hw:1,7 ; hw:1,8 ; and hw:1,9 is functional.

I’m going to assume you did not try that as you could not understand it (apologies if I got that wrong) :frowning: and hence I will propose a trial and effort method instead to determine which of the hw:1,3 ; hw:1,7 ; hw:1,8 ; and hw:1,9 is functional. This is important to determine so effort is focused on only ONE of those four and not wasted on all four.

With your HDMI hardware connected, try sending the following two commands once for each of the four hw:1,3 ; hw:1,7 ; hw:1,8 ; and hw:1,9 devices. ie start with hw:1,3 and in a terminal/konsole type:


speaker-test -c 2 -r 48000 -D hw:1,3

and


aplay -D hw:1,3 some_file.wav

where ‘some_file.wav’ is a .wav file that you have selected. Again, try that for hw:1,3 ; hw:1,7 ; hw:1,8 ; and hw:1,9 . One of those should give something different reference sound from the other 3. Hence that is the device you need to focus on with pulse audio. But you need to determine which one of those 4 is the correct one. Please advise us as to which one gave different sound on the TV (it could be noise, static, crackling or even a proper tune/voice) ?

Its possible you may need to add the HDMI devices to pulse (if not already included) but I note you stated :

wrt Pulse audio, can you also please show us the selections in the ‘pavucontrol’ configuration tab so we can give you guidance there. Sometimes doint a ‘screen print’ with the ‘pavucontrol’ settings showing (a pause before the capture may/or-may-not be necessary) and post the image on Fast, Free Image Hosting - ImageBam may be the easiest way to show us the settings.

Wow. Thanks for all the help so far everyone. It certainly seems a good bit more complicated than I anticipated, but hopefully it won’t be too hard to get sorted. The output from that script seems to imply that I haven’t made the graphics card be listed as sound card 0 (instead listing it as "1 NVIDIA something") is that just some listing of audio devices ordered by some other means or is the graphics card still not the default audio device for some reason?

As far as the number of graphics devices go, I only expect two to be in there. The one on the motherboard which has its’ own HDMI socket attached to the motherboard and a single GTX 470. There are a few other audio ouput sockets from what I assume must be an onboard sound card, but other than those I don’t know.

I haven’t had chance to try any of the stuff listed on the NVIDIA page oldcpu linked to yet though because despite my wife telling me that she wants it sorting, she doesn’t really allow me all that much time to do it. >_< That and the fact I often massively misread text and have to re-read it over and over doesn’t help. I hope to get a good amount of time to fix it tomorrow.

Thanks again everyone.

Ok, I started working through the checklist at ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html#_issues_in_pulseaudio and straight away found that the modprobe commands suggested in section 12.2,

boss:~ # modprobe snd_hda_codec_hdmi

and

boss:~ # modprobe snd_hda_codec_nvhdmi

give no output. I know that some uses of modprobe are used to get information and some are for doing thing (like loading kernel modules), but I have no idea what is what to be honest.I dunno if those commands were telling Suse to load modules that may already be loaded in which case there’s probably no need for output, or if it was to aks which modules are loaded for the HDMI socket and the lack of output means “none”. I just thought I’d let it be known here, just in case it might be useful info.

I recommend you carry on and do not get hung up on that step. I do not know how those modules are loaded, but possibly its dynamic and they are only loaded when required ?

Did you try yet the commands I suggested ? ie the various aplay and speaker-test combinations ?

That’s normal. modprobe just loads the module and doesn’t output anything (unless you specify the ‘-v’ option).
If something goes wrong, there should be an error message in “dmesg”.

You can check which modules are loaded by running:

modprobe -l *pattern*]

(if you specify pattern, only modules matching the pattern will be shown; otherwise all will be listed)

Ok I skipped straight to the speaker test commands and hw:1,7 is plays the noise sound test and also a wav music file in aplay.

aplay -D hw:1,7 mUSIC.wav

worked perfectly

HERE’S A LINK TO PAVUCONTROL SCREEN http://thumbnails106.imagebam.com/25532/9a316b255319517.jpg](http://www.imagebam.com/image/9a316b255319517)

Whoops. That’s a Ksnapshot of the Ksnapshot window. Had a spot of bother geting it to take a shot of the window with the dropbox dropped, but this one should work. http://thumbnails108.imagebam.com/25533/edb71d255321357.jpg](http://www.imagebam.com/image/edb71d255321357)

http://thumbnails108.imagebam.com/25533/edb71d255321357.jpg](http://www.imagebam.com/image/edb71d255321357)

If I read that correct, you have 4 x Digital Stereo (HDMI) Output possibilities to select, and 3 x Digital Surround 5.1 (HDMI) Output possibilities to select. The labelling clearly leaves a bit to be desired wrt distinguising one HDMI from the other.

We know that hw:1,7 is the correct HDMI output to use amongst hw:1,3 ; hw:1,7 ; hw:1,8 and hw:1,9. Lets make an assumption (which may be invalid) that hw:1,7 is the second selection.

So try this setting:
http://thumbnails107.imagebam.com/25533/c2e56d255324033.jpg](http://www.imagebam.com/image/c2e56d255324033)

and if that fails, try this setting:
http://thumbnails105.imagebam.com/25533/71046f255324035.jpg](ImageBam)

Note that in EACH case you need to go into the ‘pavucontrol’ output devices TAB, under Show select “All output devices” and look for the “Digital Stereo (HDMI) entry”. Ensure it is not muted. Ensure it has volume levels up.

It may be necessary < not sure > to go to ‘Playback’ and look for an application entry there which may correspond to what you are trying to play with HDMI to the TV ? I’m speculating a bit there, as I do not have an HDMI device and I do not know exactly how it should show up, but that is one possibility that I would consider. For example if I had the TV connected via HDMI and I was trying to play smplayer and have its sound go to the TV, I would go to the ‘Playback tab’ and under ‘mplayer’ ensure it was selected to use the Digital Stereo (HDMI) Output selection (or the surround sound one if that is what works).

Its also possible, having got this far, that the KDE sound needs to be setup to use HDMI but I do not know if that is the case.

Well I have to admit I’m thoroughly confused by pavucontrol. Changing the drop-box labelled “GF100 High Definition Audio Controller” in the configuration tab (that’s the one shown in the screen capture with many duplicate entries) didn’t help because no matter what I selected from the drop-box, the drop-box labelled “Port” under the Output Devices tab would only ever have S/PDIF as its only option.

After I tried every option from the drop-box labelled “GF100 High Definition Audio Controller” in the Configuration tab and, seeing that regardless of which selection was made, the Output tab’s only Port option remained as S/PDIF I started trying different selections from the drop-box labelled “Built-in Audio” from the Configuration tab. After choosing one of these options, I forget which one now, I was finally able to change the option in the Output Devices tab labelled “Port”. An option for "HDMI/ DisplayPort 4 appeared. I selected it not expecting it to work, but more just happy that was something other than S/PDIF which is obviously a useless selection in this case. It didn’t work and now I can’t get the Output Devices’ Port drop-box to offer any other ports again. I don’t really know what to try because the label for all three drop-boxes in the Configuration tab just sound (to me) like different ways of saying the same thing.

Sorry - I don’t understand your post.

To figure out how to use pavucontrol, I recommend you read these two blog entries:

I recommend you either write down settings, or do screen snaps and save them along the way, so you can retrace your steps. One should always establish a baseline BEFORE one starts, so that one can come back to their original setting. This sort of ‘baseline’ record keeping is a very important practise in GNU/Linux that I started doing about 6-months after I first started using GNU/Linux (back in 1998).

Sorry. I know it must seem that I’m being wilfully stupid, but I’m not. I got it sorted in the end. The penny dropped when you said you couldn’t understand my post. I thought that the drop boxes in the configuration tab were something to do with different aspects of one device (and so would have standard names). When you said you didn’t have a clue what is was talking about, though, then I realized that they must be the device names given by manufacturers (and are therefore completely arbitrary). I Obviously that’s why they all seemed to differing names for the same thing, because they were the names of all the audio devices in the computer. Anyway, once that penny finally dropped, the rest was easy to figure out when I went back over your posts with a better understanding of what I was supposed to be doing.

Again, sorry, and a very big thankyou to everyone for all the help and patience with me.