mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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.

             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®