Getting Pipewire to Work for You [The KISS Guide]

This page summarizes the projects mentioned and recommended in the original post on /r/voidlinux

Our great sponsors
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • SonarLint - Clean code begins in your IDE with SonarLint
  • Mergify - Updating dependencies is time-consuming.
  • runit-services

    Runit service scripts

    I did some digging and found this repository with some examples for runit scripts, but they needed a little bit of adjusting; specifically they make use of the deprecated pipewire-media-session. After adjusting them, I symlinked them in to my runsvdir and … still nothing! At this point, I almost decided to just go back to the shell script and let it go, but the next day I was picking at the problem again and found that the approach for per-user services as described in the void docs puts your user services into an environment that is isolated from your user session. You can take a look at the env of a process in htop, and if you look at any of your usual user-processes you'll probably see a long list of environment variables, but the user-level runsv process started by the system-level runit only knows about the variables you export in /etc/sv/runsvdir-your-username/run like HOME and USER. This effectively hamstrings services that need to run like other "normal" user processes.

  • void-packages

    The Void source packages collection

    Thanks for pointing this out. I've had a look at some other ways of ensuring that wireplumber and pipewire-pulse only start when pipewire is already up, but I do think that sv check is the best solution here that doesn't involve using an external tool like awk or cut to parse the output of sv status or sv check. NetworkManager for instance, uses this same approach to wait for dbus.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts