Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 09-03-10, 02:18 AM   #1
nullack
Registered User
 
Join Date: Oct 2007
Posts: 74
Default ALSA and GTX 4XX Series

Hi, I understand that the binary closed source drivers for Linux only do graphics, unlike the Wintel drivers which install the graphics and sound components.

I know that the current ALSA revision supports GTX 2xx, but what about Fermi with the 4XX generation?

Many thanks
nullack is offline   Reply With Quote
Old 09-03-10, 04:53 AM   #2
cleanrock
Registered User
 
Join Date: Feb 2009
Posts: 32
Default Re: ALSA and GTX 4XX Series

I have a ALSA, GT 240 and working sound over HDMI on Archlinux.
cleanrock is offline   Reply With Quote
Old 09-03-10, 05:08 AM   #3
Lysius
Registered User
 
Join Date: Oct 2008
Posts: 98
Default Re: ALSA and GTX 4XX Series

Yesterday I updated my kernel to 2.6.34.6 from 2.6.33.8 and afterwards I had to blacklist snd_hda_intel and snd_hda_codec so that my GTX460 does not become the default sound card. That means it works with Fermi cards.

Anyone knows if it is possible (on fedora 13) to assure that my real sound card becomes the default one and not my graphics card without disabling that altogether and without relying on the (not fixed) order the kernel modules are loaded?
Lysius is offline   Reply With Quote
Old 09-03-10, 06:13 AM   #4
Fackamato
User
 
Join Date: Mar 2005
Posts: 366
Default Re: ALSA and GTX 4XX Series

Quote:
Originally Posted by Lysius View Post
Yesterday I updated my kernel to 2.6.34.6 from 2.6.33.8 and afterwards I had to blacklist snd_hda_intel and snd_hda_codec so that my GTX460 does not become the default sound card. That means it works with Fermi cards.

Anyone knows if it is possible (on fedora 13) to assure that my real sound card becomes the default one and not my graphics card without disabling that altogether and without relying on the (not fixed) order the kernel modules are loaded?
I think you can set the default soundcard (pcm) with asound.conf (or .asoundrc in ~/ )
Fackamato is offline   Reply With Quote
Old 09-03-10, 06:52 AM   #5
Lysius
Registered User
 
Join Date: Oct 2008
Posts: 98
Default Re: ALSA and GTX 4XX Series

Quote:
Originally Posted by Fackamato View Post
I think you can set the default soundcard (pcm) with asound.conf (or .asoundrc in ~/ )
Is that possible without using the card numbers that can change any time (even between reboots without changing anything)?
Sometimes my TV card becomes card0 and after a reboot it is card1 again (like it should be). Fortunately that is very rare and I did not feel a strong urge to solve that.
Lysius is offline   Reply With Quote
Old 09-03-10, 06:53 AM   #6
Fackamato
User
 
Join Date: Mar 2005
Posts: 366
Default Re: ALSA and GTX 4XX Series

Quote:
Originally Posted by Lysius View Post
Is that possible without using the card numbers that can change any time (even between reboots without changing anything)?
Sometimes my TV card becomes card0 and after a reboot it is card1 again (like it should be). Fortunately that is very rare and I did not feel a strong urge to solve that.
You can set permanent device numbers using files in /etc/modprobe.d/<file>.conf I think... (often used for NICs, why not for audio devices?)
Fackamato is offline   Reply With Quote
Old 09-03-10, 10:57 AM   #7
Stephen Warren
Moderator
 
Stephen Warren's Avatar
 
Join Date: Aug 2005
Posts: 1,327
Default Re: ALSA and GTX 4XX Series

For future reference for anyone reading this thread:

The standard kernel ALSA drivers handle the audio portion of NVIDIA GPUs and chipset.

The NVIDIA binary driver is required to pass some of the monitor information to the audio driver.

X must be running for audio to work.

The latest ALSA drivers and library have a couple issues that prevent all this working in some cases. You'll need a few patches from ALSA git to solve this.

a) For all GPUs, and the MCP89 chipset: You need a fix for the PresenceDetect issue:

http://git.kernel.org/?p=linux/kerne...1cb5fbe7fc9c75

Status:
* In linux-next git
* In linux 2.6.36-rc1
* In linux 2.6.35
* In linux 2.6.34.2

b) For all FERMI GPUs: You need a fix so that the kernel driver knows it can handle the new codec IDs:

http://git.kernel.org/?p=linux/kerne...bf7cef5a942070

Status:
* In linux-next git
* In linux 2.6.36-rc1
* I hope to get this into 2.6.34/2.6.35 stable git soon.

c) The ALSA library and pulseaudio enumerate only a single "high-level" audio device ("PCM") per NVIDIA GPU. However, there are in fact four of them.

The fix for ALSA is at:

http://git.alsa-project.org/?p=alsa-...dd4916121a4f6a

There is no fix for pulseaudio yet, although there was a mailing list discussion where it was agreed that all 4 devices should be exposed.

An alternative is to use the "probe_mask" ALSA module parameter as described on this page:

http://wiki.xbmc.org/?title=HOW-TO_s...20%2C_or_GT240

However, please note that the actual values for probe_mask on that page don't make sense; the correct values you should try are 0x101, 0x102, 0x104, 0x108. You can determine which you need by plugging in your HDMI monitor, starting X, then viewing /proc/asound/card*/eld*. Whichever eld file has your monitor's information in it will tell you which probe_mask to use; eld#0.0 -> 0x101, eld#1.0 -> 0x102, eld#2.0 -> 0x104, eld#3.0 -> 0x108. If you use multiple HDMI monitors and want audio on both, logical/bitwise OR the probe_mask values together. Note that the required probe_mask will change if you move monitors to different connectors on your graphics board.

=====

For Ubuntu, I think both (a) and (b) should be part of the modules described here:
https://wiki.ubuntu.com/Audio/Instal...aDriverModules.

For other distros, the following bugs have been filed:
Ubuntu: https://bugs.launchpad.net/ubuntu/+s...ux/+bug/611810
Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=619873
RHEL 5: https://bugzilla.redhat.com/show_bug.cgi?id=622846
RHEL 6: https://bugzilla.redhat.com/show_bug.cgi?id=619877
Novell/SuSe: https://bugzilla.novell.com/show_bug.cgi?id=627212

=====

I do intend to add the above information to the driver README at some point. However, I'm hoping that the situation will simplify soon (i.e. various distros picking up the patches in their standard repositories, so it'll work automatically etc.)

Last edited by Stephen Warren; 09-10-10 at 12:23 PM. Reason: Add status to patches a/b. Update status with kernel versions
Stephen Warren is offline   Reply With Quote
Old 09-03-10, 09:33 PM   #8
nullack
Registered User
 
Join Date: Oct 2007
Posts: 74
Default Re: ALSA and GTX 4XX Series

L E G E N D A R Y

Thanks Stephen. I am adding to the Ubuntu bug report and will try to put pressure on to have it fixed in Maverick 10.10.
nullack is offline   Reply With Quote

Old 09-04-10, 05:28 AM   #9
Lysius
Registered User
 
Join Date: Oct 2008
Posts: 98
Default Re: ALSA and GTX 4XX Series

Quote:
Originally Posted by Fackamato View Post
You can set permanent device numbers using files in /etc/modprobe.d/<file>.conf I think... (often used for NICs, why not for audio devices?)
I found this great page. The method with the reserved slot for my sound card as a module option to "snd" works as expected.
Lysius is offline   Reply With Quote
Old 10-02-10, 06:36 PM   #10
seaweed
Registered User
 
Join Date: Sep 2009
Posts: 57
Default Re: ALSA and GTX 4XX Series

Quote:
Originally Posted by Stephen Warren View Post
For future reference for anyone reading this thread:

The standard kernel ALSA drivers handle the audio portion of NVIDIA GPUs and chipset.

The NVIDIA binary driver is required to pass some of the monitor information to the audio driver.

X must be running for audio to work.

The latest ALSA drivers and library have a couple issues that prevent all this working in some cases. You'll need a few patches from ALSA git to solve this.

a) For all GPUs, and the MCP89 chipset: You need a fix for the PresenceDetect issue:
Is there a fix for MCP79 and MCP79A chipsets? The latest driver version 260.19.06 broke the HDMI audio on the Ion (no mode /dev/audio). Attached is the log file.
Attached Files
File Type: gz nvidia-bug-report.log.hdmi.audio.broken.gz (40.7 KB, 139 views)
seaweed is offline   Reply With Quote
Old 10-02-10, 06:45 PM   #11
Fackamato
User
 
Join Date: Mar 2005
Posts: 366
Default Re: ALSA and GTX 4XX Series

hm?

Code:
fackamato@ion:~$ dmesg|grep NVRM;uname -a;aplay -l
NVRM: loading NVIDIA UNIX x86 Kernel Module  260.19.06  Mon Sep 13 06:35:06 PDT 2010
Linux ion 2.6.35-ARCH #1 SMP PREEMPT Mon Sep 27 11:35:18 UTC 2010 i686 Intel(R) Atom(TM) CPU 330 @ 1.60GHz GenuineIntel GNU/Linux
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: VT1708S Analog [VT1708S Analog]
  Subdevices: 1/2
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
card 0: NVidia [HDA NVidia], device 1: VT1708S Digital [VT1708S Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
Works fine here!
Fackamato is offline   Reply With Quote
Old 10-03-10, 03:51 PM   #12
seaweed
Registered User
 
Join Date: Sep 2009
Posts: 57
Default Re: ALSA and GTX 4XX Series

Quote:
Originally Posted by Fackamato View Post
hm?

Code:
fackamato@ion:~$ dmesg|grep NVRM;uname -a;aplay -l
NVRM: loading NVIDIA UNIX x86 Kernel Module  260.19.06  Mon Sep 13 06:35:06 PDT 2010
Linux ion 2.6.35-ARCH #1 SMP PREEMPT Mon Sep 27 11:35:18 UTC 2010 i686 Intel(R) Atom(TM) CPU 330 @ 1.60GHz GenuineIntel GNU/Linux
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: VT1708S Analog [VT1708S Analog]
  Subdevices: 1/2
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
card 0: NVidia [HDA NVidia], device 1: VT1708S Digital [VT1708S Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
Works fine here!
Hmm I am using 2.6.31 kernel - perhaps that ? I will try recompiling alsa. BTW what creates the /dev/audio - is it the alsa driver?
seaweed is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 08:51 PM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.