During the 2.5 development cycle, ALSA, the Advanced Linux Sound Architecture was merged into the Linux kernel. At that time, support for OSS, the Open Sound System was marked as deprecated. A recent thread on the lkml discussed the future of OSS, questioning if it is worth fixing issues with now deprecated OSS drivers.
On one side of the debate, some feel that it doesn't make sense to throw away a functional subsystem with willing maintainers, especially when there are some soundcards that are currently only supported by OSS. On the other side, some feel it doesn't make sense to support two code bases that accomplish the same thing, suggesting all effort currently invested in fixing OSS drivers should be refocused to writing and fixing ALSA drivers. Some of the advantages that ALSA has over OSS are listed here.
Those still using OSS will be happy to know that the Open Sound System will all but certainly always be part of the 2.6 stable kernel. As for the future, it is quite likely that OSS will be removed during the 2.7 development phase, and that ALSA will be the one remaining sound subsystem. Much of the thread follows, offering interesting arguments for both side of this debate.
From: Jos Hulzink [email blocked] To: Kernel Mailing List [email blocked] Subject: OSS: cleanup or throw away Date: Mon, 22 Mar 2004 19:55:52 +0100 Hi, While fixing some "deprecated" issues in the OSS drivers, I wondered whether this makes sense, as entire OSS is marked deprecated. Will OSS make it until 2.7, or will it be dropped soon ? (In other words, should I take care of the OSS drivers or not bother about them) Best regards, Jos Hulzink
From: Muli Ben-Yehuda [email blocked] Subject: Re: OSS: cleanup or throw away Date: Mon, 22 Mar 2004 22:22:21 +0200 On Mon, Mar 22, 2004 at 07:55:52PM +0100, Jos Hulzink wrote: > Hi, > > While fixing some "deprecated" issues in the OSS drivers, I wondered whether > this makes sense, as entire OSS is marked deprecated. Will OSS make it until > 2.7, or will it be dropped soon ? (In other words, should I take care of the > OSS drivers or not bother about them) In my not so humble opinion, throwing OSS away will be a big mistake, as long as there are people willing to maintain it. Keep it there and let the users (or distributions) choose what to use. I've seen multiple bug reports of cards that work with OSS and don't work with ALSA (and vice versa), so keeping both seems the proper thing to do. Personally, I maintain one OSS driver, and fix bugs in others occasionally. Cheers, Muli -- Muli Ben-Yehuda http://www.mulix.org | http://mulix.livejournal.com/
From: Adrian Bunk [email blocked] Subject: Re: OSS: cleanup or throw away Date: Mon, 22 Mar 2004 22:59:21 +0100 On Mon, Mar 22, 2004 at 10:22:21PM +0200, Muli Ben-Yehuda wrote: >... > I've seen > multiple bug reports of cards that work with OSS and don't work with > ALSA (and vice versa), so keeping both seems the proper thing to >... Wouldn't it be better to get the ALSA drivers working in such cases? It's really not a good idea to have two codebases for the same purpose. > Cheers, > Muli cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed
From: Muli Ben-Yehuda [email blocked] Subject: Re: OSS: cleanup or throw away Date: Tue, 23 Mar 2004 00:03:27 +0200 On Mon, Mar 22, 2004 at 10:59:21PM +0100, Adrian Bunk wrote: > On Mon, Mar 22, 2004 at 10:22:21PM +0200, Muli Ben-Yehuda wrote: > >... > > I've seen > > multiple bug reports of cards that work with OSS and don't work with > > ALSA (and vice versa), so keeping both seems the proper thing to > >... > > Wouldn't it be better to get the ALSA drivers working in such cases? It would; but until they do, ditching OSS is a regression. > It's really not a good idea to have two codebases for the same > purpose. It is if neither one is witholding effort from the other, and neither one does a perfect job for all cases. Cheers, Muli -- Muli Ben-Yehuda http://www.mulix.org | http://mulix.livejournal.com/
From: Adrian Bunk [email blocked] Subject: Re: OSS: cleanup or throw away Date: Mon, 22 Mar 2004 23:23:29 +0100 On Tue, Mar 23, 2004 at 12:03:27AM +0200, Muli Ben-Yehuda wrote: > On Mon, Mar 22, 2004 at 10:59:21PM +0100, Adrian Bunk wrote: > > On Mon, Mar 22, 2004 at 10:22:21PM +0200, Muli Ben-Yehuda wrote: > > >... > > > I've seen > > > multiple bug reports of cards that work with OSS and don't work with > > > ALSA (and vice versa), so keeping both seems the proper thing to > > >... > > > > Wouldn't it be better to get the ALSA drivers working in such cases? > > It would; but until they do, ditching OSS is a regression. >... Clearly. Ditching OSS at the beginning of 2.7 will give several years to identify and fix such regressions. > Cheers, > Muli cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed
From: Russell King [email blocked] Subject: Re: OSS: cleanup or throw away Date: Mon, 22 Mar 2004 23:17:18 +0000 On Mon, Mar 22, 2004 at 11:23:29PM +0100, Adrian Bunk wrote: > On Tue, Mar 23, 2004 at 12:03:27AM +0200, Muli Ben-Yehuda wrote: > > On Mon, Mar 22, 2004 at 10:59:21PM +0100, Adrian Bunk wrote: > > > Wouldn't it be better to get the ALSA drivers working in such cases? > > > > It would; but until they do, ditching OSS is a regression. > >... > > Clearly. > > Ditching OSS at the beginning of 2.7 will give several years to identify > and fix such regressions. Seriously, ALSA has some issues at the moment which OSS doesn't have. The main one is that OSS does not require mmap() access, whereas ALSA native does at present - and there are architectures where the ALSA method of mmap() both the ring buffer and the control data does not work. These issues aren't simple to resolve - as can be seen from the recent lkml threads on the subject. I've been seriously considering submitting the existing OSS drivers I have here for ARM hardware instead of trying to convert them to ALSA drivers first, and considering whether I should be writing new OSS drivers in preference to ALSA drivers. That's not to say I don't want to see ALSA progress though - which is why I'm working to try to get these issues resolved. -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/ 2.6 Serial core
From: Gábor Lénárt [email blocked] Subject: Re: OSS: cleanup or throw away Date: Tue, 23 Mar 2004 09:23:38 +0100 On Mon, Mar 22, 2004 at 10:22:21PM +0200, Muli Ben-Yehuda wrote: > In my not so humble opinion, throwing OSS away will be a big mistake, > as long as there are people willing to maintain it. Keep it there and > let the users (or distributions) choose what to use. I've seen Or better: since both of OSS and ALSA are sound systems, let OSS maintainers start hacking ALSA, so missing parts in ALSA which presents in OSS can be implemented. Having one sound system would be better, especially in the official kernel tree. It's another story, if you have multiple one outside the "official" kernel source. imho. > multiple bug reports of cards that work with OSS and don't work with > ALSA (and vice versa), so keeping both seems the proper thing to > do. Personally, I maintain one OSS driver, and fix bugs in others > occasionally. - Gábor (larta'H)
From: Jos Hulzink [email blocked] Subject: Re: OSS: cleanup or throw away Date: Tue, 23 Mar 2004 11:35:40 +0100 (CET) On Tue, 23 Mar 2004, [iso-8859-2] Gábor Lénárt wrote: > Or better: since both of OSS and ALSA are sound systems, let OSS maintainers > start hacking ALSA, so missing parts in ALSA which presents in OSS can be > implemented. Having one sound system would be better, especially in the > official kernel tree. It's another story, if you have multiple one outside > the "official" kernel source. imho. Maybe we should start ditching OSS drivers of cards that are known to work "reasonably well" in ALSA. If someone starts screaming "I need OSS for the ALSA driver contains a bug", that bug might even be located and dealt with much sooner. The ALSA OSS emulation is good enough for user land applications to survive I think, so it's just a matter of driver bugs. This way we end with a list of OSS drivers that are not ported yet or that never will be ported. OTOH, I don't know how the big bosses here think about ditching OSS from a stable kernel tree... Can imagine they think it is not done. Jos
From: Adrian Bunk [email blocked] Subject: Re: OSS: cleanup or throw away Date: Mon, 22 Mar 2004 22:57:09 +0100 On Mon, Mar 22, 2004 at 07:55:52PM +0100, Jos Hulzink wrote: > Hi, > > While fixing some "deprecated" issues in the OSS drivers, I wondered whether > this makes sense, as entire OSS is marked deprecated. Will OSS make it until > 2.7, or will it be dropped soon ? (In other words, should I take care of the > OSS drivers or not bother about them) OSS will stay in 2.6 (2.6 is a stable kernel series) but it will most likely be removed in 2.7. I wouldn't spend time to fix deprecated warnings in OSS code, such cleanups are wasted time for code that will most likely be removed in 2.7. > Best regards, > > Jos Hulzink cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed
From: Diego Calleja García [email blocked] Subject: Re: OSS: cleanup or throw away Date: Mon, 22 Mar 2004 23:27:23 +0100 El Mon, 22 Mar 2004 22:57:09 +0100 Adrian Bunk [email blocked] escribió: > OSS will stay in 2.6 (2.6 is a stable kernel series) but it will most > likely be removed in 2.7. Personally, as an user, I'd like to have the OSS drivers which don't have a ALSA equivalent for my old hardware. There're several sound cards with both ALSA and OSS drivers where ALSA works much better 99% of the time. Those could be safely removed (even in the 2.6 timeframe, I'd argue) but I'd like to keep the ones without an alsa equivalent for my old hardware (specially now that we have a -tiny tree ;) however I can understand that if they don't have a maintainer they'll get removed...
OSS Emulation
I assume OSS at the application layer will always be supported(/supportable) using an emulation layer won't it? Isn't that what's happening at the moment when I compile my kernel with ALSA and OSS emulation?
Re: OSS Emulation
Yes, it is.
However for OSS emulation to work, the ALSA driver has to work. There are some soundcards supported by (native) OSS which aren't, yet, supported by ALSA. I think that the thread is about this; emulation should stay in at least as long as there are userland apps using OSS.
OSS supported cards
Just out of curiosity: Could someone name some cards, that are not supported by ALSA, but have support in OSS/Free?
Thanks.
Re: OSS supported cards
A few high-end ones. See
http://www.mail-archive.com/alsa-devel@lists.sourceforge.net/msg11640.ht...
Removing OSS
I think OSS should be removed early from 2.7 but be available as a kernel patch for those cards that are not ALSA compatible
Thanks Jeremy!!!!
Thank you for posting this one! As always, I'm glad to read this.
Let's remove SSS, but after drivers conversion
I am an user and don't mind removing OSS as long as I find the needed drivers in ALSA. Is there any real attemp to convert the missing ALSA drivers from OSS? I have Turtle Beach Tropez ($200) and Turtle Beach Pinnacle ($600) soundcards, and they are pretty cool. I don't want to discard them, neither I want stop using Linux. Both are ISA and are only supported by OSS. Moreover, I would invite some improvements to the drivers ;o)
I hope You understand me. If my soundcard was some $10 ancient noisy crap, I'll buy a new one or start using the onboard and wouldn't speculate. But those TB cards are fine, they still hardly have any real competition today.
High end hardware woes
Ah yes, the problems with high-end hardware. Turtle Beach has already end of lifed both products, the Pinnacle at Win98 (last driver update in 1999), and the Tropez at Win95 (last driver update in 1996!).
All hardware has a lifetime. The beauty of open source is that you are able to extend that lifetime until the hardware itself gives out. The downside is that you might have to roll up your shirtsleeves and start coding yourself. I don't expect that Alsa will ever support your cards out of the box -- they're just too rare. But, I bet that kernel hackers would offer help and moral support if you decided to do it yourself!
The fun of an open community...
I never expected to get a topic and poll on kerneltrap.org, but it's very nice to see the results. I think the result of the poll matches the idea on the lkml well, and this is the way to go. As the 2.6 kernel is here to stay for a while, a cleanup of the OSS drivers might be desirable.
With all respect to the guys with non-suported hardware in ALSA, but I think it's good we got ourselves a limit. Not so far away for the developpers, but still years ahead for the users.
So, what's the way to go for the fellows who fear the days of silence when the mighty 2.7 tree emerges ?
Please tell the ALSA guys in a polite and detailed way why ALSA is no option for you, and remember: 2.6 is here to stay for a long time, it isn't bad if your hardware isn't supported in 2 weeks from now. You can also mail me (josh at stack nl), so I can keep a list and collect the issues.
Best regards,
Jos Hulzink
Switcheroo
Why not move OSS drivers into a kernel patch? This way users and developers will be motivated to use ALSA, but still keeping OSS available for those who need it.
oss emulation
as long as the oss emulation remains in the kernel, all is fine. I use oss emulation, 'cause it seems that has better latency (and mp3s play better: or at least I' not able to set alsa properly...)
ALSA VS OSS
I have a sony vaio and have not been able to get sound working under ALSA (yamaha AC-XG - slackware 10 - kernel 2.6.7). I switched to OSS and it works like a dream.
Please don't get rid of something that works let the user decide.
PS In fairness I did get my sound card working under the Suse distro with ALSA but it would always cut in and out(not sure if there is differences between the kernels released by suse and slackware).
One sound system
I am a noob, so my opinion don't weigh much.
But I would prefer one sound system instead of two or more.
It makes Linux more unified with only one system, and makes resources concentrated on one system, instead of wasted on different systems.
Maybe the ALSA and the OSS projects could merge or something?
Or some wizards could make something that totally blows ALSA, OSS and anything else in any other OS away.