Are There Any Modern Linux Distributions That Still Support /Dev/Audio?
I'm in the Process of Trying to Debug a Program That Uses the Legacy Oss /Dev/Audio Interface to Play Sounds. However, Ubuntu and Others No Longer Include a...
I'm in the process of trying to debug a program that uses the legacy OSS /dev/audio interface to play sounds. However, Ubuntu and others no longer include a /dev/audio interface. Are there any relatively-modern Linux distributions that I could download in a virtual machine to test with?
2 Answers
If your computer uses PulseAudio (Ubuntu does), run the program via padsp:
padsp yourprogram
It will intercept attempts to open /dev/audio, /dev/dsp, and other related devices (using a LD_PRELOAD shared library) and send the sound directly to PulseAudio.
For systems that use plain ALSA, the equivalent is aoss from the "alsa-oss" package.
aoss yourprogram
aoss should work on Ubuntu too, since by default ALSA itself is rerouted through PulseAudio, but better use padsp in that case.
Most kernels also have the snd-pcm-oss module, which provides real /dev/dsp and /dev/audio devices using ALSA:
sudo modprobe snd-pcm-oss
yourprogram
I've heard it doesn't work as good as aoss, though, and I'm not sure whether it works at all when PulseAudio is running.
Support from /dev/audio was removed in Linux kernel version 4.15, so you want to look for a disto such as CentOS 7.x or anything based on an older kernel. Make sure you install the snd-pcm-oss and snd-mixer-oss kernel modules using modprobe.