Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Nvidia hdmi audio not working
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
Gentling
n00b
n00b


Joined: 21 Jul 2012
Posts: 16

PostPosted: Sat May 14, 2016 6:56 am    Post subject: Nvidia hdmi audio not working Reply with quote

I have a nvidia gt430 graphics card, I know it supports sound as it is working under windows.

Aplay -l doesn't list nvidia as an option anymore after I added support for hdmi/displayport audio for the snd-hda-intel module (not that it worked before, but at least it was listed).
Code:

**** List of PLAYBACK Hardware Devices ****
card 1: Intel [HDA Intel], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Intel [HDA Intel], device 1: ALC662 rev1 Digital [ALC662 rev1 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


Here what's listed for card 2.
Code:

ls /proc/asound/card2
codec#0  codec#1  codec#2  codec#3  eld#0.0  eld#1.0  eld#2.0  eld#3.0  pcm3p  pcm7p


Here is my ~/.asoundrc for the moment, though it seems the first step would be to get it recognized when running aplay -l
Code:

pcm.!spdif {
     type hw
     card 2
     device 3
}

pcm.!default {
     type plug
     slave {
           pcm "spdif"
     }
}


Here is the kernel selection
Code:

                                                                                   <M> HD Audio PCI                                                                                                                                    | |
  | |                                                                              (2048) Pre-allocated buffer size for HD-audio driver                                                                                                | |
  | |                                                                              [*] Build hwdep interface for HD-audio driver                                                                                                       | |
  | |                                                                              -*- Allow dynamic codec reconfiguration                                                                                                             | |
  | |                                                                              [ ] Support digital beep via input layer                                                                                                            | |
  | |                                                                              [ ] Support jack plugging notification via input layer                                                                                              | |
  | |                                                                              [*] Support initialization patch loading for HD-audio                                                                                               | |
  | |                                                                              <M> Build Realtek HD-audio codec support                                                                                                            | |
  | |                                                                              < > Build Analog Device HD-audio codec support                                                                                                      | |
  | |                                                                              < > Build IDT/Sigmatel HD-audio codec support                                                                                                       | |
  | |                                                                              < > Build VIA HD-audio codec support                                                                                                                | |
  | |                                                                              <M> Build HDMI/DisplayPort HD-audio codec support                                                                                                   | |
  | |                                                                              < > Build Cirrus Logic codec support                                                                                                                | |
  | |                                                                              < > Build Conexant HD-audio codec support                                                                                                           | |
  | |                                                                              < > Build Creative CA0110-IBG codec support                                                                                                         | |
  | |                                                                              < > Build Creative CA0132 codec support                                                                                                             | |
  | |                                                                              < > Build C-Media HD-audio codec support                                                                                                            | |
  | |                                                                              < > Build Silicon Labs 3054 HD-modem codec support                                                                                                  | |
  | |                                                                              -M- Enable generic HD-audio codec parser                                                                                                            | |
  | |                                                                              (0) Default time-out for HD-audio power-save mode


This step seems getting a bit ahead considering it isn't even listed under aplay -l, but here it is for the heck of it.
Code:

cat /proc/asound/card2/eld*
monitor_present         0
eld_valid               0
monitor_present         0
eld_valid               0
monitor_present         0
eld_valid               0
monitor_present         0
eld_valid               0


Alsamixer shows 4 s/pdif streams that I can unmute under sound card 2, nvidia.

I've tried speaker-test -c2 -r 48000 hw:2.3 (and 2.1,2.5.2.7,2.9) to no avail.

I've tried setting the hdmi display as the primary monitor.

If you think of anything else to include please let me know.

How does one normally setup hdmi audio with snd-hda-intel and a nvidia card? This has got me stumped for a while now, any help would be appreciated.
Back to top
View user's profile Send private message
skiwarz
Tux's lil' helper
Tux's lil' helper


Joined: 23 Feb 2014
Posts: 89

PostPosted: Sun May 15, 2016 9:54 am    Post subject: Reply with quote

I know it sounds dumb, but are the modules loaded?
Does sound work on your on-board intel stuff?
Also, take a look at this if you haven't already: http://www.alsa-project.org/main/index.php/Matrix:Module-hda-intel
Particularly, did you emerge sys-firmware/alsa-firmware?
Back to top
View user's profile Send private message
fhede
n00b
n00b


Joined: 15 Mar 2016
Posts: 14

PostPosted: Sun May 15, 2016 1:25 pm    Post subject: Reply with quote

I jump in here to Gentling.

I have the same nvidia card gt 430 and i have the same problem.

Here is my aplay -l
Code:
aplay -l
**** 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


Im missing hdmi 8 and 9.

And my dmesg show some strange things.

Code:
dmesg | grep hda
[    1.381957] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002)
[    1.382045] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[    1.382067] snd_hda_intel 0000:01:00.1: Disabling MSI
[    1.396754] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC892: line_outs=4 (0x14/0x15/0x16/0x17/0x0) type:line
[    1.396757] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    1.396758] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[    1.396759] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[    1.396760] snd_hda_codec_realtek hdaudioC0D0:    dig-out=0x11/0x1e
ass[    1.396761] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[    1.396762] snd_hda_codec_realtek hdaudioC0D0:      Front Mic=0x19
[    1.396763] snd_hda_codec_realtek hdaudioC0D0:      Rear Mic=0x18
[    1.396764] snd_hda_codec_realtek hdaudioC0D0:      Line=0x1a
[    1.709932] snd_hda_intel 0000:01:00.1: Too many HDMI devices
[    1.709933] snd_hda_intel 0000:01:00.1: Consider building the kernel with CONFIG_SND_DYNAMIC_MINORS=y
[    1.739920] snd_hda_intel 0000:01:00.1: Too many HDMI devices
[    1.739921] snd_hda_intel 0000:01:00.1: Consider building the kernel with CONFIG_SND_DYNAMIC_MINORS=y
[    1.745933] snd_hda_intel 0000:01:00.1: control 3:0:0:ELD:0 is already present
[    1.745951] snd_hda_codec_hdmi: probe of hdaudioC1D3 failed with error -16
[    1.769937] snd_hda_intel 0000:01:00.1: Too many HDMI devices
[    1.769937] snd_hda_intel 0000:01:00.1: Consider building the kernel with CONFIG_SND_DYNAMIC_MINORS=y
[    1.778096] snd_hda_intel 0000:01:00.1: control 3:0:0:ELD:0 is already present
[    1.778108] snd_hda_codec_hdmi: probe of hdaudioC1D3 failed with error -16
[    1.801934] snd_hda_intel 0000:01:00.1: Too many HDMI devices
[    1.801935] snd_hda_intel 0000:01:00.1: Consider building the kernel with CONFIG_SND_DYNAMIC_MINORS=y
[    1.807936] snd_hda_intel 0000:01:00.1: control 3:0:0:ELD:0 is already present
[    1.807948] snd_hda_codec_hdmi: probe of hdaudioC1D3 failed with error -16
[    1.810934] snd_hda_codec_generic hdaudioC1D3: autoconfig for Generic: line_outs=0 (0x0/0x0/0x0/0x0/0x0) type:line
[    1.810935] snd_hda_codec_generic hdaudioC1D3:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    1.810936] snd_hda_codec_generic hdaudioC1D3:    hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    1.810936] snd_hda_codec_generic hdaudioC1D3:    mono: mono_out=0x0
[    1.810937] snd_hda_codec_generic hdaudioC1D3:    dig-out=0x5/0x0
[    1.810937] snd_hda_codec_generic hdaudioC1D3:    inputs:
[    1.828925] snd_hda_intel 0000:01:00.1: Too many HDMI devices
[    1.828927] snd_hda_intel 0000:01:00.1: Consider building the kernel with CONFIG_SND_DYNAMIC_MINORS=y
[    1.835853] Modules linked in: snd_hda_codec_hdmi nvidia_drm(PO) nvidia_modeset(PO) nvidia(PO) snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hwdep snd_hda_core snd_pcm x86_pkg_temp_thermal snd_timer snd soundcore efivarfs
[    1.835857] Workqueue: events azx_probe_work [snd_hda_intel]
[    1.835880]  [<ffffffffa00d6313>] ? azx_codec_configure+0x23/0x40 [snd_hda_codec]
[    1.835881]  [<ffffffffa01100f5>] azx_probe_continue+0x3d5/0x660 [snd_hda_intel]
[    1.835882]  [<ffffffffa0110400>] azx_probe_work+0x10/0x12 [snd_hda_intel]


To many hdmi devices when 2 are missing??
and this
Consider building the kernel with CONFIG_SND_DYNAMIC_MINORS=y are already compiled in to kernel.

My lsmod
Code:
lsmod | grep snd
snd_hda_codec_hdmi     36187  3
snd_hda_codec_realtek    54362  1
snd_hda_codec_generic    54118  2 snd_hda_codec_realtek
snd_hda_intel          20595  4
snd_hda_codec          84353  4 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel
snd_hwdep               5866  1 snd_hda_codec
snd_hda_core           35113  5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_pcm                76796  4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_core
snd_timer              18973  1 snd_pcm
snd                    54452  15 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
soundcore               5155  1 snd


I have tested to compile in snd-hda-intel to the kernel,problem still there.
And now i have compiled it with modules instead but the problem still there.
I have always compiled in intel-hd in to the kernel before and always have sound.

I have sound thrue spdif for now and i have sound in my applications like kodi,chromium,vlc.

fhede
Back to top
View user's profile Send private message
Gentling
n00b
n00b


Joined: 21 Jul 2012
Posts: 16

PostPosted: Mon May 16, 2016 9:32 pm    Post subject: Reply with quote

I got it working by including CONFIG_SND_DYNAMIC_MINORS into the kernel, located here

<*> Sequencer support
<*> Sequencer dummy client
<*> OSS Mixer API
<*> OSS PCM (digital audio) API
[*] OSS PCM (digital audio) API - Include plugin system
[*] OSS Sequencer API
<*> HR-timer backend support
[*] Use HR-timer as default sequencer timer
[*] Dynamic device file minor numbers
(32) Max number of sound cards
[ ] Support old ALSA API
[*] Verbose procfs contents
[ ] Verbose printk
[ ] Debug
[*] Generic sound devices --->
[*] PCI sound devices --->
HD-Audio --->
[*] SPI sound devices ----
[*] USB sound devices --->
[*] PCMCIA sound devices --->
< > ALSA for SoC audio support ----

Look at my original post for the "HD-Audio" portion.

If "Dynamic device file numbers" really is checked fhede look at your /etc/modprobe.d/alsa.conf, specifically that...
options snd cards_limit=4 --- this is in there and set to a reasonable number
options snd_hda_intel model=auto --- try adding this line too.

speaker-test -C2 -r 48000 hw:2,X is useful to test, make sure your sound on the tv is up a bit to hear. Personally I use audacious as that tends to give more helpful hints.

Try cat /proc/asound/cardX/eld* to see if you are getting eld information.

Disclaimer: the following link may be outdated, as I'm not sure nvidia-settings has the "Acquire EDID" option anymore, but here it is anyway to give some help on generating EDID info should it come to that. http://analogbit.com/2010/02/09/fixing-linux-hdmi-audio-with-edid-modification/
Back to top
View user's profile Send private message
fhede
n00b
n00b


Joined: 15 Mar 2016
Posts: 14

PostPosted: Tue May 17, 2016 1:17 pm    Post subject: Reply with quote

Absolutely beautiful Gentling thank you very much for figure this out.

My aplay -l how it looks now when it working.
Code:

>aplay -l
**** 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: 0/1
  Subdevice #0: subdevice #0



Thanks fhede
Back to top
View user's profile Send private message
snkmoorthy
Guru
Guru


Joined: 19 Nov 2002
Posts: 353

PostPosted: Wed May 18, 2016 6:19 pm    Post subject: Reply with quote

Gentling wrote:

[*] Dynamic device file minor numbers
(32) Max number of sound cards


Thank you, this helped solve the problem for me as well.
Back to top
View user's profile Send private message
mir3x
Apprentice
Apprentice


Joined: 02 Jun 2012
Posts: 227

PostPosted: Sat May 21, 2016 6:54 am    Post subject: Reply with quote

Hi, I have the same card working ok, but I always get this in dmesg

Code:
snd_hda_codec_hdmi hdaudioC1D3: HDMI: invalid ELD data byte 28


Do u have it also ? its 4.3 kernel but I always was getting it in 4.x
_________________
Installation aborted to prevent system self-destruction
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum