From: Andreas Hartmetz <ahartmetz@gmail.com>
To: linux-kernel@vger.kernel.org
Subject: Re: Is it time for remove (crap) ALSA from kernel tree ?
Date: Tue, 26 Jun 2007 22:39:04 +0200 [thread overview]
Message-ID: <200706262239.05070.ahartmetz@gmail.com> (raw)
> >
> > We dropped OSS for ALSA for technical reasons. Those being that ALSA
> > - has a better audio API
> You mean the undocumented, 100% ioctl one? With one ioctl to write
> interleaved sound, one for non-interleaved sound, in addition to
> setting interleaved or not in the configuration? I should check one
> day which one wins.
> Or the "library"? Don't get me started on this one.
> I take your word about the fact that the kernel side is better.
Okay, here's a rant.
As an interested kernel outsider and KDE developer(*), it looks to me like
most kernel people are too focused on the history and feature lists of the
particular technologies here.
The real matter with ALSA is that you get a strong "ALSA hates me" feeling
when dealing with it. There is bad documentation, bad API, and a config file
syntax that is much harder to understand than necessary.
Then there is the kernel/library split that seems to have no convincing reason
at all in its current form.
Why not put the whole sound system in userland? It has been done before. Sound
is just not performance critical at all and it's almost never mission
critical.
Plus you wouldn't have to cross the userland/kernel gap to implement new and
exciting things that way. Audio is kinda simple on the IO level (I hope I'm
right there :) ) and, ideally, on the userland API level. These places are
exactly where well-defined interfaces should be. An appropriate IO interface
and userland API should be set in stone, not something arbitrary in between.
Hell, there could even be a source compatible sound driver standard for all
Unix-like free OS kernels.
The track record of ALSA for me goes like this:
- dmix finally started working automatically (at least on my Kubuntu system)
about one year ago, about five years after everybody could see that this was
badly needed. I couldn't get it to work before. The howtos somehow didn't
work and ALSA's documentation isn't all that helpful.
- Different desktop environments have different sound daemons to paper over
the weaknesses of ALSA (no dmix by default / unfriendly API), which creates
new problems. Yes there are other reasons for sound daemons, but I doubt
anybody would have come up with the idea if it wasn't for ALSA.
- I have an Envy24HT based soundcard in my desktop PC, which also goes to show
that I'm really interested in sound issues. I have to run alsamixer after
every bootup to unmute the left channel because restoring volume only works
for the right channel. The left channel starts working after changing its
volume.
- On my IBM/Lenovo R50e notebook with Intel chipset sound didn't work before
I "muted" the "headphone jack sense" control in alsamixer. That took two
hours or so. When both the master volume and the PCM volume control are set
to 100% I get really bad clipping problems.
- Some time ago ALSA reported that my soundcard supports sampling rates it
doesn't in fact support. This was fixed by Takashi Iwai after a week and two
mails or so. Thumbs up.
Regards,
Andreas
(*) I am not representing KDE in an official way at all, but I can say that
KDE developers generally put *much* effort into making APIs as logical and
friendly as they possibly can.
next reply other threads:[~2007-06-26 20:39 UTC|newest]
Thread overview: 108+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-26 20:39 Andreas Hartmetz [this message]
2007-06-26 21:10 ` Måns Rullgård
2007-06-27 3:59 ` Rene Herman
2007-06-28 3:41 ` Lee Revell
2007-06-28 11:52 ` Tomasz Kłoczko
2007-06-28 13:02 ` Meelis Roos
-- strict thread matches above, loose matches on Subject: below --
2007-07-07 2:41 William Pitcock
2007-07-07 13:23 ` Carlo Wood
[not found] <fa.C+RaPJT9DzfOowG03yiRkB6ItF8@ifi.uio.no>
[not found] ` <fa.eZW1VxypFFwQqmC93xQaStxDK0Q@ifi.uio.no>
[not found] ` <fa.n+OzEywqHGabZtz5NxmlX4rEY0A@ifi.uio.no>
2007-06-29 1:16 ` Robert Hancock
2007-06-29 22:04 ` Rene Herman
2007-06-28 12:42 Anton Petrusevich
2007-06-28 15:02 ` Rene Herman
2007-06-28 16:34 ` Anton Petrusevich
2007-06-28 16:38 ` Xavier Bestel
2007-06-28 18:56 ` Rene Herman
2007-06-28 19:33 ` Tomasz Kłoczko
2007-06-28 19:34 ` Rene Herman
2007-06-29 10:30 ` Florian Schmidt
2007-06-29 11:40 ` Anton Petrusevich
2007-06-29 12:38 ` Florian Schmidt
2007-06-29 12:29 ` Gabriel C
2007-06-27 16:25 Andreas Hartmetz
2007-06-27 17:29 ` Rene Herman
2007-06-27 19:10 ` Andreas Hartmetz
2007-06-27 23:12 ` Rene Herman
2007-06-28 0:18 ` Patrick Draper
2007-06-28 1:58 ` Rene Herman
2007-06-28 2:28 ` Rene Herman
2007-06-28 11:15 ` Rene Herman
2007-06-28 3:04 ` Patrick Draper
2007-06-28 3:22 ` Lee Revell
2007-06-28 5:13 ` Arjan van de Ven
2007-06-28 11:50 ` Tomasz Kłoczko
2007-06-28 11:58 ` Gabriel C
2007-06-28 12:57 ` Rene Herman
2007-06-28 12:39 ` Rene Herman
[not found] <fa.4npeXBdRGMm2JoKWe0qhjQdrJkk@ifi.uio.no>
[not found] ` <fa.bAhr1dmoWCFU+8Kxo95nsy5DRRU@ifi.uio.no>
[not found] ` <fa.MQ77mllForge5OWcDydLlI0yp8s@ifi.uio.no>
2007-06-24 19:37 ` Robert Hancock
2007-06-24 18:35 Ash Willis
2007-06-24 19:01 ` Tomasz Kłoczko
2007-06-24 17:51 Tomasz Kłoczko
2007-06-24 19:08 ` Alan Cox
2007-06-24 19:24 ` Tomasz Kłoczko
2007-06-24 19:27 ` Jan Engelhardt
2007-06-24 21:43 ` Rene Herman
2007-06-25 10:06 ` Tomasz Kłoczko
2007-06-25 10:46 ` Jan Engelhardt
2007-06-25 20:32 ` Hannu Savolainen
2007-06-24 20:57 ` Alan Cox
2007-06-24 22:43 ` Olivier Galibert
2007-06-24 22:44 ` Carlo Wood
2007-06-24 22:48 ` Jesper Juhl
2007-06-24 23:13 ` Carlo Wood
2007-06-25 3:41 ` Nobin Mathew
2007-06-25 9:06 ` Alan Cox
2007-06-25 10:41 ` Takashi Iwai
2007-06-25 9:51 ` Tomasz Kłoczko
2007-06-25 10:58 ` Takashi Iwai
2007-06-25 11:36 ` Tomasz Kłoczko
2007-06-25 12:31 ` Takashi Iwai
2007-06-25 12:40 ` Jan Engelhardt
2007-06-25 12:47 ` Olivier Galibert
2007-06-25 12:50 ` Takashi Iwai
2007-06-25 12:44 ` Olivier Galibert
2007-06-25 12:58 ` Takashi Iwai
2007-06-25 13:20 ` Olivier Galibert
2007-06-25 13:21 ` Adrian Bunk
2007-06-28 18:30 ` Nix
2007-06-28 20:02 ` Rene Herman
2007-06-28 20:20 ` Lee Revell
2007-06-28 20:43 ` Adrian Bunk
2007-06-28 20:22 ` Jeff Garzik
2007-06-28 21:06 ` Adrian Bunk
2007-06-28 21:37 ` Rene Herman
2007-06-28 22:24 ` Nix
2007-06-29 11:52 ` Florian Schmidt
2007-06-29 14:56 ` Miklos Szeredi
2007-06-29 15:49 ` Alan Cox
2007-06-29 15:55 ` Miklos Szeredi
2007-06-29 16:14 ` Miklos Szeredi
2007-07-01 11:46 ` Florian Schmidt
2007-07-01 12:17 ` Miklos Szeredi
2007-06-29 18:39 ` Pavel Machek
2007-06-25 17:00 ` Tomasz Kłoczko
2007-06-25 22:49 ` Rene Herman
2007-06-25 13:01 ` Gabor Gombas
2007-06-25 13:41 ` Tomasz Kłoczko
2007-06-25 14:05 ` Gabor Gombas
2007-06-25 13:21 ` Renato S. Yamane
2007-06-25 14:02 ` Tomasz Kłoczko
2007-06-25 13:46 ` Rene Herman
2007-06-25 6:24 ` Carlo Florendo
2007-06-25 6:22 ` Carlo Florendo
2007-06-25 10:53 ` Takashi Iwai
2007-06-25 11:50 ` Tomasz Kłoczko
2007-06-25 13:04 ` Bartlomiej Zolnierkiewicz
2007-06-25 21:18 ` Hannu Savolainen
2007-06-25 23:17 ` Adrian Bunk
2007-06-26 16:25 ` Wakko Warner
2007-06-26 16:52 ` Takashi Iwai
2007-06-27 11:11 ` Wakko Warner
2007-06-26 9:35 ` Takashi Iwai
2007-06-26 11:48 ` Jeff Garzik
2007-06-25 14:44 ` Lennart Sorensen
2007-06-25 15:48 ` Tomasz Kłoczko
2007-06-25 17:13 ` Lennart Sorensen
2007-07-04 6:35 ` Darren
2007-07-04 17:32 ` Adrian Bunk
2007-07-05 12:59 ` Tomasz Kłoczko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200706262239.05070.ahartmetz@gmail.com \
--to=ahartmetz@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®