Announcement

Collapse
No announcement yet.

PipeWire 0.3 Released With Redesigned Scheduling Code To Offer JACK2-Like Performance

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

  • PipeWire 0.3 Released With Redesigned Scheduling Code To Offer JACK2-Like Performance

    Phoronix: PipeWire 0.3 Released With Redesigned Scheduling Code To Offer JACK2-Like Performance

    PipeWire is the Red Hat engineered project aiming to offer better audio/video stream handling on Linux that integrates well with Flatpak and can optimally handle use-cases currently covered by the likes of PulseAudio and JACK. This week marked the release of PipeWire 0.3 as another big step forward for the effort...

    http://www.phoronix.com/scan.php?pag...e-0.3-Released

  • #2
    Anyone fooling around with pipewire yet sharing experiences? After trying to gather information about pipewire sometime in the past, I alway found too little of that to really get an opinion on it. I quite like the idea, and I would like if some more articles would keep us on track with development.

    Comment


    • #3
      Yeah, JACK-like performance while doing audio and video at the same time?

      I have some questions.

      - Can I do JACK-style patchbay routing or is it more PulseAudio-style?
      - Is writing a PipeWire program as complicated as PulseAudio or is it as easy as JACK?

      Edit: Never mind, I still am not going to replace my trusty JACK...

      Second edit:
      - Ugh no, PipeWire thinks streams and filters are different things... Come on JACK did it right by making it just "clients"...
      - Apparently you need to create a main loop, a context, a stream/filter/whatever, a core, a remote, an event listener, another thread or set of functions for the event listener, and the main loop doesn't run threaded...
      - At least it is better than PulseAudio (since PulseAudio is a total mess and you have to do a zillion things to write a program... and if not then pa-simple is too simple that it does not even support listing devices!) but still worse than JACK (in where you just need to assign a process function and JACK does the rest for you, create a client, the ports, specify event callbacks (and even this is optional), activate, connect and done!)
      Last edited by tildearrow; 22 February 2020, 06:49 PM.

      Comment


      • #4
        Originally posted by 144Hz View Post
        Synced to the coming desktop release of course Wim also made sure things work on the desktop.
        https://gitlab.gnome.org/GNOME/mutte..._requests/1062

        Enjoy JACKish sound on Fedora Workstation today
        Two can play at that game

        Enjoy JACKish sound on a Better Fedora Workstation today

        https://phabricator.kde.org/D27287

        Comment


        • #5
          I know it has pulseaudio sink support, but is this at a point yet where you can just install it and change a few settings and have it fully replace the actual pulseaudio server? If so, are there any configs or instructions?

          Comment


          • #6
            Originally posted by skeevy420 View Post

            Two can play at that game

            Enjoy JACKish sound on a Better Fedora Workstation today

            https://phabricator.kde.org/D27287
            Don't feed the troll.

            Comment


            • #7
              Originally posted by Hibbelharry View Post
              Anyone fooling around with pipewire yet sharing experiences? After trying to gather information about pipewire sometime in the past, I alway found too little of that to really get an opinion on it. I quite like the idea, and I would like if some more articles would keep us on track with development.
              I tried at the beginning of this week latest development version. Using it as a drop-in replacement to Pulseaudio requires to stop pulseaudio, then replace 2 library symlinks to ones provided by Pipewire (names ending with "-pa" postfix), then start Pipewire. Stopping pulseaudio might be tricky (you need to stop both service and socket, I don't remember in what order), so make sure the process is indeed not running anymore.

              My experience have been odd and not good, but now that I'm reading Phoronix article, I figured it was simply because Pulseaudio replacement is not ready yet. First strange thing I noticed after I got it working: `pavucontrol` had a bunch of HDMI output devices that I have never seen before there. I didn't try to use them though. Next thing I tried: I connected Bluetooth headphones, choose them as an output device, and soon got a crash of Pipewire. Then I gave up on Bluetooth headphones, and tried some youtube video in Chromium with wired headphones. Chromium didn't want to play anything. I looked at `journalctl -f`, and found out a spam of informational messages, I think by Pipewire, that were repeatedly ending up with a Chromium process crash backtrace.

              That was last I tried, then I switched back to Pulseaudio. But let me repeat that judging by phoronix article, Pulseaudio compatibility is apparently WIP, so I guess this behavior is kind of expected at this moment.
              Last edited by Hi-Angel; 22 February 2020, 01:19 PM. Reason: info about stopping pulseaudio

              Comment


              • #8
                Originally posted by Hi-Angel View Post
                I tried at the beginning of this week latest development version. Using it as a drop-in replacement to Pulseaudio requires to stop pulseaudio, then replace 2 library symlinks to ones provided by Pipewire
                The project provides a script that will use LD_LIBRARY_PATH (and GST_PLUGIN_PATH) to let you test (some?) applications without installing it.

                ... compatibility is apparently WIP
                The good news is that the project is moving forward. That may also be the bad news for those that like their old #7 just the way it is.

                Comment


                • #9
                  Originally posted by 144Hz View Post
                  skeevy420 A more detailed answer

                  GNOME:
                  1) MR prepared by Pipewire’s maintainer and main architect.
                  2) MR promptly reviewed by 2 mutter maintainers plus extra mutter devs.
                  3) Merged and ready for GNOME 3.36.

                  KDE:
                  1) Patch prepared by dev outside Pipewire.
                  2) Patch review expected by KDE dev who did his last work in sep 2019.
                  3) Not merged.
                  GNOME and FreeDesktop are closely tied. That is why.


                  (Does not give you a chance to call GNOME the standard desktop though)

                  Comment


                  • #10
                    Originally posted by tildearrow View Post

                    GNOME and FreeDesktop are closely tied. That is why.


                    (Does not give you a chance to call GNOME the standard desktop though)
                    Pipewire is mainly a RedHat project and GNOME is the default DE on RedHat's distros, I'd rather say.
                    That said, I hope KDE will merge Pipewire support quickly. And get a proper Wayland support too.

                    Comment

                    Working...
                    X