Announcement

Collapse
No announcement yet.

The Sorry State of Sound In Linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • The Sorry State of Sound In Linux

    Lets start with some background. Back in the old days, if you had a PC, there was only one card called "the sound card", which of course was...


    I've only discovered this because of an ALSA bug was making my life miserable. That article was written about a month or two before before OSS4 (Open Sound System v4) was released under GPL and CDDL. This past January, it was released under BSD as well. Unfortunately for the author, he does not understand open source very well. He is now reporting that his revenue went significantly down..

    OSS4 does not equal to the crap OSS in Linux 2.4 kernels. Even OSS3 != OSS3 in linux former linux kernels. He was neglecting the open source version in favour of the commercial one. Instead of improving it, someone forked it. And, the fork became popular. Unfortunately, the original author had no interest in working on the fork. So, he only focused on the commercial version. Now, many years later, the commercial version is fully open source. There is no more commercial version.

    I've tried it, and I really like it. Music sounds much better than on ALSA. For example, screaming in alternative rock is more legible. It's like enabling enhanced voice on a phone. It supports higher PCM values without noise.

    The mixer is capable of 18 channels. It can also do per application volume control (like PulseAudio).

    It totally make sense that it gets back into the kernel because it works on almost every UNIX and UNIX-like, except OS X. ALSA only works on Linux, and according to that article, developers still prefer the OSS API, even on ALSA. However, the ALSA OSS API is lacking according to an ALSA developer.

    It worked without any configuration besides muting some channels to kill the noise. The ALSA bug I experienced was fixed in version 1.0.16. So, now I'm back on ALSA for the following reasons.

    THE BAD
    ossmix and ossxmix are totally unusable because they do not name the channels properly.
    I had to figure out WTF ossxmix.codec1.connector.jack14.jack 54:54 means.
    It's best to use ossxmix (GTK+ mixer) and playing with all the jacks to figure out what each one does. ossxmix also uses 100CPU for some reason.
    One interesting control is how OSS4 should behave (Fast, Proessional, etc.). It's probably a latency control. ossxmix is a demo app on how you can control the mixer from GTK. It needs to be made usable.

    If you only use Media Player Daemon and MPlayer, OSS4 works beautifully. They use OSS directly. Others have problems.
    Xine uses 100% CPU. If you try to seek, it freezes. In terminal I noticed some output from oss mixer control saying it received bad arguments. OSS4 is backwards compatible with OSS3, but xine-lib seems to be using the API badly.

    The progress bar (seeker) in GStreamer based applications (Rhythmbox, Banshee) does not work. Sound in Totem does not seem to work at all. The gStreamer developer responsible for OSS claims that it does on his system. I have noticed this after I have applied this patched gstreamer to make volume control in GNOME work.

    DOWNLOAD IT (MOST SYTEMS)
    Gentoo ebuild
    Arch Linux (Read Wiki)[/url]

    Check Configuring Applications for OSSv4 after you install it. I just found it. So, I did not do what it said for xine. Maybe, it does not use 100% CPU with those settings. I also did not do what it says to do for MPlayer, but it worked with no problems as I mentioned above.

    Overall, I think it's a million times better than ALSA. It's cross platform, and it's stable. It was released a year ago on 15th of March 2007. Since he does not have a marketing department, no one has heard of it.

  • #2
    Code:
    In the Linux kernel, there have historically been two uniform sound APIs used. One is OSS; the other is ALSA (Advanced Linux Sound Architecture). ALSA is available for Linux only, and as there is only one implementation of the ALSA interface, ALSA refers equally to that implementation and to the interface itself.
    
    OSS is the standard up through the 2.4 series of official (kernel.org) Linux kernels. ALSA was added starting with 2.5, and in those versions, Linux kernel authors marked OSS as deprecated. 4Front continued to develop OSS outside of Linux kernel.
    
    ALSA provides an optional OSS emulation mode that appears to programs as if it were OSS. Similarly, there is an ALSA emulation mode in the Linux implementation of OSS.
    
    While some recommend the ALSA interface for software that is intended to work on modern Linux only, software intended to be portable across Unices typically uses OSS instead. Another advantage of OSS is the fact that it's better documented than ALSA and the API is much simpler.
    In short: OSS was very well known. But then ALSA came and kicked OSS's butt and nobody wanted OSS anymore. But some people developed it outside the linux kernel and is available for download.

    Comment


    • #3
      Yes, OSS has been around for a long long time. I praised the day when the distro's started using ALSA as default and sound in all my apps started working fully featured. I have tried the OSS4 packages and still find them lacking feature wise and support in applications is fading away for OSS. Alsa has been trusty and reliable and trouble free for me for years (as well it supports more devices).

      BTW did you spam EVERY linux forum you could find with this rant?
      Last edited by deanjo; 17 March 2008, 01:12 AM.

      Comment


      • #4
        Err with spamming you mean me or SpookyET?

        Comment


        • #5
          Originally posted by banaantje12 View Post
          Err with spamming you mean me or SpookyET?
          SpookyET, every linux related forum I frequent the exact same rant is posted.

          Comment

          Working...
          X