Bugzilla – Bug 131794
ALSA emu10k1 driver - strange behaviour for OSS emulation
Last modified: 2006-02-26 20:37:46 UTC
It seems, there is some problem in sound subsystem. Sound in some applications (especially games - for.ex. Tuxracer, TORCS, etc...) does not work. But sound in KDE applications (and KDE system sounds also) works OK. There is following message on the console after application start (from command line): SNDCTL_DSP_SETFRAGMENT: Invalid argument Warning: Couldn't set audio fragment size Audio write: Invalid argument May be there is some problem in KDE sound daemon - reconfiguration attempts in the KDE Control Center ends in endless loop (periodicaly sound system restarts). My sound card: Sound Blaster Live! (CT4832).
Could you give me strace output for one of the problematic application? 'strace -fe trace=ioctl,open <command>'
(In reply to comment #1) > Could you give me strace output for one of the problematic application? 'strace > -fe trace=ioctl,open <command>' > For example: open("/etc/ld.so.cache", O_RDONLY) = 3 open("/usr/lib/libSDL-1.2.so.0", O_RDONLY) = 3 open("/lib/tls/libpthread.so.0", O_RDONLY) = 3 open("/usr/lib/libSDL_image-1.2.so.0", O_RDONLY) = 3 open("/usr/lib/libSDL_mixer-1.2.so.0", O_RDONLY) = 3 open("/lib/tls/libc.so.6", O_RDONLY) = 3 open("/usr/lib/libstdc++.so.6", O_RDONLY) = 3 open("/lib/tls/libm.so.6", O_RDONLY) = 3 open("/lib/libdl.so.2", O_RDONLY) = 3 open("/usr/X11R6/lib/libX11.so.6", O_RDONLY) = 3 open("/usr/X11R6/lib/libXext.so.6", O_RDONLY) = 3 open("/usr/lib/libaa.so.1", O_RDONLY) = 3 open("/usr/lib/libjpeg.so.62", O_RDONLY) = 3 open("/usr/lib/libpng.so.3", O_RDONLY) = 3 open("/lib/libz.so.1", O_RDONLY) = 3 open("/usr/lib/libvorbisfile.so.3", O_RDONLY) = 3 open("/usr/lib/libvorbis.so.0", O_RDONLY) = 3 open("/usr/lib/libogg.so.0", O_RDONLY) = 3 open("/usr/lib/libmikmod.so.2", O_RDONLY) = 3 open("/lib/libgcc_s.so.1", O_RDONLY) = 3 open("/usr/lib/libslang-utf8.so.1", O_RDONLY) = 3 open("/usr/lib/libgpm.so.1", O_RDONLY) = 3 open("/lib/libncurses.so.5", O_RDONLY) = 3 open("/home/mhejpetr/.circuslinux", O_RDONLY) = 3 open("/home/mhejpetr/.Xauthority", O_RDONLY) = 4 open("/home/mhejpetr/.Xauthority", O_RDONLY) = 4 open("/home/mhejpetr/.Xauthority", O_RDONLY) = 5 open("/etc/ld.so.cache", O_RDONLY) = 5 open("/lib/tls/i686/tm/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/tls/tm/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/tls/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/i686/tm/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/i686/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/tm/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/tls/i686/tm/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/tls/i686/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/tls/tm/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/tls/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/i686/tm/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/i686/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/tm/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/libXcursor.so.1.0.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 5 open("/lib/tls/libXcursor.so.1.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/i686/libXcursor.so.1.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/libXcursor.so.1.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/tls/libXcursor.so.1.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/libXcursor.so.1.0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 5 open("/usr/X11R6/lib/libXcursor.so.1", O_RDONLY) = 5 open("/usr/X11R6/lib/libXrender.so.1", O_RDONLY) = 5 open("/usr/X11R6/lib/X11/locale/locale.alias", O_RDONLY) = 5 open("/usr/X11R6/lib/X11/locale/locale.dir", O_RDONLY) = 5 open("/usr/X11R6/lib/X11/locale/C/XI18N_OBJS", O_RDONLY) = 5 open("/usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2", O_RDONLY) = 5 open("/usr/X11R6/lib/X11/locale/locale.alias", O_RDONLY) = 5 open("/usr/X11R6/lib/X11/locale/locale.dir", O_RDONLY) = 5 open("/usr/X11R6/lib/X11/locale/C/XLC_LOCALE", O_RDONLY) = 5 open("/home/mhejpetr/.Xdefaults-trantor", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dsp", O_WRONLY|O_NONBLOCK) = 5 open("/dev/dsp", O_WRONLY|O_NONBLOCK) = 5 ioctl(5, SNDCTL_DSP_GETFMTS, 0xbfe89c88) = 0 ioctl(5, SNDCTL_DSP_SETFMT or SOUND_PCM_READ_BITS, 0xbfe89c88) = 0 ioctl(5, SOUND_PCM_READ_CHANNELS, 0xbfe89c88) = 0 ioctl(5, SNDCTL_DSP_SPEED or SOUND_PCM_READ_RATE, 0xbfe89c88) = 0 ioctl(5, SNDCTL_DSP_SETFRAGMENT, 0xbfe89c84) = -1 EINVAL (Invalid argument) SNDCTL_DSP_SETFRAGMENT: Invalid argument Warning: Couldn't set audio fragment size Process 6527 attached [pid 6526] open("/etc/ld.so.cache", O_RDONLY) = 6 [pid 6526] open("/usr/lib/libesd.so", O_RDONLY) = 6 [pid 6526] open("/usr/lib/libaudiofile.so.0", O_RDONLY) = 6 [pid 6526] open("/usr/lib/libasound.so.2", O_RDONLY) = 6 [pid 6526] open("/lib/libresmgr.so.1", O_RDONLY) = 6 [pid 6526] open("/etc/esd.conf", O_RDONLY) = 6 [pid 6526] open("/home/mhejpetr/.esd.conf", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 6526] open("/dev/dsp", O_WRONLY) = -1 EBUSY (Device or resource busy) [pid 6526] open("music.raw", O_RDWR|O_CREAT|O_TRUNC, 0600) = 6 [pid 6526] open("/etc/timidity.cfg", O_RDONLY) = 7 [pid 6526] open("/usr/share/timidity/timidity.cfg", O_RDONLY) = 8 [pid 6526] open("piano+guitar.cfg", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 6526] open("/usr/share/timidity/piano+guitar.cfg", O_RDONLY) = 9 [pid 6526] open("drums.cfg", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 6526] open("/usr/share/timidity/drums.cfg", O_RDONLY) = 9 [pid 6526] ioctl(3, FIONREAD, [0]) = 0 [pid 6526] ioctl(3, FIONREAD, [352]) = 0 [pid 6526] open("/usr/share/circuslinux/data/images/icon.png", O_RDONLY) = 7 [pid 6526] open("/usr/share/circuslinux/data/images/title/title.png", O_RDONLY) = 7 Audio write: Invalid argument Process 6527 detached open("/usr/share/circuslinux/data/images/title/title-highlights.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/title/light-on.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/title/light-off.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/title/programming.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/title/graphics.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/title/music.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/backgrounds/background0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/backgrounds/background1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/red-left-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/red-left-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/red-right-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/red-right-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/red-die-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/red-die-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/orange-left-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/orange-left-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/orange-right-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/orange-right-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/orange-die-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/orange-die-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/yellow-left-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/yellow-left-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/yellow-right-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/yellow-right-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/yellow-die-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/yellow-die-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/green-left-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/green-left-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/green-right-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/green-right-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/green-die-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/green-die-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/cyan-left-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/cyan-left-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/cyan-right-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/cyan-right-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/cyan-die-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/cyan-die-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/blue-left-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/blue-left-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/blue-right-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/blue-right-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/blue-die-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/blue-die-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/purple-left-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/purple-left-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/purple-right-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/purple-right-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/purple-die-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/purple-die-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/white-left-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/white-left-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/white-right-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/white-right-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/white-die-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/balloons/white-die-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/body-left.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/body-right.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/body-upside-down.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/left-arm-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/left-arm-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/left-arm-2.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/right-arm-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/right-arm-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/right-arm-2.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/left-leg-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/left-leg-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/left-leg-0-upside-down.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/left-leg-1-upside-down.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/right-leg-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/right-leg-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/right-leg-0-upside-down.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/clowns/right-leg-1-upside-down.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/teeter-totter/left-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/teeter-totter/left-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/teeter-totter/left-2.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/teeter-totter/left-3.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/teeter-totter/right-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/teeter-totter/right-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/teeter-totter/right-2.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/teeter-totter/right-3.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/bouncers/bouncer-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/bouncers/bouncer-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/bouncers/barrier.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/status/times.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/status/numbers-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/status/numbers-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/status/letters.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/status/fuzz.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/status/clown-head.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/status/clown-head-oh.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/status/sadclown-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/status/sadclown-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/status/sadclown-2.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/status/enter-initials.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/highscore/top.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/highscore/left.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/acts/seal-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/acts/seal-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/acts/beachball-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/acts/beachball-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/acts/beachball-2.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/acts/bear-right-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/acts/bear-right-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/acts/bear-left-0.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/images/acts/bear-left-1.png", O_RDONLY) = 7 open("/usr/share/circuslinux/data/sounds/pop.wav", O_RDONLY) = 7 open("/usr/share/circuslinux/data/sounds/bounce.wav", O_RDONLY) = 7 open("/usr/share/circuslinux/data/sounds/teeter1.wav", O_RDONLY) = 7 open("/usr/share/circuslinux/data/sounds/teeter2.wav", O_RDONLY) = 7 open("/usr/share/circuslinux/data/sounds/splat.wav", O_RDONLY) = 7 open("/usr/share/circuslinux/data/sounds/applause.wav", O_RDONLY) = 7 open("/usr/share/circuslinux/data/sounds/cheering.wav", O_RDONLY) = 7 open("/usr/share/circuslinux/data/sounds/wahoo.wav", O_RDONLY) = 7 open("/usr/share/circuslinux/data/sounds/keypress.wav", O_RDONLY) = 7 open("/usr/share/circuslinux/data/music/finally.mod", O_RDONLY) = 7 open("/usr/share/circuslinux/data/music/finally.mod", O_RDONLY) = 7 open("/usr/share/circuslinux/data/music/klovninarki.mod", O_RDONLY) = 7 open("/usr/share/circuslinux/data/music/klovninarki.mod", O_RDONLY) = 7 open("/usr/share/circuslinux/data/music/kaupunki.mod", O_RDONLY) = 7 open("/usr/share/circuslinux/data/music/kaupunki.mod", O_RDONLY) = 7 open("/usr/share/circuslinux/data/music/hiscore.mod", O_RDONLY) = 7 open("/usr/share/circuslinux/data/music/hiscore.mod", O_RDONLY) = 7 open("/usr/share/circuslinux/data/music/hiscreen.mod", O_RDONLY) = 7 open("/usr/share/circuslinux/data/music/hiscreen.mod", O_RDONLY) = 7 ioctl(3, FIONREAD, [64]) = 0 ioctl(3, FIONREAD, [96]) = 0 ioctl(3, FIONREAD, [96]) = 0 ioctl(3, FIONREAD, [32]) = 0 ioctl(3, FIONREAD, [96]) = 0 ioctl(3, FIONREAD, [32]) = 0 ioctl(3, FIONREAD, [96]) = 0 ioctl(3, FIONREAD, [64]) = 0 ioctl(3, FIONREAD, [64]) = 0 ioctl(3, FIONREAD, [32]) = 0 open("/home/mhejpetr/.circuslinux", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 7
Hi, I have tested Mplayer now. From my point of view (_I_am_not_ALSA_expert_) there is some bug in the Alsa OSS emulation ?? - Mplayer's sound works OK with the ALSA audio output driver - Mplayer's sound does not work with the OSS audio output driver Message on the console after Mplayer (with the OSS ao driver) startup from command line: ... Checking audio filter chain for 48000Hz/2ch/s16le -> 48000Hz/2ch/s16le... AF_pre: 48000Hz/2ch/s16le [AO OSS] audio_setup: driver doesn't support SNDCTL_DSP_GETOSPACE :-( [AO OSS] *** Your audio driver DOES NOT support select() *** Recompile MPlayer with #undef HAVE_AUDIO_SELECT in config.h ! ... Unfortunately there are many applicatons without native ALSA audio output (e.g. games, which are part of the SuSE distro (!)) - OSS emulation is needed. Thank you for your help.
It seems that this problem is only related only to the ca0106 driver - there are strange contrains regarding the buffer sizes. I will try to reproduce the problem here.
(In reply to comment #4) > It seems that this problem is only related only to the ca0106 driver - there > are strange contrains regarding the buffer sizes. I will try to reproduce the > problem here. > But my sound card is old Sound Blaster Live! (Model: "Creative CT4832 SBLive! Value"). No SB Audigy LS or SB Live! 24bit. I think, there is EMU10K1-driver used ??
I found similar problem reported to Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=127766
Any news on bug 131794 ?
Yes, you're right. The emu10k1 driver is used in your case. Unfortunately, I cannot reproduce the bug here. Could you get the ALSA driver 1.0.10 from the ALSA's website and enable OSS emulation debugging in alsa-driver/alsa-kernel/core/oss/pcm_oss.c - look for disabled OSS_DEBUG #define? Also, you have to install kernel-source rpm and follow the instruction for BUILDING ADDITIONAL (EXTERNAL) MODULES in README.SUSE file in /usr/src/linux-*/ directory to prepare kernel for the external driver compilation. The steps for the driver compilation: ./configure --with-cards=emu10k1 make cd utils ./insert emu10k1 To restore the original sound settings after tests, edit the /etc/modprobe.d/sound file (uncomment the alias line).
No response.
I am sorry for my delayed response.... Now I have installed the alsa emu10k1 driver from 1.0.10 source code, there is the same problem as with driver from SUSE 10.0 binary packages. But there is now interesting message in the system log (/var/log/messages) from sound subsystem initialization (lines with "unable to register..."). See below. Hopefully it can help you. ... Jan 19 20:35:33 trantor kernel: ALSA /root/tmp/alsa/alsa-driver-1.0.10/acore/oss/mixer_oss.c:1317: unable to register OSS mixer device 0:0 Jan 19 20:35:33 trantor kernel: snd_pcm_oss: module not supported by Novell, setting U taint flag. Jan 19 20:35:33 trantor kernel: ALSA /root/tmp/alsa/alsa-driver-1.0.10/acore/oss/pcm_oss.c:2484: unable to register OSS PCM device 0:0 ...
WONTFIX is not acceptable for such a fundamental bug.
The solution is to disable the open sound system in the kernel. In the SuSE default kernel configuration it is enabled as a loadable module. Remove CONFIG_SOUND_OSS=m from your kernel configuration (or use make xconfig or make menuconfig to do this). I have rebuild and installed the kernel. All applications like supertux, VMware etc. which are programmed for OSS are running now with sound. Hopefully the SuSE team will change this option in their kernel, so that I will not have to rebuild the kernel after each kernel update (and other users too).
*** Bug 127766 has been marked as a duplicate of this bug. ***