Bugzilla – Bug 119630
No sound in games (game crashes)
Last modified: 2007-02-16 14:11:02 UTC
I tested some games on Suse 10.0 RC1, and there occur some strange sound (card) problems, which did not occur in Suse 9.3. Game 1, Neverball: dominik@natrix:~> neverball SNDCTL_DSP_SETFRAGMENT: Invalid argument Warning: Couldn't set audio fragment size Audio write: Invalid argument Game 2, Unreal Tournament 2004: dominik@natrix:~> ut2004 ioctl SETFRAGMENT grab: Invalid argument ut2004-bin: al_mixer.c:735: _alSetMixer: Assertion `mixbuf.data' failed. Signal: SIGIOT [iot trap] Aborting. The UT2004.log says: Developer Backtrace: Log: [ 1] ./ut2004-bin [0xac202d] Log: [ 2] /lib64/tls/libpthread.so.0 [0x2aaaaacd22c0] Log: [ 3] /lib64/tls/libc.so.6(gsignal+0x3a) [0x2aaaab3a43ea] Log: [ 4] /lib64/tls/libc.so.6(abort+0x100) [0x2aaaab3a5820] Log: [ 5] /lib64/tls/libc.so.6(__assert_fail+0x10b) [0x2aaaab39da9b] Log: [ 6] ./openal.so [0x2aaaaf237081] Log: [ 7] ./openal.so [0x2aaaaf25c373] Log: [ 8] ./openal.so(alcMakeContextCurrent+0x87) [0x2aaaaf25b1c7] Log: [ 9] ./ut2004-bin(_ZN17UALAudioSubsystem4InitEv+0x22b) [0xcd7bcb] Log: [10] ./ut2004-bin(_ZN7UEngine9InitAudioEv+0xd5) [0x6387c5] Log: [11] ./ut2004-bin(_ZN11UGameEngine4InitEv+0xe2f) [0x6520ef] Log: [12] ./ut2004-bin [0x510674] Log: [13] ./ut2004-bin(main+0x29a5) [0x50bfa5] Log: [14] /lib64/tls/libc.so.6(__libc_start_main+0xda) [0x2aaaab39255a] Log: [15] ./ut2004-bin(strcat+0xb2) [0x50942a] Log: Unreal Call Stack: alcMakeContextCurrent <- UALAudioSubsystem::Init <- UEngine::InitAudio <- UGameEngine::Init <- InitEngine Exit: Exiting. And there is another strange thing: If I made some changes in the KDE Control Center -> Sound System, and I want to apply them, there's a popup "Starting Soundserver" and nothing more happens, the popup does not disappear any more, I have to cancel it. And if I click on "Test Sound" in the control center, an error occurs: The Soundserver (artsd) crashes with signal 11: Using host libthread_db library "/lib64/tls/libthread_db.so.1". (no debugging symbols found) ... [Thread debugging using libthread_db enabled] [New Thread 46912533913440 (LWP 9406)] (no debugging symbols found) ... [KCrash handler] #3 0x00002aaaaad99444 in Arts::PlayObject_base::_create () from /opt/kde3/lib64/libkmedia2_idl.so.1 #4 0x0000000000412510 in ?? () #5 0x000000000040e45b in ?? () #6 0x00002aaaaac1bc2e in Arts::ByteSoundReceiver::_Creator () from /opt/kde3/lib64/libsoundserver_idl.so.1 #7 0x00002aaaab9ef2c6 in Arts::Dispatcher::handle () from /opt/kde3/lib64/libmcop.so.1 #8 0x00002aaaab9eff1f in Arts::Connection::receive () from /opt/kde3/lib64/libmcop.so.1 #9 0x00002aaaab9f00a8 in Arts::Connection::receive () from /opt/kde3/lib64/libmcop.so.1 #10 0x00002aaaab9d6470 in Arts::StdIOManager::processOneEvent () from /opt/kde3/lib64/libmcop.so.1 #11 0x00002aaaab9d0e06 in Arts::StdIOManager::run () from /opt/kde3/lib64/libmcop.so.1 #12 0x00000000004149ad in ?? () #13 0x00002aaaacca555a in __libc_start_main () from /lib64/tls/libc.so.6 #14 0x000000000040cdba in ?? () #15 0x00007ffffffd43b8 in ?? () #16 0x00002aaaaabc19c0 in rtld_errno () from /lib64/ld-linux-x86-64.so.2 #17 0x000000000000000e in ?? () ... Unfortunately I can't isolate the error. Is it an arts/alsa bug, kernel, or sound driver, I don't know. My hardware: AMD64, Soundchip (onBoard): VIA VT8237 (Driver: snd-via82xx)
First, don't use arts. It's obsolete. On VIA8237, you can play up to 4 streams at the same time. But, it might be a bug of knotify that grabs the all sound devices. Check "fuser /dev/snd/pcmC0D?p" to see which process openes the ALSA PCM devices. Check also "fuser /dev/dsp", too. Basically, there is no big change regarding OSS emulation. So, I'm wondering why UT doesn't work now. For the precise analysis, you can try strace. Or, you may run with aoss wrapper to emulate OSS on user-space. The segfault of arts might have been fixed. Try to update later after the final version is released (or try 10.1 alpha). Anyway, remember that 3rd party programs are not the target of support :)
No reaction on this bug for a long time. Closing as CANTFIX.