Page 1 of 1
PipeWire integration discussion?
Posted: Mon Oct 03, 2022 3:50 pm
by AVLinux
Hi,
A bit of background... As many people are aware PipeWire is an emerging Audio server to combine and replace the functionality of PulseAudio and JACK. It is still in a very 'beta' state and some Distributions like Fedora and Arch have made it their new default Audio server replacing PulseAudio completely. Debian has adopted a much more cautious stance and although PipeWire is available in Debian Bullseye Repo it is an extremely old and bug-ridden early beta package. From what I've read in various places at the current state of development PipeWire is well able to replace PulseAudio for most end users BUT it is still missing some functionality and is not yet a reliable or complete replacement for JACK. To summarize it is fine for casual normal Desktop usage but not able to be a viable replacement for the best potential latency and syncronization for Professional Linux Audio production.
It is no secret that I use and adapt MX Linux to make AV Linux and the real purpose of AV Linux is to do professional Audio and Video production so it may seem I would be in a big rush to adopt PipeWire but to be honest PipeWire at it's current stage is not really any better than the existing PulseAudio/JACK 'pajackconnect' bridging that AV Linux already provides by default.. In the Open Source world there is always a great temptation to run after the latest shiny thing and drop and abandon what already works and I'm not desperately in a hurry to embrace PipeWire personally... however... PipeWire will be a future reality to be reckoned with for both MX Linux and AV Linux and I thought I would at least open a discussion about it and see if: (a) There is developer/packager interest in integrating it into MX-21 to get a head start..? (b) If there is significant User interest in having recent PipeWire packages available that install smoothly into an existing MX system..? Debian often provides the modular bits and pieces of things but doesn't always include commonly used options and sometimes doesn't provide an optimal base configuration, in these cases MX seems to provide better and more complete packaging.
To be clear I am in no rush but if MX is going to adopt PipeWire we should probably collaborate on it and have one common setup for both MX and AVL to make things easier for Users, Packagers and those who give help on the forums. As it stands now stock MX and AV Linux have very different default Audio configs and since we both have a new Audio kid in town to integrate I wanted to explore if we can achieve one setup to rule them all...
Thoughts?
Re: PipeWire integration discussion?
Posted: Mon Oct 03, 2022 4:48 pm
by Stevo
Back in June, I backported 0.3.51 from upstream for the MX 21 test repo per one user's request, but they reported that installation completely broke their audio, and I haven't done anything since on that front.
Re: PipeWire integration discussion?
Posted: Mon Oct 03, 2022 5:03 pm
by AVLinux
Stevo wrote: Mon Oct 03, 2022 4:48 pm
Back in June, I backported 0.3.51 from upstream for the MX 21 test repo per one user's request, but they reported that installation completely broke their audio, and I haven't done anything since on that front.
Hmmm, yes I think to make 'replace whatever is already there' packages may be a bit tricky but I would think upstream Debian would have to be expecting that their packages may be installed on a system with existing Audio server(s). Also did the person reporting the Audio 'breakage' have much experience with such things? Or were they knowledgeable about how the system is intended to start Pipewire etc..? I'm sure some knowledge about how it's supposed to work and what related utilities are needed (ie WirePlumber', pipewire-pulse, etc..)
I see a potential complication here for Debian Bullseye..
For Debian 12 and newer, pipewire-audio-client-libraries is replaced by pipewire-alsa and pipewire-jack.
They have a pretty detailed Wiki page here on configs etc..:
https://gitlab.freedesktop.org/pipewire ... g-PipeWire
Debian-specific Wiki:
https://wiki.debian.org/PipeWire#Installation
Also, is this where the Debian upstream stuff comes from?
https://salsa.debian.org/utopia-team/pipewire
Re: PipeWire integration discussion?
Posted: Mon Oct 03, 2022 5:50 pm
by Stevo
I think they just installed "pipewire" from the test repo with MXPI, restarted, and sound wasn't working. We can probably search the forum for pipewire and get the thread, I don't recall many threads with it...
Well, I'm wrong, there's a jillion QSIs with "Sound Server 3: Pipewire 3.19"...does our KDE edition ship with that?
Here's the thread where I did the backport:
https://forum.mxlinux.org/viewtopic.php ... 59#p685259
I usually ignore the salsa Debian stuff. I just use repology to look at the current release of a package, and if Debian, (and MX) have in the various repos:
https://repology.org/project/pipewire/versions
Click on "pipewire" on the Debian entry, it'll go to its Debian source page, and the source files are at the bottom.
Debian source and package pages are two different things. In pipewire's case, the name is exactly the same for both, but Debian generates a lot more packages from the pipewire source, and I'd say that having the source and package name not match at all is more the norm. Take the kernel: its source is just "linux", but there's no "linux" package.
Re: PipeWire integration discussion?
Posted: Mon Oct 03, 2022 5:58 pm
by AVLinux
@Stevo
Thanks for finding that thread, in my searches I've also found the pipewire-debian PPA (yes I know... PPA Very Bad!!!) The PPA instructions however do have some MX Linux and sysvinit instructions and pointers that may be useful info even if you are doing Packages from upstream Debian proper? I'm NOT sharing this link for people to use the PPA itself, just for some future potential config references:
https://pipewire-debian.github.io/pipewire-debian/
If we are able to get some up to date-ish Packages of PipeWire, WirePlumber, and the pulse and jack clients I can set up a guinea pig system to see if I can figure it out..
Re: PipeWire integration discussion?
Posted: Tue Oct 04, 2022 6:37 am
by dolphin_oracle
Supposedly Debian 12 will use pipewire.
Re: PipeWire integration discussion?
Posted: Tue Oct 04, 2022 8:19 am
by AVLinux
dolphin_oracle wrote: Tue Oct 04, 2022 6:37 am
Supposedly Debian 12 will use pipewire.
That would make sense and hopefully it will have most of the last bugs worked out by then, is your feeling just to let sleeping dogs lie until Debian 12/MX-23 then and integrate it when the time comes?
Re: PipeWire integration discussion?
Posted: Tue Oct 04, 2022 8:49 am
by anticapitalista
Just to let you know, antiX has systemd/elogind-free debs of pipewire and wireplumber in its sid/dev repo.
I'm going to move them to antiX testing/dev (Debian 12 repos) to see how well they work (if they do at all).
Re: PipeWire integration discussion?
Posted: Tue Oct 04, 2022 10:15 am
by dolphin_oracle
anticapitalista wrote: Tue Oct 04, 2022 8:49 am
Just to let you know, antiX has systemd/elogind-free debs of pipewire and wireplumber in its sid/dev repo.
I'm going to move them to antiX testing/dev (Debian 12 repos) to see how well they work (if they do at all).
@AVLinux have you used pipewire at all? the debian wiki talks about service files for pipewire. did you need to do any init files? we don't really have init files for pulseaudio, we just start it in the user startup files. can the server be started without a systemd service file?
honestly I've never messed with it at all.
Re: PipeWire integration discussion?
Posted: Tue Oct 04, 2022 12:28 pm
by AVLinux
dolphin_oracle wrote: Tue Oct 04, 2022 10:15 am
anticapitalista wrote: Tue Oct 04, 2022 8:49 am
Just to let you know, antiX has systemd/elogind-free debs of pipewire and wireplumber in its sid/dev repo.
I'm going to move them to antiX testing/dev (Debian 12 repos) to see how well they work (if they do at all).
@AVLinux have you used pipewire at all? the debian wiki talks about service files for pipewire. did you need to do any init files? we don't really have init files for pulseaudio, we just start it in the user startup files. can the server be started without a systemd service file?
honestly I've never messed with it at all.
No, I'm like you and haven't messed with it either, that's why I started the thread to kind of get an idea of what we were in for since it will be a pretty significant change. I didn't want to start with stale packages because they are making changes all the time and have already split the the jack and pulse clients into separate packages in Debian 12. If
@Stevo is able to get some current upstream packages into MX Test I thought I could get a PipeWire setup running and see what was needed including any changes for sysvinit but it looks like
@anticapitalista has that well in hand on the antiX side so maybe we will get some pooled info on that..
In any case for MX and AVL both we'll probably want to see if it can work OOTB on both init systems...

On the other hand perhaps the Debian devs are working all that stuff out in Bookworm...?
I think looking forward the closer we can get the MX and AVL Audio Pipewire system defaults to being the same will save a lot of hassle and confusion... Haha if we get that figured with the Liquorix kernels and all the great MX multimedia Packaging I can obsolete myself and retire!

Re: PipeWire integration discussion?
Posted: Tue Oct 04, 2022 1:09 pm
by dolphin_oracle
AVLinux wrote: Tue Oct 04, 2022 12:28 pm
dolphin_oracle wrote: Tue Oct 04, 2022 10:15 am
anticapitalista wrote: Tue Oct 04, 2022 8:49 am
Just to let you know, antiX has systemd/elogind-free debs of pipewire and wireplumber in its sid/dev repo.
I'm going to move them to antiX testing/dev (Debian 12 repos) to see how well they work (if they do at all).
@AVLinux have you used pipewire at all? the debian wiki talks about service files for pipewire. did you need to do any init files? we don't really have init files for pulseaudio, we just start it in the user startup files. can the server be started without a systemd service file?
honestly I've never messed with it at all.
No, I'm like you and haven't messed with it either, that's why I started the thread to kind of get an idea of what we were in for since it will be a pretty significant change. I didn't want to start with stale packages because they are making changes all the time and have already split the the jack and pulse clients into separate packages in Debian 12. If @Stevo is able to get some current upstream packages into MX Test I thought I could get a PipeWire setup running and see what was needed including any changes for sysvinit but it looks like @anticapitalista has that well in hand on the antiX side so maybe we will get some pooled info on that..
In any case for MX and AVL both we'll probably want to see if it can work OOTB on both init systems...

On the other hand perhaps the Debian devs are working all that stuff out in Bookworm...?
I think looking forward the closer we can get the MX and AVL Audio Pipewire system defaults to being the same will save a lot of hassle and confusion... Haha if we get that figured with the Liquorix kernels and all the great MX multimedia Packaging I can obsolete myself and retire!
debian has newer packages in backports as well. if something actually needs systemd to work, (even if just an init script) I would not count on debian packagers to work it out.
Re: PipeWire integration discussion?
Posted: Tue Oct 04, 2022 5:42 pm
by Stevo
Here's the changelog of 0.3.58 in upstream Debian and then what had to be changed in bullseye-backports. It looks rather complicated:
Code: Select all
pipewire (0.3.58-2~bpo11+1) bullseye-backports; urgency=medium
* Rebuild for bullseye-backports.
* Disable XFixes, minimum required version not available in Bullseye
* Reenable libfreeaptx, now in bullseye-backports
* Do not mark pipewire-pulse in conflict with pulseaudio
Bullseye (and users) is not ready for this change.
-- Dylan Aïssi <daissi@debian.org> Fri, 30 Sep 2022 11:30:26 +0200
pipewire (0.3.58-2) unstable; urgency=medium
* Mention to install pipewire-alsa and pipewire-jack
in README.Debian (Closes: #1019971)
* Add debian/pipewire-alsa.TODO
* Patch pipewire-pulse.service to be sure it is started
after a session manager (Closes: #1019944)
Because of a bug in the way systemd handles aliases, they have been removed
in wireplumber and pipewire-media-session services to avoid a conflict.
This change needs to be reflected in the pipewire-pulse service to be sure
it is started after a session manager, otherwise pipewire-pulse doesn't
see any devices.
-- Dylan Aïssi <daissi@debian.org> Fri, 23 Sep 2022 11:01:16 +0200
pipewire (0.3.58-1) unstable; urgency=medium
[ Dylan Aïssi ]
* New upstream release
- Fix crackling sound if pavucontrol is open (Closes: #1019888)
* Create a pipewire group and define real-time priority limits
(Closes: #1011399)
* Add suggestion to install wireplumber in pipewire.README.Debian
* Clarify relation between pipewire and libspa-0.2-bluetooth in
pipewire.README.Debian (Closes: #998220, #1011035)
* Remove reference to experimental status of pipewire for audio
[ Sebastien Bacher ]
* Let pipewire-pulse conflicts on pulseaudio
(Closes: #1013276, LP: #1975823)
Re: PipeWire integration discussion?
Posted: Tue Oct 04, 2022 7:44 pm
by AVLinux
Eeegads! That does look pretty messy... almost messy enough to file under 'too much trouble to be bothered with'. Seems like it's getting to be a square peg round hole scenario for it to work in Bullseye...

Re: PipeWire integration discussion?
Posted: Fri Oct 07, 2022 5:16 pm
by AVLinux
Ugh, apparently the current Wireplumber (0.4.11) is broken and doesn't request the system ALSA device properly, that's a pretty major bug, this seems like a big mess right now...

Re: PipeWire integration discussion?
Posted: Fri Oct 07, 2022 5:58 pm
by anticapitalista
IMO - on Debian, wireplumber and pipewire will only be 'reliable' on Debian-12 (forget trying to get it to work on Debian 11).
Re: PipeWire integration discussion?
Posted: Tue Oct 11, 2022 7:48 am
by Steve
AVLinux wrote: Fri Oct 07, 2022 5:16 pm
Ugh, apparently the current Wireplumber (0.4.11) is broken and doesn't request the system ALSA device properly, that's a pretty major bug, this seems like a big mess right now...
@AVLinux
I know this is a Mx discussion… but with Debian 11 and the wiki instructions everything that I have is working, with 3.19… and qjackctl to do any needful routing. did not try to up to the latest.
Kinda neat. I would recommend only using the debian11 non free iso and do the install after booting into the live environment if you wish to try it out. No issues with alsa,
Will work it harder later this week…see if it holds up

steve
Update- no x-runs

so far anyway. Tried recording audio and midi from midi guitar 2 vst in Reaper, always got a few x runs with just playing mg2’s presets. Midi guitar stayed in the middle of the cpu graph no spikes… Great hopes here for smooth sailing.

Re: PipeWire integration discussion?
Posted: Tue Oct 11, 2022 8:22 am
by AK-47
dolphin_oracle wrote: Tue Oct 04, 2022 6:37 am
Supposedly Debian 12 will use pipewire.
They will use PipeWire and WirePlumber by default. Smooth sailing on my Fedora install (although I've got a CF-31 Mk3 so I always need to do "alsaunmute" just like on MX).
Code: Select all
$ pipewire --version
pipewire
Compiled with libpipewire 0.3.59
Linked with libpipewire 0.3.59
$ wireplumber --version
wireplumber
Compiled with libwireplumber 0.4.12
Linked with libwireplumber 0.4.12
For getting it to work with your existing pulseaudio stuff, you need the pipewire-pulse shim installed also. Any version below about 3.30 is a waste of time.
Re: PipeWire integration discussion?
Posted: Fri Oct 14, 2022 7:25 am
by Steve
Steve wrote: Tue Oct 11, 2022 7:48 am
AVLinux wrote: Fri Oct 07, 2022 5:16 pm
Ugh, apparently the current Wireplumber (0.4.11) is broken and doesn't request the system ALSA device properly, that's a pretty major bug, this seems like a big mess right now...
@AVLinux
I know this is a Mx discussion… but with Debian 11 and the wiki instructions everything that I have is working, with 3.19… and qjackctl to do any needful routing. did not try to up to the latest.
Kinda neat. I would recommend only using the debian11 non free iso and do the install after booting into the live environment if you wish to try it out. No issues with alsa,
Will work it harder later this week…see if it holds up

steve
Update- no x-runs

so far anyway. Tried recording audio and midi from midi guitar 2 vst in Reaper, always got a few x runs with just playing mg2’s presets. Midi guitar stayed in the middle of the cpu graph no spikes… Great hopes here for smooth sailing.
Update 2 …
Still no x runs some weird shuddering of the mg2 vst at the start sometimes…click on the window and it stops and does not happen again in that session. Reaper locked up when I tried to save last night…
Reaper asked if I wished to close the non-responding window and shut it down all my work was saved when I loaded reaper up again. The reaper shows less than 10% on the fox cpu meter. Later…
Re: PipeWire integration discussion?
Posted: Fri Oct 14, 2022 7:28 am
by Steve
Steve wrote: Fri Oct 14, 2022 7:25 am
Steve wrote: Tue Oct 11, 2022 7:48 am
AVLinux wrote: Fri Oct 07, 2022 5:16 pm
Ugh, apparently the current Wireplumber (0.4.11) is broken and doesn't request the system ALSA device properly, that's a pretty major bug, this seems like a big mess right now...
@AVLinux
I know this is a Mx discussion… but with Debian 11 and the wiki instructions everything that I have is working, with 3.19… and qjackctl to do any needful routing. did not try to up to the latest.
Kinda neat. I would recommend only using the debian11 non free iso and do the install after booting into the live environment if you wish to try it out. No issues with alsa,
Will work it harder later this week…see if it holds up

steve
Update- no x-runs

so far anyway. Tried recording audio and midi from midi guitar 2 vst in
Reaper, always got a few x runs with just playing mg2’s presets. Midi guitar stayed in the middle of the cpu graph no spikes… Great hopes here for smooth sailing.
Update 2 …
Still no x runs some weird shuddering of the mg2 vst at the start sometimes…click on the window and it stops and does not happen again in that session. Reaper locked up when I tried to save last night…
Reaper asked if I wished to close the non-responding window and shut it down all my work was saved when I loaded reaper up again. Reaper shows less than 10% on the fox cpu meter. Later…
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 10:58 am
by DeepDayze
anticapitalista wrote: Fri Oct 07, 2022 5:58 pm
IMO - on Debian, wireplumber and pipewire will only be 'reliable' on Debian-12 (forget trying to get it to work on Debian 11).
I used the test pipewire-3.58 and wireplumber 4.12 packages and set them up according to the debian 11 wiki and works for me. Even masked pulse service to keep it from starting, plus installing the pipewire-pulse package as well. YT videos play with no juddering so does audacious, including using a bt headset. So yes PW works on MX :)
Note: Sid has the PW 3.59 and wonder if that would be backported to MX test repo to try out...
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 12:56 pm
by anticapitalista
@DeepDayze
Good to hear.
Do they work without systemd?
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 3:23 pm
by DeepDayze
anticapitalista wrote: Sat Oct 15, 2022 12:56 pm
@DeepDayze
Good to hear.
Do they work without systemd?
Oh haven't tested that so will try in SysVinit mode and report back. The MX testing repo PW/WP packages work fine in systemd.
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 4:21 pm
by AVLinux
DeepDayze wrote: Sat Oct 15, 2022 10:58 am
anticapitalista wrote: Fri Oct 07, 2022 5:58 pm
IMO - on Debian, wireplumber and pipewire will only be 'reliable' on Debian-12 (forget trying to get it to work on Debian 11).
I used the test pipewire-3.58 and wireplumber 4.12 packages and set them up according to the debian 11 wiki and works for me. Even masked pulse service to keep it from starting, plus installing the pipewire-pulse package as well. YT videos play with no juddering so does audacious, including using a bt headset. So yes PW works on MX :)
Note: Sid has the PW 3.59 and wonder if that would be backported to MX test repo to try out...
Any details or system-wide configs you can provide would be very much appreciated, as a personal example I'm using and testing Enlightenment as a future Desktop Environment and it reportedly requires pipewire-pulse as it doesn't directly work with PW, are you saying you have simply disabled PulseAudio on your system or have you removed it completely? I'm a little unclear if PulseAudio and JACK are still required on the system or if PipeWire completely replaces them with it's own server and clients.
I would concur that any info about performance with sysvinit will be vital to know.
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 4:24 pm
by DeepDayze
Okay, on MX-21.2 in testing under Sysvinit, pipewire and wireplumber does not start but pulseaudio does (I kept all pulseaudio packages installed). Pulseaudio service starts under Sysvinit as it's only masked in systemd. There may need to be some init scripts developed along the lines of the systemd units for pipewire and wireplumber to ensure they are able to start under Sysvinit.
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 4:27 pm
by AVLinux
DeepDayze wrote: Sat Oct 15, 2022 4:24 pm
Okay, on MX-21.2 in testing under Sysvinit, pipewire and wireplumber does not start but pulseaudio does (I kept all pulseaudio packages installed). Pulseaudio service starts under Sysvinit as it's only masked in systemd. There may need to be some init scripts developed along the lines of the systemd units for pipewire and wireplumber to ensure they are able to start under Sysvinit.
Ugh! That is discouraging... a new supposedly universal Audio server should be completely compliant with all known init systems.., I would guess this is what
@anticapitalista was finding on the antiX side
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 4:58 pm
by dolphin_oracle
I have it running under sysvinit. starts in a similar fashion to the way pulseaudio starts, via an autostart entries.
installed all the pipepire, pipewire-alsa, pipewire-pulse, gstreamer1.0-pipewire and wireplumber from the debian backports repo. (0.3.58)
**edit** for bluetooth remove pulseaudio-modules-bluetooth and install libspa-0.2-bluetooth
setup two config files.
Code: Select all
sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
sudo mkdir /usr/share/pipewire/media-session.d
sudo touch /usr/share/pipewire/media-session.d/with-alsa
I created a executable "/usr/bin/pipewire-start" script with the following contents:
Code: Select all
#/bin/bash
INITCHECK=$(ps -p 1 -o cmd -h)
if [ "$INITCHECK" = "/lib/systemd/systemd" ]; then
exit 0
fi
#else start them up
pipewire &
pipewire-pulse &
wireplumber &
exit 0
made executable with
and created an autostart entry. to be generic for all users, I put this under /etc/xdg/autostart as pipewire.desktop
Code: Select all
[Desktop Entry]
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=pipewire (sysVinit)
Comment=pipewire (sysvinit)
Exec=/usr/bin/pipewire-start
StartupNotify=false
Terminal=false
Hidden=false
and upon reboot I have the pipewire-pulse pulseaudio replacement, which looks like this in pactl:
Code: Select all
pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 34
Server Protocol Version: 35
Is Local: yes
Client Index: 77
Tile Size: 65472
User Name: dolphin
Host Name: littlebyte
Server Name: PulseAudio (on PipeWire 0.3.58)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
Default Source: alsa_input.pci-0000_00_1b.0.analog-stereo
Cookie: 1f25:d14d
bonus: the autostart entries appear to work OK under either sysVinit or systemd. looking at the debian 12 instructions, which are more applicable to th mx test and/or debian-backports versions, I realsized hte systemd setup was acting on a user level. that seemed to be complicated, hence the autostart sequence.
Its possible some feature won't work though. there is reference to a systemd socket for pipewire, but these likely don't exist under sysVinit. I'm going to run this for a while and see what doesn't work.
***edit*** modified startup script to only launch items under sysVinit. even masking the systemd services proved problematic upon logout/login.
***edit*** removed pulseaudio init script disable info as its not really necessary.
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 5:19 pm
by AVLinux
Wow! Excellent!!
Must try/test ASAP!
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 6:21 pm
by dolphin_oracle
for bluetooth, remove pulseaudio-modules-bluetooth and install libspa-0.2-bluetooth. a reboot was required but I suspect just restarting the pipewire server would also work.
one interesting note...once the bluetooth headphones connected, the system autoswitched to the headphones. on pulse that did not happen. However, the xfce4-pulseaudio-plugin does not show devices to switch outputs like it does under pulse. not sure which I prefer...
my mics don't show up as a device to select anywhere either...
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 6:37 pm
by dolphin_oracle
Hmmm ever since hooking up my Bluetooth everything quit working.
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 6:57 pm
by dolphin_oracle
hmmm, bluetooth audio still works, and regular audio works under sysVinit. but does not work under systemd anymore.
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 7:30 pm
by DeepDayze
AVLinux wrote: Sat Oct 15, 2022 4:21 pm
DeepDayze wrote: Sat Oct 15, 2022 10:58 am
anticapitalista wrote: Fri Oct 07, 2022 5:58 pm
IMO - on Debian, wireplumber and pipewire will only be 'reliable' on Debian-12 (forget trying to get it to work on Debian 11).
I used the test pipewire-3.58 and wireplumber 4.12 packages and set them up according to the debian 11 wiki and works for me. Even masked pulse service to keep it from starting, plus installing the pipewire-pulse package as well. YT videos play with no juddering so does audacious, including using a bt headset. So yes PW works on MX :)
Note: Sid has the PW 3.59 and wonder if that would be backported to MX test repo to try out...
Any details or system-wide configs you can provide would be very much appreciated, as a personal example I'm using and testing Enlightenment as a future Desktop Environment and it reportedly requires pipewire-pulse as it doesn't directly work with PW, are you saying you have simply disabled PulseAudio on your system or have you removed it completely? I'm a little unclear if PulseAudio and JACK are still required on the system or if PipeWire completely replaces them with it's own server and clients.
I would concur that any info about performance with sysvinit will be vital to know.
On my MX-21 system I simply disabled the pulseaudio systemd unit but will also disable the autostart one under sysvinit as D-O mentioned. I did not remove any pulse packages yet except for the pulse bluetooth one and installed the ladspa-0.2 bluetooth package.
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 7:44 pm
by dolphin_oracle
ah, I was starting wireplumber twice under systemd, and it caused issues with managing devices. now to figure out why...
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 8:01 pm
by DeepDayze
dolphin_oracle wrote: Sat Oct 15, 2022 7:44 pm
ah, I was starting wireplumber twice under systemd, and it caused issues with managing devices. now to figure out why...
Perhaps the autostart script you set up for WP to run under sysvinit should somehow be inhibited to run under systemd.
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 8:22 pm
by dolphin_oracle
DeepDayze wrote: Sat Oct 15, 2022 8:01 pm
dolphin_oracle wrote: Sat Oct 15, 2022 7:44 pm
ah, I was starting wireplumber twice under systemd, and it caused issues with managing devices. now to figure out why...
Perhaps the autostart script you set up for WP to run under sysvinit should somehow be inhibited to run under systemd.
yep, my thinking exactly. the systemd --user stuff is slightly different with the backports versions of pipewire vs. the debian stable. so you don't actually need to create any systemd services, its setup to start already under systemd. masking the services works OK for first boot/login, but subsequent logins the masked services were apparently still processed. which was annoying to say the least since I though I had disabled them.
modifying the script in my post, and here:
Code: Select all
#/bin/bash
INITCHECK=$(ps -p 1 -o cmd -h)
if [ "$INITCHECK" = "/lib/systemd/systemd" ]; then
exit 0
fi
#else start them up
pipewire &
pipewire-pulse &
wireplumber &
and now that that's all sorted out, my multple audio outputs/inputs are showing in xfce4-pulseaudio-plugin again! yay! (although autoswitching to the bluetooth headset is gone again, I think that was a product of the wireplumber service using the lone audio source it could find after the conflicting services were started).
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 8:31 pm
by DeepDayze
That script's pretty elegantly simple and can be useful for any service you want to start only under sysvinit as systemd has its own units for starting them. Perhaps possible to write a sysv init script that's called like any other init script to start and stop PW and WP upon system startup/shutdown in sysv mode and maybe the PA init script might be a good model for it. Of course under systemd these scripts are never called.
EDIT: Did you install the ladspa-0.2-bluetooth package and remove the pulseaudio-module-bluetooth package, @dolphin_oracle ? Now to find how wireplumber can get the correct device to switch to ...
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 9:01 pm
by dolphin_oracle
DeepDayze wrote: Sat Oct 15, 2022 8:31 pm
That script's pretty elegantly simple and can be useful for any service you want to start only under sysvinit as systemd has its own units for starting them. Perhaps possible to write a sysv init script that's called like any other init script to start and stop PW and WP upon system startup/shutdown in sysv mode and maybe the PA init script might be a good model for it. Of course under systemd these scripts are never called.
EDIT: Did you install the ladspa-0.2-bluetooth package and remove the pulseaudio-module-bluetooth package, @dolphin_oracle ? Now to find how wireplumber can get the correct device to switch to ...
pipewire actually is meant to rn as a user service, so you don't actually want a sysVinit script for it (pulseaudio doens't have one either). systemd has the concept of user services (systemctl --user) so its ok to use service files under systemd as they also are processed on the user level.
I did install ladspa-0.2-bluetooth package and remove the pulseaudio-module-bluetooth and I edited my big how-to post to reflect latest changes, including moving the pipewire-start script to /usr/bin and the autostart entry to /etc/xdg/autostart to make it common to all users.
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 9:06 pm
by dolphin_oracle
oh @DeepDayze one other thing. you cannot actually remove pulseaudio at the moment unless you also remove firefox...
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 9:09 pm
by DeepDayze
dolphin_oracle wrote: Sat Oct 15, 2022 9:06 pm
oh @DeepDayze one other thing. you cannot actually remove pulseaudio at the moment unless you also remove firefox...
Yes can confirm firefox would be removed in MX-21 but was able to purge pulse on my Sid box even with firefox installed, as MX-21's firefox was built to depend on pulse. So all I did on my MX-21 install was to simply mask the pulse service to keep it from starting and left the packages installed.
If somehow pipewire-pulse was added as another option for depends for the MX build of firefox and make pulse suggested maybe then pulse can be completely removed except the pipewire-pulse package.
Gotcha about pipewire/wireplumber to be started as user...makes good sense.
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 9:13 pm
by dolphin_oracle
I masked it as well, but its not really necessary. the pipewire-pulse plugin replaces it.
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 9:15 pm
by dolphin_oracle
DeepDayze wrote: Sat Oct 15, 2022 9:09 pm
dolphin_oracle wrote: Sat Oct 15, 2022 9:06 pm
oh @DeepDayze one other thing. you cannot actually remove pulseaudio at the moment unless you also remove firefox...
Yes can confirm firefox would be removed in MX-21 but was able to purge pulse on my Sid box even with firefox installed, as MX-21's firefox was built to depend on pulse. So all I did on my MX-21 install was to simply mask the pulse service to keep it from starting and left the packages installed.
If somehow pipewire-pulse was added as another option for depends for the MX build of firefox and make pulse suggested maybe then pulse can be completely removed except the pipewire-pulse package.
hmm... they moved pulseaudio to a "suggests" in sid.
@mmikeinsantarosa might be something to consider for our firefox packages...
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 9:16 pm
by DeepDayze
dolphin_oracle wrote: Sat Oct 15, 2022 9:15 pm
DeepDayze wrote: Sat Oct 15, 2022 9:09 pm
dolphin_oracle wrote: Sat Oct 15, 2022 9:06 pm
oh @DeepDayze one other thing. you cannot actually remove pulseaudio at the moment unless you also remove firefox...
Yes can confirm firefox would be removed in MX-21 but was able to purge pulse on my Sid box even with firefox installed, as MX-21's firefox was built to depend on pulse. So all I did on my MX-21 install was to simply mask the pulse service to keep it from starting and left the packages installed.
If somehow pipewire-pulse was added as another option for depends for the MX build of firefox and make pulse suggested maybe then pulse can be completely removed except the pipewire-pulse package.
hmm... they moved pulseaudio to a "suggests" in sid. @mmikeinsantarosa might be something to consider for our firefox packages...
I may be willing to test that firefox package if one's built that makes pulse a suggests in MX. That would be useful going forward for some future MX release as debian is moving towards pipewire.
Another idea came to mind is perhaps making an MX package for something like pipewire-scripts to set up pipewire and wireplumber for running on sysvinit that people can install to set up PW and WP for them.
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 10:18 pm
by asqwerth
I'm not interested in tinkering with pipewire, but recall reading a Void Linux (runit init) discussion thread that stated that PW isn't dependent on systemd or inits at all, and could be run with autostart entries.
Of course, MX might need some adjustment since we ship with 2 co-existing inits.
Re: PipeWire integration discussion?
Posted: Sat Oct 15, 2022 11:47 pm
by dolphin_oracle
DeepDayze wrote: Sat Oct 15, 2022 9:16 pm
Another idea came to mind is perhaps making an MX package for something like pipewire-scripts to set up pipewire and wireplumber for running on sysvinit that people can install to set up PW and WP for them.
pretty much what I'm doing, working with the debian-backports packages for now...
Re: PipeWire integration discussion?
Posted: Sun Oct 16, 2022 12:13 am
by mmikeinsantarosa
dolphin_oracle wrote: Sat Oct 15, 2022 9:15 pm
hmm... they moved pulseaudio to a "suggests" in sid. @mmikeinsantarosa might be something to consider for our firefox packages...
I am trying to follow along and toss a dart at it.
D.O.'s configs will handle the pulse stuff for a pipewire-pulse install.
move "pulseaudio | apulse," to Suggests
and replace them with
pipewire-pulse
in Depends
so the section of interest in firefox's control file might look something like:
Code: Select all
Package: firefox
Architecture: i386 amd64
Depends: libgtk-3-0 (>= 3.4),
libglib2.0-0 (>= 2.32.0),
libpango1.0-0 (>= 1.30.0),
pipewire-pulse (>= 0.3.58-2),
libavcodec58 | libavcodec-extra58 |libavcodec57 | libavcodec-extra57 |libavcodec56 | libavcodec-extra56
Recommends:
Suggests: pulseaudio | apulse
Provides: x-www-browser, www-browser
Breaks: iceweasel
Replaces: firefox-amd64, firefox-i686, iceweasel
Conflicts: firefox-amd64, firefox-i686, iceweasel
Is any of this close?
- mike
Re: PipeWire integration discussion?
Posted: Sun Oct 16, 2022 8:11 am
by dolphin_oracle
mmikeinsantarosa wrote: Sun Oct 16, 2022 12:13 am
dolphin_oracle wrote: Sat Oct 15, 2022 9:15 pm
hmm... they moved pulseaudio to a "suggests" in sid. @mmikeinsantarosa might be something to consider for our firefox packages...
Kinda got my hands full atm. I can take a look next week. The first sets will definitely need to go into test until it all gets sorted out. If anyone wants to jump on this ahead of me, feel free to do so.
What's palemoon doing?
- mike
There is no hurry. Should just be a minor adjustment to the control file some day.
Re: PipeWire integration discussion?
Posted: Sun Oct 16, 2022 10:24 am
by dolphin_oracle
here is a test deb that tries to set up pipewire after its installed. it depends on the 0.3.58 or higher, so packages in debian-backports right now.
the pipewire-setup-mx deb also provides a pulseaudio virtual package, so the real pulseaudio can be removed without removing firefox.
pipewire-setup-mx_22.10.03_all.deb
edit **new deb, previous does not uninstall correctly
Re: PipeWire integration discussion?
Posted: Sun Oct 16, 2022 11:42 am
by Steve
Steve wrote: Fri Oct 14, 2022 7:25 am
Steve wrote: Tue Oct 11, 2022 7:48 am
AVLinux wrote: Fri Oct 07, 2022 5:16 pm
Ugh, apparently the current Wireplumber (0.4.11) is broken and doesn't request the system ALSA device properly, that's a pretty major bug, this seems like a big mess right now...
@AVLinux
I know this is a Mx discussion… but with Debian 11 and the wiki instructions everything that I have is working, with 3.19… and qjackctl to do any needful routing. did not try to up to the latest.
Kinda neat. I would recommend only using the debian11 non free iso and do the install after booting into the live environment if you wish to try it out. No issues with alsa,
Will work it harder later this week…see if it holds up

steve
Update- no x-runs

so far anyway. Tried recording audio and midi from midi guitar 2 vst in Reaper, always got a few x runs with just playing mg2’s presets. Midi guitar stayed in the middle of the cpu graph no spikes… Great hopes here for smooth sailing.
Update 2 …
Still no x runs some weird shuddering of the mg2 vst at the start sometimes…click on the window and it stops and does not happen again in that session. Reaper locked up when I tried to save last night…
Reaper asked if I wished to close the non-responding window and shut it down all my work was saved when I loaded reaper up again. The reaper shows less than 10% on the fox cpu meter. Later…
Update 3
3.58 upgrade
No shuddering vst
This is
Tried my Mx side
I see that a Mx setup package is available, will try that later

Re: PipeWire integration discussion?
Posted: Sun Oct 16, 2022 5:50 pm
by Stevo
The MX Firefox isn't built from source by us, unlike Debian Sid's version. Because of ever-increasing requirements for versions of rust and cargo build-depends that aren't available in Stable, we just put Mozilla's binary builds into a deb package, and they are built against CentOS's or whatever libpulse by Mozilla the last time I looked.
We added "apulse" as an alternative dependency if you didn't want pulse, so I'd just add pipewire-pulse as another alternative so our FF will still suit all comers.
Re: PipeWire integration discussion?
Posted: Mon Oct 17, 2022 7:07 am
by Steve
Steve wrote: Sun Oct 16, 2022 11:42 am
Steve wrote: Fri Oct 14, 2022 7:25 am
Steve wrote: Tue Oct 11, 2022 7:48 am
@AVLinux
I know this is a Mx discussion… but with Debian 11 and the wiki instructions everything that I have is working, with 3.19… and qjackctl to do any needful routing. did not try to up to the latest.
Kinda neat. I would recommend only using the debian11 non free iso and do the install after booting into the live environment if you wish to try it out. No issues with alsa,
Will work it harder later this week…see if it holds up

steve
Update- no x-runs

so far anyway. Tried recording audio and midi from midi guitar 2 vst in Reaper, always got a few x runs with just playing mg2’s presets. Midi guitar stayed in the middle of the cpu graph no spikes… Great hopes here for smooth sailing.
Update 2 …
Still no x runs some weird shuddering of the mg2 vst at the start sometimes…click on the window and it stops and does not happen again in that session. Reaper locked up when I tried to save last night…
Reaper asked if I wished to close the non-responding window and shut it down all my work was saved when I loaded reaper up again. The reaper shows less than 10% on the fox cpu meter. Later…
Update 3
3.58 upgrade
No shuddering vst
This is
Tried my Mx side
I see that a Mx setup package is available, will try that later
Didn’t work very well…sticking with Debian for now. With pipewire.
Re: PipeWire integration discussion?
Posted: Mon Oct 17, 2022 9:29 am
by AVLinux
dolphin_oracle wrote: Sun Oct 16, 2022 10:24 am
here is a test deb that tries to set up pipewire after its installed. it depends on the 0.3.58 or higher, so packages in debian-backports right now.
the pipewire-setup-mx deb also provides a pulseaudio virtual package, so the real pulseaudio can be removed without removing firefox.
pipewire-setup-mx_22.10.03_all.deb
edit **new deb, previous does not uninstall correctly
Thanks so much D_O!, I know I opened the thread a couple of weeks ago and since then have been very busy offline, It was not my intention to have one person do all the heavy lifting or for the integration to be so immediate on this but I certainly appreciate all the replies and responses and although I have yet to test on a production system it would appear many of the kinks are already worked out so I am hoping to give this full intention on a rainy afternoon this week!
Are you recommending MX-21 users to remain with the Debian-backports PW packages instead of in-house MX stuff? or is this kind of 'proof of concept' at this point to be added to MX Repos in the future once the recipe is figured out completely?
Re: PipeWire integration discussion?
Posted: Mon Oct 17, 2022 9:33 am
by dolphin_oracle
AVLinux wrote: Mon Oct 17, 2022 9:29 am
dolphin_oracle wrote: Sun Oct 16, 2022 10:24 am
here is a test deb that tries to set up pipewire after its installed. it depends on the 0.3.58 or higher, so packages in debian-backports right now.
the pipewire-setup-mx deb also provides a pulseaudio virtual package, so the real pulseaudio can be removed without removing firefox.
pipewire-setup-mx_22.10.03_all.deb
edit **new deb, previous does not uninstall correctly
Thanks so much D_O!, I know I opened the thread a couple of weeks ago and since then have been very busy offline, It was not my intention to have one person do all the heavy lifting or for the integration to be so immediate on this but I certainly appreciate all the replies and responses and although I have yet to test on a production system it would appear many of the kinks are already worked out so I am hoping to give this full intention on a rainy afternoon this week!
Are you recommending MX-21 users to remain with the Debian-backports PW packages instead of in-house MX stuff? or is this kind of 'proof of concept' at this point to be added to MX Repos in the future once the recipe is figured out completely?
this is proof of concept at the moment. the setup only applies to the backports packages at the moment. there are a few things missing from test (wireplumber for one).
I don't recommend mx-21 users do anything unless they want to test out the pipewire stuff. in that case, I would stick to the backports versions to get an idea of what debian is actually going to have configured.
I am running this full time though, and have removed pulseaudio from my system. the pipewire-setup-mx package provides a "pulseaudio" virtual package to satisfy firefox's current depend on pulseaudio without install apulse.
Re: PipeWire integration discussion?
Posted: Mon Oct 17, 2022 10:41 am
by AVLinux
dolphin_oracle wrote: Mon Oct 17, 2022 9:33 am
this is proof of concept at the moment. the setup only applies to the backports packages at the moment. there are a few things missing from test (wireplumber for one).
I don't recommend mx-21 users do anything unless they want to test out the pipewire stuff. in that case, I would stick to the backports versions to get an idea of what debian is actually going to have configured.
I am running this full time though, and have removed pulseaudio from my system. the pipewire-setup-mx package provides a "pulseaudio" virtual package to satisfy firefox's current depend on pulseaudio without install apulse.
Excellent! Understood, many thanks! Will post back if I run into anything..
Re: PipeWire integration discussion?
Posted: Tue Oct 18, 2022 12:00 pm
by AVLinux
Hi,
I would add here for those wanting more control graphically over PipeWire connections the creator of the JACK UI 'Qjackctl' has a PipeWire graph utility called 'qpwgraph' which is already in Bookworm. If folks are going to try out and use PipeWire on an MX-21 based system I think this would be a wanted companion.
@Stevo what do you think? It is by the same developer of Qtractor, Qsynth Qjackctl, and the other Q-stuff that is already in the MX Repos.
Project Page:
https://gitlab.freedesktop.org/rncbc/qpwgraph
Debian Bookworm Source:
https://packages.debian.org/bookworm/source/qpwgraph
Re: PipeWire integration discussion?
Posted: Tue Oct 18, 2022 7:07 pm
by Stevo
Yes, I'll take a look at it, as well as rebuilding the backports pipewire stuff for our own test repo.
Re: PipeWire integration discussion?
Posted: Wed Oct 19, 2022 2:47 pm
by AVLinux
Stevo wrote: Tue Oct 18, 2022 7:07 pm
Yes, I'll take a look at it, as well as rebuilding the backports pipewire stuff for our own test repo.
Awesome, thanks so much!
@dolphin_oracle
Just for clarification when testing, on systems that boot systemd is the MX PipeWire setup package needed or is it only for sysvinit or systems using both inits?
Re: PipeWire integration discussion?
Posted: Wed Oct 19, 2022 2:51 pm
by dolphin_oracle
it will set up two files that are required for pipewire to actually do anything, as pulseaudio is still default at the moment.
Code: Select all
usr/share/pipewire/media-session.d/with-alsa
etc/alsa/conf.d/99-pipewire-default.conf
otherwise I think you would need to set up those two files manually.
the package also has the depends and conflicts setup in its control file to pull in the needed libs and remove pulseaudio-bluetooth, and a "Provides" to allow for pulseaudio to be removed without removing firefox.
Re: PipeWire integration discussion?
Posted: Wed Oct 19, 2022 2:56 pm
by dolphin_oracle
once the newer pipewire packages show up in test, I"ll upload this packge too, and allow for all a once step installation from mxpi.
Re: PipeWire integration discussion?
Posted: Wed Oct 19, 2022 3:17 pm
by AVLinux
dolphin_oracle wrote: Wed Oct 19, 2022 2:56 pm
once the newer pipewire packages show up in test, I"ll upload this packge too, and allow for all a once step installation from mxpi.
OK great! I have a mutt system here and in early testing things were not working completely for me and I think I've muddled some configs up with trying various things so I will hold off for you and Stevo to work your magic in Test and then I'll try from scratch in some fresh installs in VM's .
Re: PipeWire integration discussion?
Posted: Wed Oct 19, 2022 7:21 pm
by Stevo
OK, I'm sending the backports MX rebuilds to the test repo, along with qpwgraph.
https://drive.google.com/file/d/1e2q974 ... sp=sharing
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 8:14 am
by AVLinux
Got 'em! Woot Woot! Thanks!
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 5:44 pm
by AVLinux
OK,
Doing some testing here but I'm a bit puzzled about what wireplumber does...? This is currently on Enlightenment because I thought I would start with the most potentially difficult first... What I learn from here I will work backwards on testing sysvinit
I'm on a systemd VM currently and have installed the pipewire, libspa, wireplumber, mx-pipewire-setup and qpwgraph Packages..
pactl info gives me this:
shot-2022-10-20_17-37-42.jpg
I'm assuming that is good?
And qpwgraph is showing me pipewire servers and clients on the graph:
shot-2022-10-20_17-38-51.jpg
But what does wireplumber do...? If I try and run it in a terminal it endlessly spews warnings and such... Does it have GUI or what is it supposed to be doing..? For a quick test I fired up Audacity and hit record on it while a Youtube Video was playing in Firefox and it autconnected the Firefox outputs to the Audacity inputs which seemed pretty cool..
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 5:55 pm
by dolphin_oracle
wireplumber is the session manager for Pipewire. there really isn't an analog in pulseaudio. basically it connections pipewire to alsa and the user session.
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 6:03 pm
by AVLinux
dolphin_oracle wrote: Thu Oct 20, 2022 5:55 pm
wireplumber is the session manager for Pipewire. there really isn't an analog in pulseaudio. basically it connections pipewire to alsa and the user session.
Ahh 'wpctl status'... :
shot-2022-10-20_18-27-24.jpg
As usual the Arch folks are way ahead with docs:
https://wiki.archlinux.org/title/WirePlumber
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 6:28 pm
by dolphin_oracle
It has no gui. Beyond that I don’t know.
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 6:29 pm
by AVLinux
dolphin_oracle wrote: Thu Oct 20, 2022 6:28 pm
It has no gui. Beyond that I don’t know.
Got it, you replied as I was editing, post above edited..
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 7:06 pm
by alextone
I'm looking in the test repo and can't see mx-pipewire-setup.
Does it have a secret label?
Alex.
EDIT: Never mind, i'm missing a couple of others as well, and a refresh isn't showing anything new.
I'll wait.
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 7:21 pm
by AVLinux
alextone wrote: Thu Oct 20, 2022 7:06 pm
I'm looking in the test repo and can't see mx-pipewire-setup.
Does it have a secret label?
Alex.
I don't think it's there yet, in fact here I'm not seeing any of the pipewire updates in MX-Test here so either the mirrors are still syncing or the upload hasn't happened yet.. For testing in a VM I grabbed the debian-backports pipewire packages and got the mx-pipewire setup from earlier in this thread and qpwgraph from Stevo's zip earlier in this thread..
Unless you're trying this in a throwaway VM or a sacrificial lamb install might be best to wait for it all to show up in MX-Test
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 7:22 pm
by alextone
AVLinux wrote: Thu Oct 20, 2022 7:21 pm
alextone wrote: Thu Oct 20, 2022 7:06 pm
I'm looking in the test repo and can't see mx-pipewire-setup.
Does it have a secret label?
Alex.
I don't think it's there yet, in fact here I'm not seeing any of the pipewire updates in MX-Test here so either the mirrors are still syncing or the upload hasn't happened yet.. For testing in a VM I grabbed the debian-backports pipewire packages and got the mx-pipewire setup from earlier in this thread and qpwgraph from Stevo's zip earlier in this thread..
Unless you're trying this in a throwaway VM or a sacrificial lamb install might be best to wait for it all to show up in MX-Test
Yep, i'll wait.
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 8:01 pm
by Stevo
They appear to have made it into the test repo yesterday:
http://mxrepo.com/mx/testrepo/pool/test/p/pipewire/
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 8:11 pm
by dolphin_oracle
mirrors can take a while to update...
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 8:12 pm
by AVLinux
Hmmm, weird, I ran sudo apt clean and refreshed the MX Test Repo a couple of times...

I'm still only seeing 0.3.51 and no wireplumber...
shot-2022-10-20_20-10-35.jpg
I'm in Eastern time zone Canada..
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 8:14 pm
by dolphin_oracle
sure enough its not showing up...0.3.58 is what we are looking for.
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 8:15 pm
by dolphin_oracle
@timkb4cq @Stevo the debs are up, but the Package lists still point to 0.3.51
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 9:15 pm
by timkb4cq
Somehow the indexes didn't get updated on mxrepo.com. That's now fixed. The mirrors will take a bit to catch up.
Re: PipeWire integration discussion?
Posted: Thu Oct 20, 2022 11:23 pm
by AVLinux
timkb4cq wrote: Thu Oct 20, 2022 9:15 pm
Somehow the indexes didn't get updated on mxrepo.com. That's now fixed. The mirrors will take a bit to catch up.
Thanks for the quick fix!

Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 2:46 am
by markol
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 8:40 am
by AVLinux
@dolphin_oracle
First thanks so much for the mx-pipewire setup package, it is a great idea and even on a non-spec MX system with systemd things seem to 'just work' I have more testing to do with sysvinit. I'm wondering and hoping that when the mx-pipewire-setup is complete it can simply be one setup that works for those who want to replace PulseAudio but also include the stuff for those wanting to use JACK Audio since Pipewire potentially replaces both PulseAudio and JACK. If it is possible for MX and AV Linux to work from the same setup that would be a huge streamlining feature. AV Linux now differs greatly from MX in the default Audio setup and if we both end up adopting PipeWire it would be a shame to still be separated by 2 different PipeWire configs or require separate setup meta-packages. If your pipewire setup package was to also install the relatively tiny pipewire-jack and libspa-jack packages and include moving their configs then it would be one setup ready for all potential use cases, from general Desktop to Pro Audio and adding the pipewire-jack stuff shouldn't hinder those doing regular Desktop Audio things so I'm just asking if you would consider this. Haha I can already see the potential for an 'mx-pipewire' graphical config settings tool to appear in MX-Tools...
I'm copying a pretty concise post of a complete PipeWire Audio setup for both Pulseaudio and JACK from a User over at the Linuxmusicians forum I frequent, it seems pretty simple (relatively speaking)... And I don't think the pipewire-jack-specific configs will hurt anything for people not using pipewire-jack. If we test this stuff now when it's all optional then there should be no surprises once we are dealing with Pipewire-only in Debian 12/MX-23:
I configure my buffer settings through the pipewire configuration files. Just about everything that you can imagine can be configured in pipewire. The key locations for making the changes are in the following paths:
/usr/share/pipewire/pipewire.conf for the PipeWire daemon settings
/usr/share/pipewire/pipewire-pulse.conf for the PipeWire pulseaudio server
/usr/share/pipewire/client-rt.conf for the PipeWire native client settings
/usr/share/pipewire/jack.conf for the PipeWire JACK clients
In my particular case, I only use apps that support JACK for my audio work, so I keep everything default except for the jack.conf file. I copy the /usr/share/pipewire/jack.conf over to /etc/pipewire/
I then edit jack.conf in the new location and uncomment the following lines:
#default.clock.rate = 48000
#default.clock.allowed-rates = [ 48000 ]
#default.clock.quantum = 1024
I then set my settings to the desired amounts. "Quantum" = buffer size -- test and find the ideal setting for your personal system.
That's really all there is to it for me as far as pipewire configuration. Since there is currently no easy tool for changing the quantum, I go into this file and change the quantum when I want to change the buffer size. I can totally see this becoming simple once someone develops a GUI based tool to easily make these changes. At the moment, I don't know of such a tool yet, but editing this single file is very easy when I need to make a change.
---------------------
My ultimate goal is to document the easiest process possible for the majority of users to very easily start using Linux. Because of this, I've tried to keep things as simple as possible with my configuration. I don't use RT kernels. I use the standard generic vanilla kernel, but I use it with the threadirqs and preempt=full kernel parameters to make my system run as a real time machine.
Note that it is entirely possible to go much further with configurations to get even better performance at ultra low latencies. For example, the rtirq script can be used to prioritize the threads, but I'm purposely trying to avoid needing any settings other than what already comes in the default distro.
Aside from that, I just adjust the realtime priorities and the memlock limits:
Real-time priority limits are usually stored in /etc/security/limits.conf and /etc/security/limits.d/. The best option is to add a new file 95-pipewire.conf in /etc/security/limits.d/ with this content:
# Default limits for users of pipewire
@pipewire - rtprio 95
@pipewire - nice -19
@pipewire - memlock 4194304
Then add your user to the PipeWire group so that you can use these priorities.
That's really it. That's really all someone needs to get really usable low latencies. :)
EDIT: For more information and additional options, see the pipewire wiki's performance tuning page:
https://gitlab.freedesktop.org/pipewire ... nce-tuning
EDIT#2: I guess I should had that I run my CPU governor set at "Performance".
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 8:59 am
by dolphin_oracle
while I have no intention of shipping with jack tools installed, but if the configs do not interfere with other packages or with the default audio server setup for our users, I'm not opposed to adding them to the setup package.
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 9:05 am
by AVLinux
dolphin_oracle wrote: Fri Oct 21, 2022 8:59 am
while I have no intention of shipping with jack tools installed, but if the configs do not interfere with other packages or with the default audio server setup for our users, I'm not opposed to adding them to the setup package.
Of course! JACK applications would just come from the Repos as always, I'm only talking audio backends and conf files.. Please don't misunderstand, I'm trying to make suggestions to help me to get with YOUR program, not the other way around.. I'm hoping to diminish the need for so much specialization and eventually not even need a special Respin.
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 4:57 pm
by alextone
AVLinux wrote: Fri Oct 21, 2022 9:05 am
dolphin_oracle wrote: Fri Oct 21, 2022 8:59 am
while I have no intention of shipping with jack tools installed, but if the configs do not interfere with other packages or with the default audio server setup for our users, I'm not opposed to adding them to the setup package.
Of course! JACK applications would just come from the Repos as always, I'm only talking audio backends and conf files.. Please don't misunderstand, I'm trying to make suggestions to help me to get with YOUR program, not the other way around.. I'm hoping to diminish the need for so much specialization and eventually not even need a special Respin.
Can I assume that those apps that ask for jackd2 as a dependency will not "see" the pipewire alternative, if the dependency specifies jackd2, and not libjack (or libspa2-jack?)
I've been experimenting today, reading a lot, and discovered that if i remove jackd2 with the intention of replacing it with the pipewire alternative, a lot of jack based apps get uninstalled. (I'm keeping notes)
Also, when i try to compile apps against the pipewire supplied jack lib, they get.....irritated, and won't compile.
Still experimenting here, but i will add i removed pulseaudio, and pipewire worked fine without it. (woohoo) So halfway there.
Alex.
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 5:20 pm
by AVLinux
alextone wrote: Fri Oct 21, 2022 4:57 pm
AVLinux wrote: Fri Oct 21, 2022 9:05 am
dolphin_oracle wrote: Fri Oct 21, 2022 8:59 am
while I have no intention of shipping with jack tools installed, but if the configs do not interfere with other packages or with the default audio server setup for our users, I'm not opposed to adding them to the setup package.
Of course! JACK applications would just come from the Repos as always, I'm only talking audio backends and conf files.. Please don't misunderstand, I'm trying to make suggestions to help me to get with YOUR program, not the other way around.. I'm hoping to diminish the need for so much specialization and eventually not even need a special Respin.
Can I assume that those apps that ask for jackd2 as a dependency will not "see" the pipewire alternative, if the dependency specifies jackd2, and not libjack (or libspa2-jack?)
I've been experimenting today, reading a lot, and discovered that if i remove jackd2 with the intention of replacing it with the pipewire alternative, a lot of jack based apps get uninstalled. (I'm keeping notes)
Also, when i try to compile apps against the pipewire supplied jack lib, they get.....irritated, and won't compile.
Still experimenting here, but i will add i removed pulseaudio, and pipewire worked fine without it. (woohoo) So halfway there.
Alex.
Pipewire isn't in Debian 11 as any sort of default so I'm sure Audio Packages depending on specifically on jackd, jackd2, libjack and applications that you want to compile yourself depending on libjack-dev to be there are not going to install or compile. Even newer stuff from Debian that
@Stevo has either upgraded or backported into the MX Repos that have specific jackd, jackd2, libjack dependencies are not going to install.. If you are depending on JACK and jack-centric applications at this point in Debian 11 PipeWire is not going to be your friend, you will need to keep JACK on your system for that stuff... For current Debian/MX Users PipeWire is still the future not exactly the present if you are using a lot of Repository Audio packages... Stuff like WineASIO will also not be working ootb
It is not going to be a trivial thing for both the Debian and MX Packagers to update and correct Packages with PulseAudio and JACK dependencies, there will easily be hundreds of them...
Monolithic DAWs like Ardour, Reaper, Mixbus etc. that have ALSA backends should work fine
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 5:39 pm
by AVLinux
@dolphin_oracle
I can't seem to attach files to PM's, maybe that's a mod or developer privilege only...?
If (and only if) you are interested I've made a Modded version of your mx-pipewire-setup Deb with the following changes:
- Added the jack.conf file (unedited) to it's systemwide place for editing in /etc/pipewire/jack.conf.d/ as per the PipeWire documentation
- Added 'pipewire-jack' and 'libspa-0.2-jack' to the installed dependencies *note these are the native PipeWire module backends only that replace previous jackd, libjack, etc..
These changes should not hinder anything to do with regular MX Users, it simply adds the pipewire-jack backend and client and config files for those who may want to hook into them. Just trying to help instead of just ask for things.. Take a look if you want.
pipewire-setup-mx_22.10.21_all.zip.zip
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 5:47 pm
by alextone
AVLinux wrote: Fri Oct 21, 2022 5:20 pm
alextone wrote: Fri Oct 21, 2022 4:57 pm
AVLinux wrote: Fri Oct 21, 2022 9:05 am
Of course! JACK applications would just come from the Repos as always, I'm only talking audio backends and conf files.. Please don't misunderstand, I'm trying to make suggestions to help me to get with YOUR program, not the other way around.. I'm hoping to diminish the need for so much specialization and eventually not even need a special Respin.
Can I assume that those apps that ask for jackd2 as a dependency will not "see" the pipewire alternative, if the dependency specifies jackd2, and not libjack (or libspa2-jack?)
I've been experimenting today, reading a lot, and discovered that if i remove jackd2 with the intention of replacing it with the pipewire alternative, a lot of jack based apps get uninstalled. (I'm keeping notes)
Also, when i try to compile apps against the pipewire supplied jack lib, they get.....irritated, and won't compile.
Still experimenting here, but i will add i removed pulseaudio, and pipewire worked fine without it. (woohoo) So halfway there.
Alex.
Pipewire isn't in Debian 11 as any sort of default so I'm sure Audio Packages depending on specifically on jackd, jackd2, libjack and applications that you want to compile yourself depending on libjack-dev to be there are not going to install or compile. Even newer stuff from Debian that @Stevo has either upgraded or backported into the MX Repos that have specific jackd, jackd2, libjack dependencies are not going to install.. If you are depending on JACK and jack-centric applications at this point in Debian 11 PipeWire is not going to be your friend, you will need to keep JACK on your system for that stuff... For current Debian/MX Users PipeWire is still the future not exactly the present if you are using a lot of Repository Audio packages... Stuff like WineASIO will also not be working ootb
Monolithic DAWs like Ardour, Reaper, Mixbus etc. that have ALSA backends should work fine
I don't use wine at all, so no problem there.
Also, if i want to use apps with pipewire-jack, i need to start them in a terminal with 'pw-jack <someapp>' or they don't run, or complain jack isn't running. So the pipewire-jack client does work, it just needs starting manually. I've got around this to a certain extent by running all the apps in a session manager. (running with pw-jack in a terminal)
I know we're in early days, i'm just posting data as it unfolds here, and maybe someone else might get something out of it. (or not)
Alex.
More to follow...
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 5:55 pm
by AVLinux
alextone wrote: Fri Oct 21, 2022 5:47 pm
Also, if i want to use apps with pipewire-jack, i need to start them in a terminal with 'pw-jack <someapp>' or they don't run, or complain jack isn't running. So the pipewire-jack client does work, it just needs starting manually. I've got around this to a certain extent by running all the apps in a session manager. (running with pw-jack in a terminal)
I know we're in early days, i'm just posting data as it unfolds here, and maybe someone else might get something out of it. (or not)
Alex.
More to follow...
That is good to know, and it was remiss of me to not be clear that if you have jackd on the system then you indeed have the option to run existing JACK-dependent apps either with JACK as usual or the pipewire-jack backend, I hadn't tried that yet but I'm glad to hear it's working for you, thanks for sharing that!
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 10:04 pm
by dolphin_oracle
there is apparently already a jack.conf file supplied at /usr/share/pipewire. have you reviewed that file? @AVLinux It's supplied by the pipewire-bin package. the file appears to be identical. Does jack functions work without the file being placed in /etc.
note between somewhere before 0.3.58 /usr/share/pipewire became a config directory, not just /etc/. at least supposedly.
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 10:29 pm
by AVLinux
dolphin_oracle wrote: Fri Oct 21, 2022 10:04 pm
there is apparently already a jack.conf file supplied at /usr/share/pipewire. have you reviewed that file? @AVLinux It's supplied by the pipewire-bin package. the file appears to be identical. Does jack functions work without the file being placed in /etc.
note between somewhere before 0.3.58 /usr/share/pipewire became a config directory, not just /etc/. at least supposedly.
Yes it is the same file, I followed the instructions in the file itself because it was unclear to me if /usr/share/pipewire was the actual place of configuration or merely a holding place to put it on the system to copy from:
# JACK client config file for PipeWire version "0.3.58" #
#
# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.
#
# It is also possible to place a file with an updated section in
# /etc/pipewire/jack.conf.d/ for system-wide changes or in
# ~/.config/pipewire/jack.conf.d/ for local changes.
#
If you are certain that /usr/share/pipewire is THE valid config place then no need to have it in the setup package I guess...If it were to be included my educated guess is the main section of interest to be in /etc/pipewire/jackd.conf.d/ would be these parameters here:
# global properties for all jack clients
jack.properties = {
#node.latency = 1024/48000
#node.rate = 1/48000
#node.quantum = 1024/48000
#node.lock-quantum = true
#node.force-quantum = 0
#jack.show-monitor = true
#jack.merge-monitor = false
#jack.short-name = false
#jack.filter-name = false
#
# allow: Don't restrict self connect requests
# fail-external: Fail self connect requests to external ports only
# ignore-external: Ignore self connect requests to external ports only
# fail-all: Fail all self connect requests
# ignore-all: Ignore all self connect requests
#jack.self-connect-mode = allow
#jack.locked-process = true
#jack.default-as-system = false
#jack.fix-midi-events = true
}
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 10:40 pm
by dolphin_oracle
I guess my question is, does jack functionality work wihtout the config file present in /etc/pipewire?
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 10:57 pm
by AVLinux
dolphin_oracle wrote: Fri Oct 21, 2022 10:40 pm
I guess my question is, does jack functionality work wihtout the config file present in /etc/pipewire?
Yes 'pw-jack' command works with the default config! 'calfjackhost' is a JACK Audio application running here with pipewire-jack:
shot-2022-10-21_22-52-41.jpg
However the 'pipewire-audio-client-libraries' package had to be installed so it should probably be added to the setup depends but it appears the extra config location is not required..
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 11:37 pm
by dolphin_oracle
AVLinux wrote: Fri Oct 21, 2022 10:57 pm
dolphin_oracle wrote: Fri Oct 21, 2022 10:40 pm
I guess my question is, does jack functionality work wihtout the config file present in /etc/pipewire?
Yes 'pw-jack' command works with the default config! 'calfjackhost' is a JACK Audio application running here with pipewire-jack:
shot-2022-10-21_22-52-41.jpg
However the 'pipewire-audio-client-libraries' package had to be installed so it should probably be added to the setup depends but it appears the extra config location is not required..
there isn't much in that package
Code: Select all
transitional package for pipewire-alsa and pipewire-jack
PipeWire is a server and user space API to deal with multimedia
pipelines.
.
This is a transitional package for pipewire-alsa and pipewire-jack.
It can safely be removed.
I think its been split into pipewire-jack & pipewire-alsa. there isn't anything in pipewire-audio-client-libraries but some copywrite and license info
Re: PipeWire integration discussion?
Posted: Fri Oct 21, 2022 11:49 pm
by AVLinux
dolphin_oracle wrote: Fri Oct 21, 2022 11:37 pm
there isn't much in that package
Code: Select all
transitional package for pipewire-alsa and pipewire-jack
PipeWire is a server and user space API to deal with multimedia
pipelines.
.
This is a transitional package for pipewire-alsa and pipewire-jack.
It can safely be removed.
I think its been split into pipewire-jack & pipewire-alsa. there isn't anything in pipewire-audio-client-libraries but some copywrite and license info
What happened is the first time I tried running pw-jack on the CLI it didn't start and it told me in the terminal it needed 'pipewire-audio-client-libraries' to run and then when I installed that it pulled in pipewire-jack which is apparently what it really wanted.. It appears as though the error messages that PipeWire prints in the terminal haven't caught up to the actual Package names...
Anyway... in my testing VM I uninstalled 'pipewire-audio-client-libraries' and 'pw-jack' command still works so I agree you're right it is not needed apparently..
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 11:51 am
by AVLinux
@dolphin_oracle
I found a typo in the pipewire setup Control file and another pulseaudio module conflict that needs to be added. In the existing Control file 'pulseaudio-modules-bluetooth' is a typo, the package is actually 'pulseaudio-module-bluetooth'...
Secondly if the User has 'pulseaudio-module-jack' installed it will not work with PipeWire so it should also be listed as a Conflict...*Note this won't have any negative effect on MX Users because it is not installed in MX by default but it is in AV Linux..
Suggested changes:
Code: Select all
Package: pipewire-setup-mx
Version: 22.10.22
Architecture: all
Maintainer: Dolphin Oracle <dolphinoracle@gmail.com>
Installed-Size: 96
Depends: pipewire (>= 0.3.58), pipewire-alsa, pipewire-pulse, pipewire-jack, gstreamer1.0-pipewire, wireplumber, libspa-0.2-bluetooth, libspa-0.2-jack
Conflicts: pulseaudio-module-bluetooth, pulseaudio-module-jack
Provides: pulseaudio
Section: system
Priority: optional
Description: pipewire setup for sysVinit and/or systemd
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 12:47 pm
by dolphin_oracle
Ok thanks.
The autostart entry doesn’t seem to work on kde. Got to figure that out
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 12:58 pm
by AVLinux
dolphin_oracle wrote: Sat Oct 22, 2022 12:47 pm
Ok thanks.
The autostart entry doesn’t seem to work on kde. Got to figure that out
Actually, I've been having some issues getting sysvinit working as well, I haven't troubled you about it yet because I haven't tested it on a pure MX install yet and so far testing has been in an Enlightenment VM. What's interesting is that PipeWire systemd is working perfectly there so perhaps the sysvinit issue is not D.E. related, just mentioning it now since the other post has come to light. Maybe what you come up with will work on all D.E's. Happy to test! What is
@anticapitalista doing on the antiX side with PipeWire without systemd?
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 1:15 pm
by dolphin_oracle
AVLinux wrote: Sat Oct 22, 2022 12:58 pm
dolphin_oracle wrote: Sat Oct 22, 2022 12:47 pm
Ok thanks.
The autostart entry doesn’t seem to work on kde. Got to figure that out
Actually, I've been having some issues getting sysvinit working as well, I haven't troubled you about it yet because I haven't tested it on a pure MX install yet and so far testing has been in an Enlightenment VM. What's interesting is that PipeWire systemd is working perfectly there so perhaps the sysvinit issue is not D.E. related, just mentioning it now since the other post has come to light. Maybe what you come up with will work on all D.E's. Happy to test! What is @anticapitalista doing on the antiX side with PipeWire without systemd?
unless Enlightenment processes autostart entries in /etc/xdg/autostart, you would need to add a autostart entry in whatever way enlighttenment has. for isntance fluxbox would be in ~/.fluxbox/startup.
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 1:29 pm
by AVLinux
dolphin_oracle wrote: Sat Oct 22, 2022 1:15 pm
AVLinux wrote: Sat Oct 22, 2022 12:58 pm
dolphin_oracle wrote: Sat Oct 22, 2022 12:47 pm
Ok thanks.
The autostart entry doesn’t seem to work on kde. Got to figure that out
Actually, I've been having some issues getting sysvinit working as well, I haven't troubled you about it yet because I haven't tested it on a pure MX install yet and so far testing has been in an Enlightenment VM. What's interesting is that PipeWire systemd is working perfectly there so perhaps the sysvinit issue is not D.E. related, just mentioning it now since the other post has come to light. Maybe what you come up with will work on all D.E's. Happy to test! What is @anticapitalista doing on the antiX side with PipeWire without systemd?
unless Enlightenment processes autostart entries in /etc/xdg/autostart, you would need to add a autostart entry in whatever way enlighttenment has. for isntance fluxbox would be in ~/.fluxbox/startup.
Yes it has it's own method of autostart and I had tried that, also running pipewire-start manually, it doesn't seem to work either, the script runs but pactl info still shows pulseaudio alone as the Audio server...? Any this is all off spec. Perhaps what you find in MX KDE will be applicable here too. I don't expect you to fix my Enlightenment issue unless the fix for KDE fixes both..
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 1:43 pm
by dolphin_oracle
On kde, wireplumber is not startuping up, even under systemd. maybe I missed a step somewhere.
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 1:54 pm
by AVLinux
dolphin_oracle wrote: Sat Oct 22, 2022 1:43 pm
On kde, wireplumber is not startuping up, even under systemd. maybe I missed a step somewhere.
What are the errors? I believe 'wpctl status' should show you the running clients etc.. I will be out until this evening unfortunately, will check back asap
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 2:02 pm
by dolphin_oracle
no errors, it wasn't running at all. looks like I might need to enable the systemd service for wireplumber.
I feel that's going to be a moving target over time.
on the KDE autostart entry, changing the desktop file to launch the pipewire-start script with
Code: Select all
bash -c "pipewire-start" cleared that up. will update the autostart desktop entry.
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 2:15 pm
by alextone
Woohoo, EFL volume control works. Now i can adjust volume from the keyboard.
Onwards and upward.
(systemd)
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 3:23 pm
by dolphin_oracle
so the systemd --user service for wireplumber was enabled, it was just failing to launch, complaining of missing DISPLAY variable. I made a special autostart entry for KDE for wireplumber that launches wireplumber on systemd.
Now, it could be my test system hosed, but its a pretty fresh install so I don't think so. and the issue will likely be fixed in future KDE for debian 12, so its something to keep an eye on. On Xfce systemd there was no issue at all.
so new package now, with the autostart entries working for me at least in both KDE and Xfce. (attached).
sending it to tim for the test repo.
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 4:26 pm
by dolphin_oracle
new package's scripts and setup are working for me in xfce, fluxbox, and KDE, sysVinit & systemd, although the kde on the systemd side is a bit of a hack.
here's the change made to the fluxbox/startup file for launching pipewire.
Code: Select all
#start pulseaudio before volumeicon so unmute works
#start-pulseaudio-x11 &
#launch pipewire
pipewire-start
sleep
volumeicon -c volumeicon-fluxbox &
and the pactl info
Code: Select all
dolphin@mxflux:~
$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 34
Server Protocol Version: 35
Is Local: yes
Client Index: 94
Tile Size: 65472
User Name: dolphin
Host Name: mxflux
Server Name: PulseAudio (on PipeWire 0.3.58)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
Default Source: alsa_input.pci-0000_00_1b.0.analog-stereo
Cookie: 565e:a25c
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 5:35 pm
by AVLinux
alextone wrote: Sat Oct 22, 2022 2:15 pm
Woohoo, EFL volume control works. Now i can adjust volume from the keyboard.
Onwards and upward.
(systemd)
Just a quick note to you and anyone else testing/trying the Enlightenment stuff, it is recommended to boot with systemd, in fact if you talk to the E developer on IRC about running Enlightenment with sysvinit you will get laughed at...

In my PipeWire testing here I'm with you, everything is working perfectly with systemd boot however sysvinit isn't but I'm not going to waste anyone's time with that for a small edge-case of a D.E that MX doesn't support. PulseAudio works as expected on the Live system and anyone installing the Enlightenment ISO build will be recommended to boot systemd which will now get PipeWire engaged without any need for setting by the User...
Next on the testing block is a fresh AV Linux MX Edition install which being XFCE4 based I'm not expecting any issues...
Anyway enough rambling about that...
@dolphin_oracle a heartfelt THANK-YOU! for your work on this and for being open to some small changes, this is why I LOVE MX Linux!!

Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 6:25 pm
by dolphin_oracle
AVLinux wrote: Sat Oct 22, 2022 5:35 pm
alextone wrote: Sat Oct 22, 2022 2:15 pm
Woohoo, EFL volume control works. Now i can adjust volume from the keyboard.
Onwards and upward.
(systemd)
Just a quick note to you and anyone else testing/trying the Enlightenment stuff, it is recommended to boot with systemd, in fact if you talk to the E developer on IRC about running Enlightenment with sysvinit you will get laughed at...

In my PipeWire testing here I'm with you, everything is working perfectly with systemd boot however sysvinit isn't but I'm not going to waste anyone's time with that for a small edge-case of a D.E that MX doesn't support. PulseAudio works as expected on the Live system and anyone installing the Enlightenment ISO build will be recommended to boot systemd which will now get PipeWire engaged without any need for setting by the User...
Next on the testing block is a fresh AV Linux MX Edition install which being XFCE4 based I'm not expecting any issues...
Anyway enough rambling about that...@dolphin_oracle a heartfelt THANK-YOU! for your work on this and for being open to some small changes, this is why I LOVE MX Linux!!
your enlightenment spin does not set a XDG_RUNTIME_DIR environment variable. for the default 1000 user, it would be /run/user/1000, which does exist but there is no environment variable set.
Code: Select all
export XDG_RUNTIME_DIR=/run/user/1000
then then pipewire will start up fine. the info is buried in the pipewire error messages...
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 6:30 pm
by anticapitalista
AVLinux wrote: Sat Oct 22, 2022 12:58 pm
dolphin_oracle wrote: Sat Oct 22, 2022 12:47 pm
Ok thanks.
The autostart entry doesn’t seem to work on kde. Got to figure that out
Actually, I've been having some issues getting sysvinit working as well, I haven't troubled you about it yet because I haven't tested it on a pure MX install yet and so far testing has been in an Enlightenment VM. What's interesting is that PipeWire systemd is working perfectly there so perhaps the sysvinit issue is not D.E. related, just mentioning it now since the other post has come to light. Maybe what you come up with will work on all D.E's. Happy to test! What is @anticapitalista doing on the antiX side with PipeWire without systemd?
For bullseye, nothing.
We have systemd/elogind-free debs for Debian testing/sid, but they are not fully tested.
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 6:58 pm
by AVLinux
dolphin_oracle wrote: Sat Oct 22, 2022 6:25 pm
your enlightenment spin does not set a XDG_RUNTIME_DIR environment variable. for the default 1000 user, it would be /run/user/1000, which does exist but there is no environment variable set.
Code: Select all
export XDG_RUNTIME_DIR=/run/user/1000
then then pipewire will start up fine. the info is buried in the pipewire error messages...
Now you're my hero!
Thanks so much for even thinking about looking into that! If I wanted to make that a global variable where would that normally get set? /etc/profile? Enlightenment is a weird beast and cherry picks XDG stuff it does and doesn't do...
@anticapitalista
Ahhh OK, got it! I had forgotten you aren't really looking to do this on Bullseye for antiX. Thanks for the reply!
Re: PipeWire integration discussion?
Posted: Sat Oct 22, 2022 9:25 pm
by dolphin_oracle
@AVLinux its being set on first login, but not if you login/logout. I'm not sure why its not being set.
that said on first login I still cant' get the pipewire to start at login, so the environment variable is part of hte story but not all of it.
**possibly rest of story...I think autostart entries under /etc/xdg/autostart, depsite being listed in the settings->applications->startup applications aren't actually starting. if I copy the /etc/xdg/autostart/pipewire-pulse.desktop to ~/.e/e/config/startup/ then pipewire appears to startup up, at least on first boot.
however on logout/login this is not processed because the XDG_RUNTIME_DIR is not present. i think there is something wrong with the slim configuration or possibly the logout from e. that variable not being present could affect more than just pipewire, its used by other things.
**I think that when I logout of e, slim fails to start and X restarts, and you lose your dbus session, which causes all sort of problems. that might just be on my virtualbox system, but I havent changed anything from the defaults. but pipewire does work on first login now if the autostart desktop file is in ~/.e/e/config/startup/
Re: PipeWire integration discussion?
Posted: Sun Oct 23, 2022 9:59 am
by AVLinux
dolphin_oracle wrote: Sat Oct 22, 2022 9:25 pm
@AVLinux its being set on first login, but not if you login/logout. I'm not sure why its not being set.
that said on first login I still cant' get the pipewire to start at login, so the environment variable is part of hte story but not all of it.
**possibly rest of story...I think autostart entries under /etc/xdg/autostart, depsite being listed in the settings->applications->startup applications aren't actually starting. if I copy the /etc/xdg/autostart/pipewire-pulse.desktop to ~/.e/e/config/startup/ then pipewire appears to startup up, at least on first boot.
however on logout/login this is not processed because the XDG_RUNTIME_DIR is not present. i think there is something wrong with the slim configuration or possibly the logout from e. that variable not being present could affect more than just pipewire, its used by other things.
**I think that when I logout of e, slim fails to start and X restarts, and you lose your dbus session, which causes all sort of problems. that might just be on my virtualbox system, but I havent changed anything from the defaults. but pipewire does work on first login now if the autostart desktop file is in ~/.e/e/config/startup/
Thanks, great info and very much appreciated, I will test further tonight or tomorrow (I have a family thing today).
In fairness (or criticism) to SLiM, in my experience even with XFCE4 it goes off the rails on logout and logging back in on a session, in XFCE4 you lose shutdown permissions (and probably more) if you log out and log back in. Googling 'slim shutdown permissions' will bring up lots of hits...
Why do I use it...? It's so simple and very easy to theme and self-contained and 99% of AV Linux Users run single-user system and either login once or use autologin so that has masked some of these potential problems but a good point is raised that perhaps an Enlightenment spin designed to introduce more people to Enlightenment DE shouldn't have such a cranky Login Manager, I will do some more testing with lightDM..
Lastly regarding XDG, I believe Enlightenment does probably ignore /etc/xdg/autostart... It has it's own mechanisms for Policykit, Bluetooth, Connman, Packagekit and for startup (as you've done manually now)
For the record the wrench icon on the Enlightenment Panel will take you to the Enlightenment Settings and everything in E-world is configured from there
shot-2022-10-23_09-53-02.jpg
I will come back later with more findings, thanks so much for the help!
Re: PipeWire integration discussion?
Posted: Sun Oct 23, 2022 10:15 am
by dolphin_oracle
Ok then its slim and not E, because the symptoms are the same.
Re: PipeWire integration discussion?
Posted: Sun Oct 23, 2022 11:09 am
by oops
... I hope than pipewire-setup-mx will be avalaible for MX19 too ?
Re: PipeWire integration discussion?
Posted: Sun Oct 23, 2022 12:21 pm
by dolphin_oracle
oops wrote: Sun Oct 23, 2022 11:09 am
... I hope than pipewire-setup-mx will be avalaible for MX19 too ?
not likely. right now the required pipewire packages are not backported to mx19 or to debain 10 buster.
Re: PipeWire integration discussion?
Posted: Sun Oct 23, 2022 2:23 pm
by oops
dolphin_oracle wrote: Sun Oct 23, 2022 12:21 pm
...not likely. right now the required pipewire packages are not backported to mx19 or to debain 10 buster.
OK, thanks for the info.
FI: Tested into Icewm on MX21 amd64 and x32 ... that works great too ($ pactl info) :
Code: Select all
# ============ launch pipewire into IceWM startup ======================
export XDG_RUNTIME_DIR=/run/user/1000
#start pulseaudio before volumeicon so unmute works
#start-pulseaudio-x11 &
#launch pipewire
pipewire-start &
sleep
#then
volumeicon &
# ==================================
Re: PipeWire integration discussion?
Posted: Mon Oct 24, 2022 5:14 am
by ceeslans
after successfully installing pipewire on MX21 Fluxbox, I noticed following (rtkit-related) dbus error-messages in
~/.xsession-errors :
Code: Select all
init [5]
start pipewire
[W][02381.956429] mod.rt | [ module-rt.c: 278 pw_rtkit_check_xdg_portal()] Can't find xdg-portal: (null)
[W][02381.956454] mod.rt | [ module-rt.c: 991 pipewire__module_init()] found session bus but no portal
[W][02381.956763] mod.rt | [ module-rt.c: 278 pw_rtkit_check_xdg_portal()] Can't find xdg-portal: (null)
[W][02381.956784] mod.rt | [ module-rt.c: 991 pipewire__module_init()] found session bus but no portal
[W][02381.958003] mod.rt | [ module-rt.c: 297 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][02381.958085] mod.rt | [ module-rt.c: 622 set_nice()] could not set nice-level to -11: No such file or directory
[W][02381.958643] mod.rt | [ module-rt.c: 297 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][02381.958960] mod.rt | [ module-rt.c: 297 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][02381.959071] mod.rt | [ module-rt.c: 622 set_nice()] could not set nice-level to -11: No such file or directory
[W][02381.959456] mod.rt | [ module-rt.c: 297 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
M 03:29:27.098021 mod.rt ../src/modules/module-rt.c:278:pw_rtkit_check_xdg_portal: Can't find xdg-portal: (null)
M 03:29:27.098076 mod.rt ../src/modules/module-rt.c:991:pipewire__module_init: found session bus but no portal
[W][02381.960379] mod.protocol-pulse | [ server.c: 612 start_unix_server()] server 0x55b4490f70d0: unlinking stale socket '/run/user/1000/pulse/native'
M 03:29:27.099172 mod.rt ../src/modules/module-rt.c:297:translate_error: RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
M 03:29:27.099279 mod.rt ../src/modules/module-rt.c:622:set_nice: could not set nice-level to -11: No such file or directory
M 03:29:27.099691 mod.rt ../src/modules/module-rt.c:297:translate_error: RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][02381.962765] mod.rt | [ module-rt.c: 297 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
M 03:29:27.101316 mod.rt ../src/modules/module-rt.c:297:translate_error: RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][02381.963387] mod.rt | [ module-rt.c: 297 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][02381.963397] mod.rt | [ module-rt.c: 843 impl_acquire_rt()] could not make thread 55268 realtime using RTKit: No such file or directory
[W][02381.963666] mod.rt | [ module-rt.c: 297 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
M 03:29:27.102224 mod.rt ../src/modules/module-rt.c:297:translate_error: RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
M 03:29:27.102241 mod.rt ../src/modules/module-rt.c:843:impl_acquire_rt: could not make thread 55269 realtime using RTKit: No such file or directory
[W][02381.964322] mod.rt | [ module-rt.c: 297 translate_error()] RTKit error: org.freedesktop.DBus.Error.ServiceUnknown
[W][02381.964336] mod.rt | [ module-rt.c: 843 impl_acquire_rt()] could not make thread 55270 realtime using RTKit: No such file or directory
I assume that installing the rtkit package would take care of most of these errors; but aat the same time realize that this is basically a systemd component.
Is it safe to install/run it on my sysvinit setup?
Re: PipeWire integration discussion?
Posted: Mon Oct 24, 2022 6:11 am
by dolphin_oracle
Should be
Re: PipeWire integration discussion?
Posted: Mon Oct 24, 2022 9:43 am
by AVLinux
I'm seeing the same messages running constantly, should rtkit be a dependency of the pipewire setup package then? These could balloon the User xsessions errors file over time.
It odd that PipeWire's server is calling for it constantly and yet upstream hasn't made rtkit a dependency, nor have I seen it mentioned obviously in any of the PW wikis I've skimmed.
Re: PipeWire integration discussion?
Posted: Mon Oct 24, 2022 11:16 am
by dolphin_oracle
AVLinux wrote: Mon Oct 24, 2022 9:43 am
I'm seeing the same messages running constantly, should rtkit be a dependency of the pipewire setup package then? These could balloon the User xsessions errors file over time.
It odd that PipeWire's server is calling for it constantly and yet upstream hasn't made rtkit a dependency, nor have I seen it mentioned obviously in any of the PW wikis I've skimmed.
installing rtkit did not remove my messages. got rid of a few, but not all. but I only got one set, at startup. they didn't keep hitting. I'll try to watch for that tonight.
Re: PipeWire integration discussion?
Posted: Wed Nov 02, 2022 8:30 am
by AVLinux
Hi,
Perhaps for future Packaging consideration, here is a tool being developed to easily change the PipeWire Audio settings which currently are cryptically buried in the config files, I'm not thrilled that it relies on a KDE lib though, I would guess something simpler using simple QT or even Yad could probably be developed, unfortunately that's a bit beyond my current scripting skills... Perhaps a similar or adapted MX Tool could do the same. For people doing Pro Audio work on Linux the settings and parameters are important and one of the biggest complaints about PipeWire is that is is not easy to change params, this would change that..
For your consideration:
https://github.com/portaloffreedom/pipecontrol
More info and images here:
https://linuxmusicians.com/viewtopic.ph ... 80#p149580
Re: PipeWire integration discussion?
Posted: Mon Nov 14, 2022 8:53 am
by AVLinux
Hi,
Obviously there will be continuous new releases of PipeWire and there's little sense in taking valuable Packager time to put every release in MX Test, the 0.3.60 release has some important fixes that may be worth looking at an update so just passing that along:
https://www.phoronix.com/news/PipeWire-0.3.60-Released
This point in particular looks of interest:
- The alsa plugin will now only start playback when there is data. This results in better sync and lower latency between capture and playback.
Re: PipeWire integration discussion?
Posted: Thu Dec 22, 2022 10:06 pm
by dolphin_oracle
pushing up a new pipewire-setup-mx package, because the the new pipewire packages in test will probably cause pipewire-setup-mx to be removed if upgraded. and then sound won't work on sysVinit.
basically the old pipewire-setup-mx conflicts with the newer pipewire-alsa packages due to the new pipewire-alsa package providing more .conf files OOTB.
Re: PipeWire integration discussion?
Posted: Fri Dec 23, 2022 12:08 am
by AVLinux
Thanks dolphin_oracle!
Re: PipeWire integration discussion?
Posted: Fri Dec 23, 2022 5:57 am
by Steve
dolphin_oracle wrote: Thu Dec 22, 2022 10:06 pm
pushing up a new pipewire-setup-mx package, because the the new pipewire packages in test will probably cause pipewire-setup-mx to be removed if upgraded. and then sound won't work on sysVinit.
basically the old pipewire-setup-mx conflicts with the newer pipewire-alsa packages due to the new pipewire-alsa package providing more .conf files OOTB.
Absolutely will… lol spent hours yesterday with it pulsesudio was masked on the systemd side but not in sysVinit. No jack or alsa in available in pipewire.
Pipewire-setup-Mx gave a error 1 in the installer window. Everything was from the Mx back ports.
I used the MX xfce dec snapshot on a usb drive…1st as a live usb as that didn’t work I installed to the usb drive
and that worked as described above….will try with the new package when it’s available.
Thanks that setup package saves a lot of configuration

Re: PipeWire integration discussion?
Posted: Fri Dec 23, 2022 7:35 pm
by Herzbergh
hey what to do if you get the folowing error message after switching over to pipewire:
12-16 15:54:32 pulseaudio_dlna.pulseaudio CRITICAL Failed to load module "module-dbus-protocol"!
12-16 15:54:32 pulseaudio_dlna.pulseaudio INFO Probing for $PULSE_DBUS_SERVER unsuccessful.
12-16 15:54:32 pulseaudio_dlna.pulseaudio INFO Probing for /run/pulse/dbus-socket unsuccessful.
12-16 15:54:32 pulseaudio_dlna.pulseaudio INFO Probing for $XDG_RUNTIME_DIR unsuccessful.
12-16 15:54:32 pulseaudio_dlna.pulseaudio INFO Probing for org.PulseAudio.ServerLookup1 unsuccessful.
12-16 15:54:32 pulseaudio_dlna.pulseaudio INFO Found the following pulseaudio server addresses:
12-16 15:54:32 pulseaudio_dlna.pulseaudio CRITICAL Could not connect to pulseaudio! Application terminates!
12-16 15:54:35 pulseaudio_dlna.discover INFO SSDPDiscover.search()
pipewire-pulseaudio is installed..
any idea?