I finally managed to get the sound working on this slackware64 htpc machine with a nvidia gt430. after several weeks of search and googling, I've managed to get the sound working on the default device. Just for the sake of information, it involved compiling, installing and patching the latest alsa, create a .asoundrc file with this in it:
and adding this line to /etc/modprobe.d/nvidia-config.conf
options snd-hda-intel enable_msi=0 probe_mask=0x108
Lots of efforts just to get sound... the fermi cards are not well supported on linux at all...
Now on with the problems I am experiencing with alsa:
1-Mplayer (GUI) complains about a problem with alsa. When I open a file, I see a error message saying:
[AO_ALSA] Mixer attach default error: Invalid argument
The audio output under the options is set to the following settings:
Under "Configure driver":
Mixer channel=driver default
Nothing else is activated. I tried to activate/deactivate pretty much every option, play around with the settings, nothing to do. I dont have this problem with the CLI version of mplayer.
2-VLC complains when starting playback:
Potential ALSA version problem:
VLC failed to initialize your sound output device (if any).
Please update alsa-lib to version 1.0.23-2-g8d80d5f or higher to try to fix this issue.
I right now have alsa-lib 1.0.23 installed. I cant find 1.0.23-2-g8d80... as vlc recommends... Any pointers?
3-When playing a song in Clementine (music player), if I double click on a different song in the playlist, Clementine will complain that the sound device is being used by another application:
Could not open audio device for playback. Device is being used by another application.
the current song will fade out, and the error will be displayed. It happens only if the option "Cross fade when manually changing tracks" under preferences. If this option is deactivated, the player will stop playing the current song and start the playback of the other song without problems.
4-In XFCE, the mixer is strangely configured. In the drop down menu "sound card" I have HDA NVidia (Alsa mixer) & NVidia GPU 14 HDMI/DP (OSS Mixer).
When HDA NVidia (Alsa mixer) is selected, I have a tab called "Switches" with only one checkbox called IEC958. If NVidia GPU 14 HDMI/DP (OSS Mixer) is selected, I have a tab called "Playback" and one sslider in it called Digital-1.
Changing the volume level with this slider works, but the mixer icon in the system tray will not represent the volume level set with this slider.
I dont know what is "IEC958" and what is it used for, and the mixer icon in the system tray always indicate no volume as there is no "blue" waves on it. Changing this (by bringing the mouse cursor over it and scrolling with the wheel) wont affect the sound volumes. It seems that the slider bar (Digital-1) in the mixer (under Playback) is not linked to the sound level of the mixer icon...
bash-4.1$ cat /proc/asound/cards
0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xfcf7c000 irq 19
bash-4.1$ cat /proc/asound/devices
2: : timer
3: [ 0- 3]: digital audio playback
4: [ 0- 3]: hardware dependent
5: [ 0] : control
6: : sequencer
bash-4.1$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevice #0: subdevice #0
Any help, comments, pointers of hints will be very appreciated.