Pipewire without systemd

Forum Forums New users New Users and General Questions Pipewire without systemd

  • This topic has 132 replies, 11 voices, and was last updated Mar 7-12:58 am by stevesr0.
Viewing 13 posts - 121 through 133 (of 133 total)
  • Author
    Posts
  • #101046
    Moderator
    Brian Masinick
      Helpful
      Up
      0
      ::

      I love this discussion! I don’t have much need (at least not at the moment), for the pipeware tools and infrastructure, but I’ve enjoyed reading about this and I’m glad all of this is being raised now. Thanks DO for helping us out with this.

      I’ll probably test some of this myself later in our development cycle before we finalize the Beta and the release; it may be useful to learn something else new! Thank you all for your participation in this discussion.

      --
      Brian Masinick

      #101052
      Member
      olsztyn
        Helpful
        Up
        0
        ::

        I love this discussion! I don’t have much need (at least not at the moment), for the pipeware tools and infrastructure, but I’ve enjoyed reading about this and I’m glad all of this is being raised now. Thanks DO for helping us out with this.

        Thank you Brian for your interest in this topic…
        I do not have any pressing need for pipewire infrastructure either, I can live without it as well. It is only my interest in this new approach to sound in Linux that made me spend quite some time to dig into this out of curiosity and interest to improve.

        Unfortunately I am not out of the woods yet in finalizing approach…

        Further testing (still on the same machine as above) seems to result in the following experience:
        – Rebooted 10 times with the above setup and in three instances out of ten wireplumber failed to start
        – Injected ‘sleep 5’ between each component in startup sequence. Rebooted ten times and tested each time. Wireplumber started each time and sound worked properly.

        I do not know if it is just me or just my laptop but by sheer statistics of success in initializing pipewire sound it certainly looks like:
        – wireplumber occasionally fails to start in the above setup if no ‘sleep’ timing delays are used in startup between these components.
        – wireplumber starts every time so far if ‘sleep 5’ was used spaced between starting each component.

        If it starts then sound works fine. If it does not start then there is no sound of course.

        I was planning to test on other laptops, both more and less powerful, but it is very time consuming and I may just put up with this workaround of timing delays in starting pipewire components, if no better way found. Or this unreliability might be just too much for me to put up with and I might just wait for better solutions…
        Thanks again…

        • This reply was modified 2 months ago by olsztyn.

        Live antiX Boot Options (Previously posted by Xecure):
        https://antixlinuxfan.miraheze.org/wiki/Table_of_antiX_Boot_Parameters

        #101054
        Member
        stevesr0
          Helpful
          Up
          0
          ::

          Hi Olsztyn,

          Not sure if this is still an issue, but there was a problem last year (17 January 2022) on the Artix forum with Bluetoothd causing Wireplumber not to work after a suspend. Apparently disabling bluetoothd as a runit service or using the following code fixed it:

          Code
          # ~/.confi/Wireplumber/Wireplumber.conf
          …
            { name = policy.lua, type = config/lua }
          # { name = Bluetooth.lua, type = config/lua }
          ]

          stevesr0

          #101056
          Moderator
          Brian Masinick
            Helpful
            Up
            0
            ::

            Hi Olsztyn,

            Not sure if this is still an issue, but there was a problem last year (17 January 2022) on the Artix forum with Bluetoothd causing Wireplumber not to work after a suspend. Apparently disabling bluetoothd as a runit service or using the following code fixed it:

            Code
            # ~/.confi/Wireplumber/Wireplumber.conf
            …
              { name = policy.lua, type = config/lua }
            # { name = Bluetooth.lua, type = config/lua }
            ]

            stevesr0

            Hmm, that is an interesting issue, because when I’m using sound, though in some cases I can plug in my headphones, they are designed to work with Bluetooth, and in fact, for the past couple of years when I HAVE had an issue with a Debian-based distribution, it’s usually been with Bluetooth connectivity. I have had some success; however when I do have Bluetooth issues, at least 90% of them have been with Debian-based distributions, and antiX has suffered more than many others because of upstream software issues with the stack. If there is any reason that I’d start using pipewire, wireplumber, etc., it would probably be to get a “win” with this stuff more often, so I hope these matters improve greatly as the Debian Bookworm and the antiX 23 projects continue development.

            I may check around Debian from time to time to see what’s happening, and if there is an opportunity to TEST upstream, I may do so, since I use 3-4 Debian-based distributions, including Debian itself, and of COURSE, antiX!

            --
            Brian Masinick

            #101085
            Member
            olsztyn
              Helpful
              Up
              0
              ::

              ot sure if this is still an issue, but there was a problem last year (17 January 2022) on the Artix forum with Bluetoothd causing Wireplumber not to work after a suspend. Apparently disabling bluetoothd as a runit service or using the following code fixed it:

              Thanks @stevesr0…
              It does not appear that issue with wireplumber in my repeated tests is related to bluetooth and suspend reason. It rather seems to be related to pipewire components startup timing:
              – If pipewire components are started as in the specified above sequence with no timing (sleep) between them, then wireplumber fails to start in 30% cases (sample is small – just 10 reboots, so 30% might be incorrect value).
              – If pipewire components are started as above but with ‘sleep 5’ timing space between them then wireplumber starts every time. Again my disclaimer due to small sample of 10 reboots.

              So assuming that injecting such timing delays between starting pipewire components makes wireplumber/pipewire start and work every time, this might be considered the way to initalize pipewire infrastructure.

              I must mention again that such discovery of timing delays (sleep 5) between start of each pipewire component is not mine but credit for this goes to @Caprea. I just followed this idea.

              Pipewire sound and bluetooth support seams to work fine if all components, including wireplumber are initialized. The entire memory footprint toll in my setting (Thinkpad X220, i5, 4Gb) appears to me just about 20Mb over Alsa base, so not that much and probably even less than Pulseaudio, the way I remember. SO it appears to be a viable sound system to use, if all the claims about lower latency are indeed correct.

              Sound quality – I do not hear any difference, but I am not the right person to notice. I just remember a post about sound quality test performed by @calciumsodium, where two people found Pulseaudio sound quality to be slightly better.

              As the necessity to inject timing delays (about sleep 5) between startup of pipewire components are necessary for wireplumber, this is a workaround to me, rather than a solid and managed sequencing of these components, so I think this might confirm why @Xecure was using Runit user services to start pipewire pieces instead.
              However not having details I am not able to do it so far and I have a feeling it is not simple either.
              Looks to me that it should be the responsibility of wireplumber design to ensure the preceding required components are fully up but apparently it is not the case…

              • This reply was modified 2 months ago by dolphin_oracle.
              • This reply was modified 2 months ago by dolphin_oracle.
              • This reply was modified 2 months ago by dolphin_oracle.

              Live antiX Boot Options (Previously posted by Xecure):
              https://antixlinuxfan.miraheze.org/wiki/Table_of_antiX_Boot_Parameters

              #101088
              Member
              olsztyn
                Helpful
                Up
                0
                ::

                The preceding post shows my username as poster but it is not. My post to which the preceding post refers to is not showing at all…
                Could my post be recovered and shown, so the reference to it is consistent?

                • This reply was modified 2 months ago by olsztyn.
                • This reply was modified 2 months ago by dolphin_oracle.
                • This reply was modified 2 months ago by dolphin_oracle.

                Live antiX Boot Options (Previously posted by Xecure):
                https://antixlinuxfan.miraheze.org/wiki/Table_of_antiX_Boot_Parameters

                #101097
                Member
                olsztyn
                  Helpful
                  Up
                  0
                  ::

                  to be fair to the developer they do that with systemd service files. those of us that run other init systems and want to run pipewire have to deal with getting it started up.

                  we don’t have to run pipewire…

                  Whoever wrote this comment (I think either anticapitalista or dolphin_oracle) – Thanks!
                  Indeed, we do not have to run pipewire in antiX…

                  Recovering my post is not important, not to waste time of admins…

                  Live antiX Boot Options (Previously posted by Xecure):
                  https://antixlinuxfan.miraheze.org/wiki/Table_of_antiX_Boot_Parameters

                  #101112
                  Forum Admin
                  dolphin_oracle
                    Helpful
                    Up
                    0
                    ::

                    to be fair to the developer they do that with systemd service files. those of us that run other init systems and want to run pipewire have to deal with getting it started up.

                    we don’t have to run pipewire….

                    I wrote the previous comment, but I think I nuked your post in the process. should be restored. I must have accidentally used the edit button instead of reply, although I was fairly certain I used “quote”.

                    all well, your original post is restored.

                    • This reply was modified 2 months ago by dolphin_oracle.
                    #101114
                    Member
                    olsztyn
                      Helpful
                      Up
                      0
                      ::

                      all well, your original post is restored.

                      Thank you D/O…
                      Greatly appreciated.

                      Live antiX Boot Options (Previously posted by Xecure):
                      https://antixlinuxfan.miraheze.org/wiki/Table_of_antiX_Boot_Parameters

                      #101121
                      Member
                      stevesr0
                        Helpful
                        Up
                        0
                        ::

                        Re: sleep in enabling Wireplumber to be stable.

                        I am still using the sleep settings that Xecure recommended when I experienced a problem in getting Pipewire working originally.

                        It would be nice if the project built that in to their packages.

                        I think they don’t because their standard is systemd which handles that automagically.

                        I recall that they do have an option to build the software without the systemd assumption and I assume that it includes settings that might eliminate the need to initialize with sleep settings. But I haven’t looked at that in a L-O-O-O-N-G time.

                        There was a page by someone using unstable Devuan who built Pipewire without systemd that I might have quoted either in Xecure’s thread (Pipewire in antiX-21”) or earlier in this thread. That might (or might not) include a note about eliminating the need for specifying sleep dependencies.

                        stevesr0

                        • This reply was modified 2 months ago by stevesr0.
                        • This reply was modified 2 months ago by stevesr0.
                        #101288
                        Forum Admin
                        anticapitalista
                          Helpful
                          Up
                          0
                          ::

                          I have been trying to get pipewire et.al working using runit services but have failed.
                          I’m beginning to think that Xecure was able to get it to work because elogind or libelogind0 was running.
                          (Xecure’s posts about pipewire and runit pre-date our no elogind builds).
                          Void, artiX and Devuan all use elogind (libelogind0), unlike antiX.

                          Philosophers have interpreted the world in many ways; the point is to change it.

                          antiX with runit - leaner and meaner.

                          #101297
                          Member
                          olsztyn
                            Helpful
                            Up
                            0
                            ::

                            Void, artiX and Devuan all use elogind (libelogind0), unlike antiX.

                            Indeed…
                            In any case thank you for the attempt. At this pint we know at least there is a workaround (sleep timing delays between startup of pipewire components) to make pipewire work on *elogind*-free antiX. Such workaround is not an elegant solution for system purist but appears to work just fine. Memory footprint toll seems very minimal for pipewire (seems about 20Mb) and might be even lower than with Pulseaudio.

                            Aside from Pipewire or Pulseaudio:
                            For just Bluetooth support by Alsa there is a renewed BlueAlsa solution. Previously dropped by Debian some time ago but now re-instated and made available in Bookworm. Appears to install fine on antiX with just a few dependencies. No libelogind0.
                            The ‘only’ problem I am not able to resolve is that the new Bluealsa is designed to ‘configure a systemd service’ on startup. I do not know how easy or difficult it is to substitute a Runit service for this purpose but if it can be done then Bluetooth would be working straight on Alsa… Just an option to Pipewire or Pulseaudio…

                            Live antiX Boot Options (Previously posted by Xecure):
                            https://antixlinuxfan.miraheze.org/wiki/Table_of_antiX_Boot_Parameters

                            #101328
                            Member
                            stevesr0
                              Helpful
                              Up
                              0
                              ::

                              Hi anticapitalista,

                              re: Pipewire without elogind or libelogind0.

                              It works on my Sid system but that runs sysvinit. I will try to check if the individual who built Pipewire from source to run without systemd on Devuan did have elogind or libelogind0 installed. I thought he didn’t, but…

                              stevesr0

                            Viewing 13 posts - 121 through 133 (of 133 total)
                            • You must be logged in to reply to this topic.