[ANOTHER SOLUTION]
I also had the issue where there was no "system ready" or "login" sound, but sound would be fine once logged in. This was with a fresh install of Linux Mint 13 MATE edition (64bit). It turns out to be because I have a USB sound card (an external Lexicon Omega).
The reason it works once logged in is because PulseAudio was selecting the correct sound card (the only one available). But the login screen (mdm) is running as root and is not configured to use PulseAudio. It is therefor trying to play the audio directly using ALSA.
When I tried to play a wav directly using ALSA, using the aplay command as root, I received the following error:-
- Code: Select all
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4720:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default
play FAIL formats: can't open output file `default': snd_pcm_open error: No such file or directory
So then I listed the audio devices:
- Code: Select all
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: Omega [Lexicon Omega], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Omega [Lexicon Omega], device 1: USB Audio [USB Audio #1]
Subdevices: 1/1
Subdevice #0: subdevice #0
Here you can see the soundcard is card 1. There is no card 0.
To fix this I edited
/etc/modprobe.d/alsa-base.conf and changed the line:-
- Code: Select all
options snd-usb-audio index=-2
to
- Code: Select all
options snd-usb-audio index=0
Also note that my system had this line twice for some reason, so I just commented out the one at the end of the file. Finally rebooted and it all worked.