The emu10k1 and trident sound drivers are split into two modules -- snd-emu10k1 + snd-emu10k1-synth and snd-trident + snd-trident-synth. The synth-free modules drive PCM output, the synth modules deal with wave table synthesis. If the synth modules are not loaded, synth output isn't possible. Unfortunately, nothing in Fedora ever configures them to be loaded when their cooresponding synth-free modules are loaded.
Either kudzu or the initscripts should set that up.
See modprobe.conf.dist: install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && /sbin/modprobe snd-emu10k1-synth Does that not work for you?
lsmod | grep snd snd_emu10k1 99301 2 snd_rawmidi 29153 1 snd_emu10k1 snd_seq_device 11345 2 snd_emu10k1,snd_rawmidi snd_ac97_codec 85473 1 snd_emu10k1 snd_pcm_oss 59381 0 snd_mixer_oss 21185 2 snd_pcm_oss snd_pcm 109769 3 snd_emu10k1,snd_ac97_codec,snd_pcm_oss snd_timer 28617 1 snd_pcm snd_page_alloc 12873 2 snd_emu10k1,snd_pcm snd_util_mem 6721 1 snd_emu10k1 snd_hwdep 11977 1 snd_emu10k1 snd 62729 11 snd_emu10k1,snd_rawmidi,snd_seq_device,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_hwdep soundcore 12385 2 snd Apparently not.
Actually, if I had to guess, I'd say that modprobe will only allow one install directive per module, and the last one wins -- which is the install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && /usr/sbin/alsactl restore >/dev/null 2>&1 || : found in /etc/modprobe.conf and not the stanza from /etc/modprobe.conf.dist
*** Bug 143314 has been marked as a duplicate of this bug. ***
If you remove the 'install' line from /etc/modprobe.conf: a) does it solve the loading issue? b) do mixer savings still get restored correctly?
(In reply to comment #6) > If you remove the 'install' line from /etc/modprobe.conf: > > a) does it solve the loading issue? yes > b) do mixer savings still get restored correctly? yes, although I haven't the slighest idea what loads them... Hmm. apparently /etc/dev.d/sound/alsa.dev is loading them and /etc/init.d/halt is saving them, so the kudzu-provided install/remove lines in /etc/modprobe.conf are both unnecessary and detrimental.
However, snd-seq-oss doesn't get loaded. /etc/modprobe.conf.dist has install snd-pcm-device /sbin/modprobe --ignore_install snd-seq-device && /sbin/modprobe snd-seq-oss but (afaict) snd-pcm-device doesn't actually exist. Replacing that with install snd-seq /sbin/modprobe --ignore-install snd-seq && /sbin/modprobe snd-seq-oss fixes the problem. (Although, it may be that snd-pcm-device was a typo for snd-seq-device; I have no idea how the maze of ALSA modules is supposed to fit together and I only tested with snd-seq, not snd-seq-device). Should I file a new bug on module-init-tools, or is this adequate?
The remove line is ok. Nothing actually removes it in a default config, though. As to the seq-oss line: a) that's a typo b) it's still wrong, as you really want that to be loaded by default. It probably should just piggyback on the snd-pcm line, so it gets loaded for any sound device. kudzu-1.1.113-1 doesn't write install lines any more, which should solve this. module-init-tools-3.1-3 will change the snd-seq line.