I am experiencing audio problem in my new arch linux system on my custom build PC.
I have
- HDMI audio (built in BenQ display)
- NVIDIA GeForce GTX950 video card
- On board sound device (msi 970a 46g)
My problems are
- can’t hear sound from front panel headphones
- can’t hear sound from HDMI monitor
audio related issues on arch linux forum
https://bbs.archlinux.org/viewtopic.php?pid=1446773#p1446773
https://bbs.archlinux.org/viewtopic.php?id=186672
https://bbs.archlinux.org/viewtopic.php?id=125092
I googled and read several arch linux forum and stackoverflow pages but still have no success.
Now I will follow this how to.
Diagnosing the issue
Basically commands below to diagnose the issue returns no problem. The system recognise on board sound card and Nvidia video card.
$ aplay -l
$ aplay -L
$ ls /dev/snd
$ ls /proc/asound/
$ lsmod | grep snd
So the problem should be that my configuration is not good. Obviously, aplay -L
suggests that default card is not Nvidia so I should make Nvidia card to default.
Speaker test
However I couldn’t make speaker test success. If proper speaker test fail on NVidia card, changing default sound card will not solve the problem. So I need to get sound from BenQ monitor speaker first. After reading several on the web like these (https://www.mythtv.org/wiki/Using_ALSA‘s_speaker-test_utility, ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html), this speaker test works finally!
$ speaker-test -Dhdmi:NVidia,1 -c 2
I noticed device 1 is my BenQ monitor because cat /proc/asound/card1/eld#0.1
says so. (I noticed this while reading this manual) Other eld#0.0 eld#0.2 eld#0.3 say there’s no monitor presented because I connected only one BenQ monitor.
Now I am sure that my monitor speaker connected to NVidia card via HDMI cable works fine.
I try make NVidia card as default sound card and make the system to output sound.
First I set default sound card by setting /etc/modprobe.d/alsa-base.conf
like this.
options snd-hda-intel index=1,0
now when I reboot the system, the output of aplay -l
aplay -L
show now card0 is NVidia card not mobo HDA ATI SB. But I still can’t hear sound.
Next I need to set default sound device. I set /etc/asound.conf
like this.
# default.pcm.card 0
default.pcm.device 7
first line may not be needed because I already set default sound card in /etc/modprobe.d/alsa-base.conf
so I commented that line out.
In second line I choose pcm device 7 because cat /proc/asound/card0/eld#0.1
says second device is my BenQ monitor and aplay -l
says second device is device 7.
I rebooted the system and now I can hear sound from my monitor!
Written with StackEdit.