• SupportNo
  • Is Pipewire not fully supported on Solus?

There some audio issues, when you play some native games that uses FMOD. And there is no Pipewire option in in-game audio settings.

After some time spend to "research", I found out that this may be related with pipewire-alsa module.

Issues:
Project Zomboid - on first run there can be sound, but there is no way to change volume. Next game start will be without audio, and there will be nothing in in-game and system (kde) audio settings.

Euro Truck Simulator 2 - If you want to have sound you must close all apps that use audio otherwise no sound in ETS

War Thunder - just no Pipewire option in settings

Being curious I installed Garuda Linux.
And there was no issues with these games also there was Pipewire option in in-game audio settings.

And there is no Pipewire option in in-game audio settings.

That's because we don't use pipewire, we use pulseaudio. Not sure where you got the idea that we use pipewire. You have to explicitly enable the pipewire service as your user as well as any supplemental services (and depending on the package set, possibly install it). You can see some of the details at https://dev.getsol.us/T9694, which @YakoYakoYokuYoku wrote. Bear in mind you don't need to switch to unstable, that was only applicable for that specific release. The Setup is the most applicable section.

    Yeah, i know that default is pulseaudio.

    I installed and activeted Pipewire.

    I just love to test "bleeding edge" software, so I think that will be nice to inform devs about some issues... just in case

    JoshStrobl

      Figured some things out and have a potential fix (requiring some changes to our ALSA and pipewire packages). Not sure if this is quite the right way yet, but have submitted them for review, so the team can show me the way 😃

        Awesome! Thanks again for the work you have done. Now the only issue I have founed is with the wacom's graphical tablets when you on gtk based DE (main reason why I can't use Budgie ;_; ). But I doubt it will be fixed...

        8 days later

        Since I just saw someone liking a post in this thread: With some recent changes you'll have to install the pipewire-alsa package as well for it to work.

          Staudey I just tried this, which results in this error. Is there a procedure to fix the conflict? TIA

          Installing 1 / 1
          pipewire-alsa-0.3.38-32-1-x86_64.eopkg [cached]
          Installing pipewire-alsa, version 0.3.38, release 32
           [✓] Syncing filesystems                                                success
          Program terminated.
          File conflicts:
          /usr/share/alsa/conf.d/99-pipewire-default.conf from pipewire package

            ReillyBrogan I always fully update every Friday, and I can see from history I did this past one as well. However, I did just run another update, and the new pipewire items did get installed. I must have beat them, or they were an out-of-band update. (I only schedule the update checks and notification once a week to save some traffic on my already busy network...)

            All that said, as suggested, once the update was done, I was able to install the pipewire-alsa package successfully! Thanks for the help!

            While you had an updated index, you installed pipewire-alsa without updating your system, which had a new pipewire update (rel 32) in that moved the alsa 99-pipewire-default.conf file to its own pipewire-alsa package. eopkg was correctly complaining and terminating the installation because you cannot have two owners of the same file. The first one would have been the old pipewire package, and the new one would have been from the pipewire-alsa package, which is patterned out of our pipewire package in rel 32.

              JoshStrobl I did run eopkg upgrade on Friday, not just eopkg update. However, I see that the pipewire packages were updated outside of the usual Friday sync, which was unexpected. All cool, just needed the reminder to run eopkg upgrade again to catch up, and it of course worked because you guys are awesome!

              Index of /solus/packages/shannon/p/pipewire/
              Name Last Modified↑ Size: Type:
              pipewire-32bit-dbginfo-0.3.38-32-1-x86_64.eopkg 2021-Oct-24 15:08:32 4.2M application/octet-stream
              pipewire-jack-0.3.38-32-1-x86_64.eopkg 2021-Oct-24 15:08:31 125.7K application/octet-stream
              pipewire-devel-0.3.38-32-1-x86_64.eopkg 2021-Oct-24 15:08:31 114.9K application/octet-stream
              pipewire-dbginfo-0.3.38-32-1-x86_64.eopkg 2021-Oct-24 15:08:31 6.4M application/octet-stream
              pipewire-alsa-0.3.38-32-1-x86_64.eopkg 2021-Oct-24 15:08:31 3.9K application/octet-stream
              pipewire-32bit-devel-0.3.38-32-1-x86_64.eopkg 2021-Oct-24 15:08:31 4.2K application/octet-stream
              pipewire-32bit-0.3.38-32-1-x86_64.eopkg 2021-Oct-24 15:08:31 1.0M application/octet-stream
              pipewire-0.3.38-32-1-x86_64.eopkg 2021-Oct-24 15:08:31 1.5M application/octet-stream
              pipewire-jack-28-31-1-x86_64.delta.eopkg 2021-Oct-22 17:26:01 125.1K application/octet-stream
              pipewire-jack-26-31-1-x86_64.delta.eopkg 2021-Oct-22 17:25:59 125.1K application/octet-stream
              pipewire-devel-28-31-1-x86_64.delta.eopkg 2021-Oct-22 17:25:36 26.9K application/octet-stream
              pipewire-devel-26-31-1-x86_64.delta.eopkg 2021-Oct-22 17:25:35 40.0K application/octet-stream
              pipewire-32bit-devel-28-31-1-x86_64.delta.eopkg 2021-Oct-22 17:25:04 4.2K application/octet-stream
              pipewire-32bit-devel-26-31-1-x86_64.delta.eopkg 2021-Oct-22 17:25:03 4.2K application/octet-stream
              pipewire-32bit-28-31-1-x86_64.delta.eopkg 2021-Oct-22 17:24:40 1.0M application/octet-stream
              pipewire-32bit-26-31-1-x86_64.delta.eopkg 2021-Oct-22 17:24:34 1.0M application/octet-stream
              pipewire-28-31-1-x86_64.delta.eopkg 2021-Oct-22 17:24:18 1.4M application/octet-stream
              pipewire-26-31-1-x86_64.delta.eopkg 2021-Oct-22 17:24:08 1.4M application/octet-stream

              Thanks again for the excellent Distro!

              While support ain't official atm (see that biggie "No" tag in the post) for PipeWire, the thing is still a dependency from a countable number of components, like PipeWire for your audio setup, Wayland screensharing, etc. As of the update of this date the media-session service was butchered out of it and WirePlumber is up to replace it (hitting your stable soon). So if you don't want a crippled user experience with PipeWire and WirePlumber you have to do the following.

              1. Update your system with eopkg up plus install the hot and fresh WirePlumber with eopkg it wireplumber.
              2. Enable and launch the WirePlumber service systemctl --user enable --now wireplumber.
              3. Get rid of that oldcrap media-session with systemctl --user disable --now pipewire-media-session.
              4. If you want to use pipewire-pulse instead of pulseaudio do systemctl --user disable pulseaudio.socket pulseaudio and systemctl --user enable pipewire-pulse.socket pipewire-pulse, use --now if you want them now (word of caution as it may wreck your audio until reboot).
              5. Listen carefully and steadily, restart the darn pipewire service (and by extent pipewire-pulse if you were using it), otherwise many things will be broken and you'll only be listening the fans of your desktop, just do systemctl --user restart pipewire.socket pipewire (add pipewire-pulse.socket pipewire-pulse for the PulseAudio thingy).
              6. Reboot if you are paranoid enough or you start perceiving strange behaviors in your setup.

              Now I can't guarantee any further down the road success for you but if you follow the steps exactly as described you can listen to your music again on that BlueTooth headset and flex your Solus desktop to your friends.

                YakoYakoYokuYoku Followed the instructions to the letter, including enabling the pipewire-pulse service + socket, rebooted, and now on pipewire. First thing I noticed is either pipewire isn't correctly communicating the stream info, or libgvc (libgnome-volume-control) isn't properly detecting it, so as a result the Firefox Gvc stream info isn't accurate and we cannot determine the iconography we should be using in Raven's sound control (whereas pulseaudio + gvc is able to provide the correct stream info), likely because we can't figure out the corresponding AppInfo.

                Other than that, so far so good. But I'm basically one YouTube video in after a minute and already found a problem sooooo 😃

                P.S. As a reminder, no we still have no plans on switching to pipewire. Just swapping my desktop because I'm curious. Clearly there is still more work they need to do on it.

                  JoshStrobl I had this issue as well too, but in this case Idk is with the PulseAudio PipeWire implementation or, less likely, gnome-volume-control. sooooo if you find more problems I guess you can call yourself lucky enough.

                    YakoYakoYokuYoku
                    thx a lot for your little tutorial.
                    Updated solus yesterday and aftr booting up again today sound was gone (no output device shown in gui). I simply copied over your steps and it works again 🙂

                    YakoYakoYokuYoku if i'm not mistaken new (clear) connection on Pipewire with all bridge looks like:

                    1. sudo eopkg it pipewire wireplumber
                    2. systemctl --user enable pipewire
                    3. systemctl --user enable --now wireplumber
                    4. systemctl --user disable pulseaudio pulseaudio.socket
                    5. systemctl --user enable pipewire-pulse.socket pipewire-pulse
                    6. reboot