OSS4 may be improved, but missed the boat, IMHO.
I have been using Linux as my home system since 1993. For a long time, OSS was the only way to get sound. It worked not too well, and could play only one sound at a time. Often I had to hunt down the process that was hogging /dev/dsp just to be able to play an mp3.
Also, a commercial version of OSS was available. For a free system, I found it unacceptable to pay for what should be basic OS functionality: sound in all applications. At the time, software mixing of sounds did not exist in the commercial version, and my soundcard was supported.
In short, OSS was the only game in town and it sucked. Then came ALSA, and it was a much more active developer group, and it was completely free. Their designs at the time were much better than OSS, and much more hardware supported, and free, so distros gravitated towards ALSA.
In the mean time the software mixing was taken up by ESD and Arts. But they were limited and I found ESD lacking.
Then came Jack and Pulseaudio. Jack is for pro audio and complicated stuff with filters and MIDI and such, not for the regular distro. You find it in distros like studio 64 and ubuntu studio. Pulseaudio is nice for normal users when it is set up right (but many distros fail at that, probably because it is conceptually tricky to get it right). It brings per-app audio mixing, seamless movement of streams from one sound card to another, network sound, bluetooth sound and much more.
OSS4 came in a time that ALSA was already dominant, and I think they missed the boat. Similar to when once Netscape was king (like old OSS) and stagnated, and IE took the scepter (like ALSA), new mozilla/firefox(like OSS4) had to catch up and prove itself again.
For instance, I read that OSS4 has not the amount of working drivers that ALSA has. For some it works great, and for others not at all.
What was a disadvantage for OSS was the hold that 4Front had over it. It was their project and the kernel people only maintained a fraction of older OSS drivers. It was NOT good then, and ALSA was better.
Maybe OSS4 is technically superior now, and simpler, but has the situation with 4Front changed? On the other hand, I read that ALSA these days is developing slower, and I read about worries over the project's health.
What Linux needs, in my opinion, is a simple in kernel sound driver system, that exposes all modern sound card features to an api. Things like hardware mixing, 3D sound, multiple channels, low-latency, MIDI, etc. should all be supported. Like Gallium3D for audio. There also must be a user space daemon to handle per application audio streams (moving from one card to another), control over the mixing, or software mixing when the hardware does not support it. No software mixing in the kernel. Kernels should only be visited in system calls as briefly as possible, with the shortest interrupt latency possible.
Also this daemon should handle A2DP (bluetooth), network sound and filter banks.
If I understand the current situation right, my ideal system should be there when OSS4 and ALSA start pooling efforts, and create the in-kernel sound driver system, more along OSS4's design than ALSA's, but with ALSA's richer hardware support.
And for the user space daemon a combination of the ideas of Pulseaudio and Jack would have led to a system that has both low latency, networking, bluetooth, super-flexible filterbank system and per-app mixing and moving of streams between cards or network sinks.
It would be similar but better than Apple's `Core Audio?.
The current situation has rightly been described as a `Jungle?.
"Jungle" would not be such a bad name for a new, united linux audio system, by the way.
I have been using Linux as my home system since 1993. For a long time, OSS was the only way to get sound. It worked not too well, and could play only one sound at a time. Often I had to hunt down the process that was hogging /dev/dsp just to be able to play an mp3.
Also, a commercial version of OSS was available. For a free system, I found it unacceptable to pay for what should be basic OS functionality: sound in all applications. At the time, software mixing of sounds did not exist in the commercial version, and my soundcard was supported.
In short, OSS was the only game in town and it sucked. Then came ALSA, and it was a much more active developer group, and it was completely free. Their designs at the time were much better than OSS, and much more hardware supported, and free, so distros gravitated towards ALSA.
In the mean time the software mixing was taken up by ESD and Arts. But they were limited and I found ESD lacking.
Then came Jack and Pulseaudio. Jack is for pro audio and complicated stuff with filters and MIDI and such, not for the regular distro. You find it in distros like studio 64 and ubuntu studio. Pulseaudio is nice for normal users when it is set up right (but many distros fail at that, probably because it is conceptually tricky to get it right). It brings per-app audio mixing, seamless movement of streams from one sound card to another, network sound, bluetooth sound and much more.
OSS4 came in a time that ALSA was already dominant, and I think they missed the boat. Similar to when once Netscape was king (like old OSS) and stagnated, and IE took the scepter (like ALSA), new mozilla/firefox(like OSS4) had to catch up and prove itself again.
For instance, I read that OSS4 has not the amount of working drivers that ALSA has. For some it works great, and for others not at all.
What was a disadvantage for OSS was the hold that 4Front had over it. It was their project and the kernel people only maintained a fraction of older OSS drivers. It was NOT good then, and ALSA was better.
Maybe OSS4 is technically superior now, and simpler, but has the situation with 4Front changed? On the other hand, I read that ALSA these days is developing slower, and I read about worries over the project's health.
What Linux needs, in my opinion, is a simple in kernel sound driver system, that exposes all modern sound card features to an api. Things like hardware mixing, 3D sound, multiple channels, low-latency, MIDI, etc. should all be supported. Like Gallium3D for audio. There also must be a user space daemon to handle per application audio streams (moving from one card to another), control over the mixing, or software mixing when the hardware does not support it. No software mixing in the kernel. Kernels should only be visited in system calls as briefly as possible, with the shortest interrupt latency possible.
Also this daemon should handle A2DP (bluetooth), network sound and filter banks.
If I understand the current situation right, my ideal system should be there when OSS4 and ALSA start pooling efforts, and create the in-kernel sound driver system, more along OSS4's design than ALSA's, but with ALSA's richer hardware support.
And for the user space daemon a combination of the ideas of Pulseaudio and Jack would have led to a system that has both low latency, networking, bluetooth, super-flexible filterbank system and per-app mixing and moving of streams between cards or network sinks.
It would be similar but better than Apple's `Core Audio?.
The current situation has rightly been described as a `Jungle?.
"Jungle" would not be such a bad name for a new, united linux audio system, by the way.
Comment