|Subject:||UT2004 sound problem|
|From:||Karel J. Bosschaart (kar...@kayjay.xs4all.nl)|
|Date:||Mar 31, 2004 5:14:17 pm|
On Wed, Mar 31, 2004 at 12:42:06PM -0500, Mathew Kanner wrote:
On Mar 31, Karel J. Bosschaart wrote:
Got my UT2004 DVD yesterday :-), but I have a problem with the sound: it plays too slow, which makes the game unplayable. This is on -stable (as of today). Relevant messages (other lines omitted) from UT2004:
fcntl: No such device or address ioctl SETFRAGMENT: Invalid argument <snip> native_blitbuffer: select error occured <snip>
the last message occurs when exiting UT2004. The process ut2004-bin is stuck in 'pcmsyn' state and I have to kill it.
In -current (same machine) sound is OK, and I only get the 'fcntl' message.
The sound in both UT2003 and UT2004 demo is working well on -stable. Things I tried:
- using my second sound card: same problem. - copying openal.so from UT2003 and UT2004 demo to UT2004: no error messages anymore, but also no sound. - this obscure sequence makes the sound work properly: 1. reboot machine 2. start UT2004 demo, and quit after watching the intro 3. start UT2004. Now the sound is OK...
Since the game has the tendency to crash quite often (once in 2 hours or so), I have to do this all over again because I found no other way to get the sound right after the game crashed.
I'm going to try the OSS commercial driver (it helped me often with sound problems in Linux games) but I prefer to use the pcm driver.
I notice that you don't mention the sound card type. Also, I
Thanks for the quick reply!
My sound devices:
pcm0: <CMedia CMI8738> at io 0xa400 irq 10 (1p/1r/0v channels duplex default) pcm1: <Avance Logic ALS4000> at io 0xa000 irq 9 (1p/1r/0v channels duplex)
Both sound cards have the same problem.
would suggest that you play with enabling, disabling vchans and see if
sysctl hw.snd.pcm0.vchans=4 sysctl hw.snd.maxautovchans=4
but it doesn't help. I'm getting a bunch of extra
native_blitbuffer: select error occured
it helps. After that, you can try some patches that are floating around that limit the fragment size.
Could you provide a pointer to those patches? I googled around for a while but didn't find anything relevant.
Also, I tried the following http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/sound/pcm/dsp.c?rev=1.64&content-type=text/x-cvsweb-markup
in dsp.c of -stable. Although the 'ioctl SETFRAGMENT: Invalid argument' does not appear anymore, the sound is still messed up. Even worse, the trick with first starting the demo doesn't work anymore, so I reverted back to the original dsp.c .