DOOM sound bug workaround

Steve VanDevender (stevev@efn.org)
Fri, 3 Jan 1997 23:43:58 -0800


For quite a while, I've had a problem with DOOM where the sound stops
and the sound driver to emit messages like this after some random amount
of play:

linux: Sound: DMA (output) timed out - IRQ/DRQ config error?

This has been happening at least since 1.2.13. Everyone's tried to
convince me it's some kind of hardware problem, but I know that DMA
works with my SCSI card completely reliably.

So recently I had the idea that I might try using strace on the DOOM
sndserver process to try to get some more information on what might be
happening when it stops being able to do sound. I renamed the sndserver
process and replaced it with a shell script that invokes strace on the
renamed sndserver directing the strace output to a log file.

When I strace the sndserver process I have so far _never_ had the sound
problem happen again. If I put the original sndserver back the problem
returns. If I use a shell script that instead just puts an intervening
"cat" or "tee" between DOOM and the sndserver the sound problem also
occurs. If I even just run strace and direct the strace output to
/dev/null the problem doesn't occur.

So now I have a workaround for my problem. I've even let DOOM run in
demo mode for as long as an hour with the straced sndserver and played
lengthy games without any problems. But it's really odd that this
should somehow prevent what could be a hardware problem or kernel bug
from triggering.