Meanwhile, OSS on FreeBSD just worked.
Meanwhile, OSS on FreeBSD just worked.
I still roll my eyes and I don’t get surprised every couple of years when somebody releases a yet another Linux audio daemon.
Maybe it’s some kind of Linux tradition.
At least PipeWire is saner compared to PulseAudio.
You seem to be stuck in, oh, maybe 2008.
There hasn't been "yet another Linux audio daemon" in more than a decade. JACK came along in the early 2000's (I wrote it), and PulseAudio in 2004 or thereabouts. All that nonsense with esd, artsd etc. was over because the aughts were over.
While it supports the same APIs as Pulseaudio, it's still a new audio (and video) daemon.
Even though i don't do audio on Linux.
I don't get why this was never fixed at the kernel level. You have onions of layers.
It is the audio solution for Linux.
PipeWire does video too, and when combined with a compatible Wayland compositor, serves as a replacement for remote X11.
Don't worry, THIS time we got right FOR SURE.
FWIW, I have recently switched from PulseAudio to PipeWire. I remembered how rough the switch from plain ALSA to PulseAudio was, and thus was utterly baffled how smooth the transition to PipeWire is. I just uninstalled PulseAudio, installed PipeWire, rebooted, and everything just worked, down to the Bluetooth headset that I never quite got to work well with PulseAudio.
It is really important to run a sound daemon with realtime privileges. This is the only way to ensure no cracks.
In what way?
There were (and are) many problems with the OSS API, a number of which continue to exist in the ALSA API too.
All serious audio APIs (plugins, or native audio I/O) use a pull model at the bottom of the stack, so that i/o is driven by the hardware. You can layer a push model (where software does blocking read/write calls whenever it wants) on top of that, but not the other way around.
And yes, OSS and ALSA both implement select/poll etc. for audio devices, but do not enforce the use of this model, resulting in the 2000s being filled with Linux (and *BSD) apps that couldn't function correctly without oodles of buffering.
I used a script to toggle the SPDIF output stream of my Soundblaster Live to get track marks on the Mini Disc player recording the output.