Using Pipewire instead of Pulseaudio in Slackware 15
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Slackdruid, were you using jack2 or pipewire's jack? I had no end of problems with jack (really jack2) and pipewire, but when I switched over to pipewire-jack, the problems disappeared. Not one xrun, though, but I wasn't doing anything complicated with supercollider.
I actually ended up using pipewire jack which completely removed and replaced jack. I think this was about 3-4 months ago.
Last edited by slackdruid; 09-30-2023 at 10:27 PM.
That's not been my experience, slackdruid, and on very old hardware. I recorded a live session almost non-stop for 2 hours with a Scarlett Focusrite into an ancient T61P Core 2 Duo Thinkpad at 48,000 with 256 buffer and had not one xrun. Granted it was a single source microphone recording. I had experienced some difficulties running the Slackware DAW so I tried a few distros with newest Pipewire and also the OpenSuse Tumbleweed packages pipewire-jack, pipewire-alsa, and pipewire-pulse. I'd much rather have been able to use Slackware but I wanted to be able to edit and "punch in" and did not want to deal with Pulse latency.
This is why I think Pipewire is very close to being able to deliver the much needed coup de gras to Pulse and very soon and that is a day I will celebrate. I despise Pulse.
Were you using many plugins and working with multiple tracks while recording? I am with you on pulseaudio, unfortunately we will be seeing that name for quite some time even after the packages have been completely removed. The whole DAW thing is just a hobby of mine 'although a serious one having spent some money on stuff' and I am very slow with projects with having to work but when I want to start laboring on something curve balls can be a turnoff when one wants to just record and have fun making something.
Last edited by slackdruid; 09-30-2023 at 10:29 PM.
I provided alien bobs guide, no one is going to remember how to configure a DAW unless you kept notes, what he has there is pretty much the same as old Ardour guides
for this stuff. I am sure in the future guides will be updated with the addition of pipewire information and proper configuration logic. In all honesty he does have
the best guide out there cause just about all the information you need is condensed on one page and not spread throughout the internet in bits and fragments.
.................
Last edited by slackdruid; 10-01-2023 at 12:56 PM.
I actually ended up using pipewire jack which completely removed and replaced jack. I think this was about 3-4 months ago.
FWIW even after installing pipewire-jack (iirc called pipewire-native-jack on Slack) Qjackctl still works, as do many other apps like Cadence. Similarly, at least on some other distros, pipewire-alsa and pipewire-pulse, although not removing alsa or pulse, does use or supplant them satisfying any apps that are not jack aware or "require" pulse. With the latest Pipewire it became trivial to route any source to any destination. What a breath of fresh air! This is why I am excitedly awaiting Pipewire 1.0 and hoping it can be integrated into Slackware 15.0 asap.
It appears to solve the divide caused by pulse by making it easy and functional for every type of user, from the low priority onboard chip folks to the multi thousand dollar pro audio systems afficionados.
FWIW even after installing pipewire-jack (iirc called pipewire-native-jack on Slack) Qjackctl still works, as do many other apps like Cadence. Similarly, at least on some other distros, pipewire-alsa and pipewire-pulse, although not removing alsa or pulse, does use or supplant them satisfying any apps that are not jack aware or "require" pulse. With the latest Pipewire it became trivial to route any source to any destination. What a breath of fresh air! This is why I am excitedly awaiting Pipewire 1.0 and hoping it can be integrated into Slackware 15.0 asap.
It appears to solve the divide caused by pulse by making it easy and functional for every type of user, from the low priority onboard chip folks to the multi thousand dollar pro audio systems afficionados.
I know, I know, I can't wait for it to replace lots of junk as well and it does completely function with all the jack stuff but without jack itself, it is a complete replacement after all. I actually was trying to detach from this thread but did not want to leave without leaving something positive and constructive.
Last edited by slackdruid; 10-01-2023 at 01:04 PM.
Distribution: Slackware64-current with "True Multilib" and KDE4Town.
Posts: 9,125
Rep:
Quote:
PipeWire 1.0 RC Available With Jackdbus By Default, Improved IRQ-Based Scheduling
By Michael Larabel. 6 October 2023.
PipeWire 0.3.81 was released today for what's being treated as the PipeWire 1.0 release candidate ahead of its stable release still comimg up this calendar year..........
Just wanted to give an update on my end. After some careful consideration and some realizations I went on ahead and took the pipewire plunge on Slackware with both stable and current. I figured I will at least try it on current first by running the enable script from /usr/sbin thinking well obviously I can disable it if it just does not work out for what I desire. At first I thought hmmm, so what works and doesn't work? So I did some diving and to my pleasant surprise without jack started as I suspected it is a most excellent replacement for pulseaudio just like when I was running it on another distribution before I migrated back to Slackware after being many years off of it.
Having now Mixbus32c 9.2 I desired to go on ahead and fire up jack and it's just like I remembered back in the day with only alsa and jack. Jack runs perfectly fine while I am doing my audio work with zero xruns. I am not able to run steam games with jack running but that is completely fine cause that is how I exactly remember the stuff being with certain things when I began my journey with DAW work from 2005 onwards, jack hijacked my audio reserving it for DAW work only. Thank goodness, this is how I remembered it with plain alsa.
So for me this is actually the way I prefer it, bye bye pulseaudio you most certainly will not be missed. All I have to do is stop the jack server through qjackctl and I'm back to regular non DAW business. Pretty wonderful, both on Slackware stable and current. No extra configuring pipewire and my system wide DAW configuration post installation still holds.
Kind regards.
Last edited by slackdruid; 10-15-2023 at 04:50 AM.
Don't forget that stock pipewire isn't compiled with jack enabled. So either grab Alien Bob's pipewire-jack package, or rebuild pipewire, yourself. (It's surprisingly easy once you change the two flags.) There's an entry in /etc needed (scroll back in this thread a bit) to get it to use pipewire's jack. I haven't tried supercollider and Steam at the same time, though I've had a youtube video and a supercollider server booted at the same time with no hijacking of audio devices. (I still have jack installed, same with pulseaudio. They aren't running, but other things have been compiled against them.)
That's what I did, I am using Alien Bobs pipewire-jack. How my setup is right now is good enough for me. The main thing I wanted to eliminate with pipewire was the intermittent pops and clicks when starting/pausing xmms, audacious, xine, youtube videos etc. It used to not be an issue without it but this past year I started noticing it and it got pretty irritating. I can't remember if it was Slackware stable or current but one of them would not even allow me to start jack without pipewire-jack package, the other did. I did not uninstall anything, I figured better to leave that stuff be. The main thing was I flat out did not want pulse running at all.
That's what I did, I am using Alien Bobs pipewire-jack. How my setup is right now is good enough for me. The main thing I wanted to eliminate with pipewire was the intermittent pops and clicks when starting/pausing xmms, audacious, xine, youtube videos etc. It used to not be an issue without it but this past year I started noticing it and it got pretty irritating. I can't remember if it was Slackware stable or current but one of them would not even allow me to start jack without pipewire-jack package, the other did. I did not uninstall anything, I figured better to leave that stuff be. The main thing was I flat out did not want pulse running at all.
It would be better to edit the slackbuild and build it yourself unless alienbob's jack is the same version as the installed pipewire. If you upgrade to the latest pipewire on 15.0 it's a necessity, and on -current alienbob's jack is only at 0.3.80 whereas pipewire is at 0.3.82. You are just asking for problems if the versions differ.
Code:
sed -i -e 's/pipewire-jack=disabled \\/pipewire-jack=enabled \\\n -Djack-devel=true \\/' pipewire.SlackBuild
# to use the default /usr/lib64/pipewire-0.3/jack/ library path, do the following
echo "/usr/lib64/pipewire-0.3/jack/" > /etc/ld.so.conf.d/pipewire-jack-x86_64.conf
ldconfig
# OR if you don't want the default /usr/lib64/pipewire-0.3/jack/ library path you need to modify the slackbuild and uninstall jack.
-Dlibjack-path=/usr/lib$LIBDIRSUFFIX \
I would also make sure you don't have any old pipewire configuration files laying around in /etc/pipewire or ~/.config/pipewire.
I have not had any clicks or pops with any pipewire version. It could be some incompatibility with your hardware, some ALSA settings, or maybe even your kernel version. If possible I would try on another machine with a clean slackware install or something along those lines. You need to get a clean baseline imho.
Last edited by fourtysixandtwo; 10-16-2023 at 11:00 AM.
The main thing I wanted to eliminate with pipewire was the intermittent pops and clicks when starting/pausing xmms, audacious, xine, youtube videos etc. It used to not be an issue without it but this past year I started noticing it and it got pretty irritating.
This could be due to power save. What does this tell you:
Code:
find /sys/module/snd* -name 'power_save*'
For example, if you have /sys/module/snd_hda_intel/parameters/power_save_controller, you could try to
Code:
echo N > /sys/module/snd_hda_intel/parameters/power_save_controller
Hi! Just tried out the pipewire-enable.sh and while I get sound in my Plasma session I do not get sound output or alsamixer does not work before I log in to X. I tried to reboot to see if that was a issue but it persists. Is there any way to enable sound in the console?
Also sometimes sound and graphics will freeze while changing the volume using requiring me to kill pipewire to get things back to normal. These problems do not exist using pulseaudio.
This could be due to power save. What does this tell you:
Code:
find /sys/module/snd* -name 'power_save*'
For example, if you have /sys/module/snd_hda_intel/parameters/power_save_controller, you could try to
Code:
echo N > /sys/module/snd_hda_intel/parameters/power_save_controller
Thank you very much. I had no idea that that module could cause problems with usb interfaces like mine, normally if there
were a power save function it would have had my interface off upon desktop login. Well, provided I was on another distribution
and had something like tlp active.
I edited /etc/rc.d/rc.modules.local and added /sbin/rmmod snd_hda_intel.
Very interesting. I am actually back on pulseaudio again just to compare, I know it's hilarious, life is indeed strange.
I used to be in the habit of blacklisting or removing any module I figured I didn't need at startup.
Learning something new everyday.
Alternatively one could create /etc/modprobe.d/blacklist.conf with lines
It would be better to edit the slackbuild and build it yourself unless alienbob's jack is the same version as the installed pipewire. If you upgrade to the latest pipewire on 15.0 it's a necessity, and on -current alienbob's jack is only at 0.3.80 whereas pipewire is at 0.3.82. You are just asking for problems if the versions differ.
Code:
sed -i -e 's/pipewire-jack=disabled \\/pipewire-jack=enabled \\\n -Djack-devel=true \\/' pipewire.SlackBuild
# to use the default /usr/lib64/pipewire-0.3/jack/ library path, do the following
echo "/usr/lib64/pipewire-0.3/jack/" > /etc/ld.so.conf.d/pipewire-jack-x86_64.conf
ldconfig
# OR if you don't want the default /usr/lib64/pipewire-0.3/jack/ library path you need to modify the slackbuild and uninstall jack.
-Dlibjack-path=/usr/lib$LIBDIRSUFFIX \
I would also make sure you don't have any old pipewire configuration files laying around in /etc/pipewire or ~/.config/pipewire.
I have not had any clicks or pops with any pipewire version. It could be some incompatibility with your hardware, some ALSA settings, or maybe even your kernel version. If possible I would try on another machine with a clean slackware install or something along those lines. You need to get a clean baseline imho.
I highly doubt I need a clean installation. However, I do think you are on to something when you spoke of hardware, that being not necessarily an incompatibility but more than likely something at the internal firmware level when handling certain types of media. What I am talking of actually happens after a base install, it's not bad it's just that I tend to be sensitive to even the slightest subtly of sound transition, my ears have been slowly trained over the years and it actually doesn't happen in my preferred DAW environments.
And! Just for a sanity check and for a wee bit of science sake, I just came back from Windows to test it with a certain number of things 'same issues', it's interface level, most likely the very design of the device, or even how certain applications are coded when it comes to audio. I rarely use Windows except for testing certain problems when in doubt.
I probably just started noticing the stuff this year and did not pay any attention to it before.
Issue on my end solved.
Last edited by slackdruid; 10-17-2023 at 05:29 PM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.