You are not logged in.
Allow me to add some fuel to the fire, or maybe start something we can build on in common: https://github.com/davesp/start_user_pipewire
Offline
Why use Microsoft's server for FOSS ?
Why not git.devuan.org ?
Or codeberg.org ?
Online
I've been boycotting github for years . . . MS can kiss my skinny behind. ![]()
Offline
OT: I didn't so much "choose" GitHub as "defaulted" to it.
It's familiar, and I already had it set up.
I didn't notice any Microsoft branding (nor was I looking for any).
GitHub didn't force me to insert any Microsoft-specific code, or force me to use Windows or Edge.
If they're paying for GitHub to exist and are hosting OSS without forcing authors to "bend to their will", isn't that good for OSS?
That's why using GitHib wasn't a big deal for me. But, since this is arguably a Devuan-specific issue, the repo has been moved from GitHub to "https://git.devuan.org/davesp/start_user_pipewire".
Last edited by davesp (2025-11-14 23:29:02)
Offline
I just tried your script on my setup and it works.
Thanks davesp.
Offline
Just a quick question, it seems as though pipewire is running via the user, is this check correct?
user1 being my login name.
~ $ ps -aux | grep 'pipewire\|wireplumber'
user1 2081 0.0 0.0 104188 12720 tty1 Sl 09:45 0:00 /usr/bin/pipewire
user1 2084 0.5 0.0 481776 19648 tty1 SLl 09:45 0:03 /usr/bin/wireplumber
user1 2087 0.4 0.0 105960 14652 tty1 SLl 09:45 0:03 /usr/bin/pipewire-pulseLast edited by HardSun (2025-11-14 23:59:59)
Offline
[Edited to update testing info.] Thanks for sharing the script. I found it easy to read and to understand what it was doing, which is much more than I can say about many of the scripts included with Debian. ![]()
A note to anyone not running elogind: you will need to manually set the value of XDG_RUNTIME_DIR to a directory which you own to get the pipewire daemon to start successfully. It's not enough to use a system directory where you have write permissions, such as /tmp, you must actually own it. Something like /tmp/pw will work. [Edit: I initially said /tmp/pulse, but that already exists!] I'm not sure yet how pipewire handles exit; you may need to clean up after it. It's probably worth noting that the startup script did not pass through the error messages from pipewire to the terminal when it failed. I had to start pipewire manually to figure out why it was failing. If anyone else runs into trouble, I suggest you try that first.
After I fixed this issue, the three daemons started successfully, and I confirmed monitor audio was working in OBS Studio (obs requires PulseAudio support for monitoring.) The only drawback was routing: I only saw a single PA input and output (hello feedback!) Hopefully, that's something I can fix through the configuration files.
Last edited by stultumanto (Yesterday 10:17:05)
Online
stultumanto, that's a good find. Just now, I pushed an update which captures stderr from each binary launch, and says where to look if that launch failed.
I don't have XDG_RUNTIME_DIR set locally; are you able to un-set XDG_RUNTIME_DIR and re-run the script to see if the change would help debug the issue?
Offline
HardSun: Those are the binaries which are expected to be running. Is your audio not working?
Offline
@davesp
its working, i was just curious if i was running it correctly, i put it in .xinitrc to autostart via startx.
I also locally set $XDG_RUNTIME_DIR as i dont use elogind only seatd.
Last edited by HardSun (Yesterday 23:55:02)
Offline
just cancel pipewire and use alsa only + jack every so often, this is literally bloating the desktop with the bloatware of pipewire as if the poettering bloatware of pulseaudio wasn't bad enough, maybe we should all go to a real OS like OpenBSD that has a proper audio stack and system.
Offline
just cancel pipewire and use alsa only + jack every so often, this is literally bloating the desktop with the bloatware of pipewire as if the poettering bloatware of pulseaudio wasn't bad enough, maybe we should all go to a real OS like OpenBSD that has a proper audio stack and system.
Ive tried OpenBSD, it has no bluetooth stack so i cant use my portable bluetooth speaker for audio. ![]()
Offline
OpenBSD, it has no bluetooth stack
Really? They still don't have bluetooth?
I get OpenBSD having not-desktop priorities, but FFS, bluetooth came out in 1998.
Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.
Offline
@steve
They had netbsd's bluetooth stack back around openbsd 5.3 version but removed it due to security concerns.
Offline
just cancel pipewire and use alsa only + jack every so often, this is literally bloating the desktop
I would certainly not recommend that people indiscriminately pile-on services without a good reason. I'm only starting PipeWire because I want to run OBS Studio, which requires PulseAudio. At least I have the option of only turning on PW when I need it. PulseAudio leaves your system in a broken state if you try to disable it without completely purging it.
I don't have XDG_RUNTIME_DIR set locally; are you able to un-set XDG_RUNTIME_DIR and re-run the script to see if the change would help debug the issue?
That's interesting, Maybe you have set one of the other envvars it checks. The error message says PIPEWIRE_RUNTME_DIR or USERPROFILE work as well. I also read somewhere that dbus may help with setting up some of this environment stuff, but it didn't work for me. Can you determine where pipewire is opening the socket on your system? Here's the exact error I get when I start pipewire without XDG_RUNTIME_DIR:
[E][23:49:58.480001] mod.protocol-native | [module-protocol-: 756 init_socket_name()] server 0x562d794d35c0: name pipewire-0 is not an absolute path and no runtime dir found. Set one of PIPEWIRE_RUNTIME_DIR, XDG_RUNTIME_DIR or USERPROFILE in the environment
[E][23:49:58.480143] pw.conf | [ conf.c: 602 load_module()] 0x562d794b0190: could not load mandatory module "libpipewire-module-protocol-native": No such file or directory
[E][23:49:58.480400] default | [ pipewire.c: 124 main()] failed to create context: No such file or directoryI unset XDG_RUNTIME_DIR and instead set PIPEWIRE_RUNTIME_DIR. It seemed to work just as well. The latter might be a better option. Since it's specific to PipeWire, it could even be set by the script without interfering with other programs that might use the value of XDG_RUNTIME_DIR.
Online
just cancel pipewire and use alsa only + jack every so often, this is literally bloating the desktop with the bloatware of pipewire as if the poettering bloatware of pulseaudio wasn't bad enough,
I'm afraid I agree. But there's a lot of work to be done to make pure alsa more accessible to an average non-technical user. Working on that myself, and forum member @rations just posted some nice work on alsa+jack systems. Even Igor's doing some good, lol, so hopefully there's some resurgence in interest for a nice low latency system without a lot of software on top of it, just needs some simple gui methods to control configs really.
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Online
it really warms my heart to see the joke fly over everyone's head thanks to my posts being ignored unless i join the whining...
still interesting to see how simple the approach of the start_user_pipewire script is when i went ahead like an idiot and engineered a whole crappy process manager + incomplete session process in shell (not even bash because arrays are the devil) all to have pipewire "just work" with 3 files that barely classify as config files...
Offline
it really warms my heart to see the joke fly over everyone's head thanks to my posts being ignored unless i join the whining...
Sorry, I have a tad bit of the 'tism so sometimes I don't recognize sarcasm.
But I don't think everyone is whining, lots of folks contributing new info about sound and potential solutions.
But I should stay out of Pipe-how-to threads in general as I am a founding member of TDAM (The Devuan Alsa Mafia). ![]()
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Online
Yeah, it went right over my head, EDX-0. I had a vague memory of that previous PipeWire thread, but when I searched a few days ago, this thread came up first. I recall my reaction to the previous thread being,"looks complicated, glad I don't need to worry about this!" I respect that you wrote your script to be POSIX compliant. It did occur to me while reading this thread that a "user session manager" would be useful. I guess it's another case of systemd taking all the air out of the room.
Online