• grue@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    3 days ago

    Real talk, though: why has Linux taken at least five tries (OSS, ALSA, JACK, PulseAudio, PipeWire) to get audio right?!

    • SorryQuick@lemmy.ca
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      2 days ago

      They don’t have the same goals.

      JACK is for professional audio.

      OSS and ALSA are kernel audio drivers, they’re the most powerful of them all but extremely low level. Everything else, like pulseaudio/pipewire are just higher-level interfaces that feed ALSA audio.

      Pulseaudio and pipewire are sound servers.

      So really it only took two tries:

      OSS -> ALSA

      Pulseaudio -> Pipewire

    • Rose@slrpnk.net
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      2 days ago

      Ohhhhhh the newbies don’t remember EsounD (Enlightenment Enlightened Sound Daemon). Basically, it was an attempt at doing PulseAudio-esque stuff way back in the OSS era. Which is to say, it just supported software mixing of multiple audio sources, because OSS usually only allowed single process to output audio. EsounD was janky and didn’t work well, obviously. Probably the neatest thing about it was that it exposed the mixed output stream to any other app, so that made visualisers much easier to make (edit: another thing that newbies in this day and age don’t realise, but I cannot emphasise enough how crucial visualisers were for the late 1990s / early 2000s music experience). ALSA basically supported hardware mixing (if available) out of the box, so of course it immediately became my favourite.

    • Something Burger 🍔@jlai.lu
      link
      fedilink
      arrow-up
      0
      ·
      3 days ago

      OSS came first, then got replaced by ALSA after it became proprietary.

      PulseAudio is a userspace audio server to which programs connect. It manages audio settings per app, then sends everything to ALSA. JACK is the same but with a focus on low latency.

      PipeWire is a modern drop-in replacement for both, and also has support for video on Wayland.

      • heliotrope@retrofed.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        3 days ago

        And then there’s also sndio, ported from OpenBSD. This does basically the same thing as OSS/ALSA.