• waigl@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 years ago

    Pipewire makes me feel like I’m a bit stupid. I keep reading about it, I read the introduction and FAQ on their website, yet I still couldn’t tell you what that thing even does. All I know is it’s a slightly less buggy drop-in replacement for pulseaudio, and pulseaudio is something I use because Firefox forces me to. (I would still be on plain old ALSA if it weren’t for Firefox.)

    Also, it definitely did not “just work” for me out of the box, I had to do quite some digging and some very non-obvious stuff to get it to a) start up and b) let me use my microphone. I still don’t even know what “starting up” really means for pipewire (is there a daemon or something?), the website likes to pretend that isn’t a thing, but without doing some stuff to start it up, audio just won’t work for pulseaudio and pipewire applications…

  • WaterWaiver@aussie.zone
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 years ago

    I’ve been using PipeWire this year on my Void Linux laptop & desktop. It’s been mostly OK but has a few problems. For years I have been using plain ALSA (with no custom configuration) because pulseaudio causes me regular issues across multiple machines (mostly silently failing).

    Pros:

    • I don’t have to use Chromium for my mic to work on online video conf (WTF Firefox)
    • “EasyEffects” lets me quickly fix crappy youtube audio (bad gain normalisation, way too much sibilance) with a minimum of effort.

    Cons:

    • Sometimes breaks all audio until I manually restart it (hey, just like pulseaudio. This problem never happens when using ALSA straight)
    • First time setup is complicated, involving environment variables, dbus user session buses and multiple daemons (running just pipewire isn’t enough). Why can’t it handle this all itself? Surely it should notice if these things are missing and just fix it itself? Compare this to straight ALSA where you (1) do nothing and then (2) everything works (except Firefox mic support)
    • I can’t have multiple audio outputs all unmuted at the same time. Eg my headphone output and my rear speaker output. If I override this (using alsamixer) then it gets forgotten next boot anyway, it seems to be out of scope of PipeWire’s understanding.
    • corsicanguppy@lemmy.ca
      link
      fedilink
      arrow-up
      1
      ·
      2 years ago
      • Sometimes breaks all audio until I manually restart it (hey, just like pulseaudio. This problem never happens when using ALSA straight)

      Well, how much lennart is in this thing? Not only can that predict how well it’s going to work, but also how soon it’ll be fixed, how responsive the ‘team’ will be to bug reports, how compatible it’ll be with other system components AND whether ‘compatibility’ will be achieved before the entire OS has been systematically imported into (and badly replicated by) the project.

    • WaterWaiver@aussie.zone
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      2 years ago

      Can you describe the issue? I don’t use Discord (and I presume the problem might depend on what browser you use).

      • peanutbutter_gas@lemm.ee
        link
        fedilink
        arrow-up
        0
        ·
        2 years ago

        I’m assuming this is a “dedicated app” (i.e. apt install discord). I was capable of streaming the video, but sound was a different beast. Audio streaming on discord was a no go. I was finally able to do it with pipewire and using discord-screenaudio

          • peanutbutter_gas@lemm.ee
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            Sorry for late reply. I just now noticed this.

            The difference would be that a browser would likely have multiple web pages fighting for resources whereas the dedicated client would not have to fight over so many resources.

            The OS has a dedicated task scheduler that alots cpu time to each process. Some processes get preferential treatment, but most processes started on user space ( i.e.double click UI icon) are just “normal” priority.

            When a task scheduler hits on a process, that process can start executing whatever it needs to do. The problem with running discord in a browser is that the application is splitting its attention across multiple pages ( and probably other stuff ) instead of a single page.

            Basically, it’s faster to focus on painting a single canvas than it is to painting 3 at the same time.

            I’m not going to discuss shared memory and separate processes or forking. You can goggle search if you want to know more about that.