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.
Then the only correct solution would be to make a Pipeware default out of the box in Slackware 15.
Honestly, I believe that our BDFL will leave Fedora to train this dragon first...
BUT, probably is not so long in the future the time when the PipeWire will be the default audio-server, because the PipeWire already does a fine job (also as audio server) and the migration is very simple: just replace that audio server which is running - you do not need to patch and recompile half of distro.
However, I do not believe that this does mean that the PulseAudio will be removed from the distro.
I imagine that there will be a PulseAudio package without its own audio server, containing only the libraries, headers and the tools.
In fact, probably the splitting the PulseAudio server in a separate package is a great idea even for today.
Last edited by LuckyCyborg; 04-20-2021 at 10:59 AM.
My understanding; I have not tried to run pipewire yet; is that yes it provides a pulse audio server interface. Don't you still have to have the pulse audio libraries present on the system though? Does pipewire provide a replacement library with a compatible API to link at build time for applications that were written with only pulse in mind?
My understanding; I have not tried to run pipewire yet; is that yes it provides a pulse audio server interface. Don't you still have to have the pulse audio libraries present on the system though? Does pipewire provide a replacement library with a compatible API to link at build time for applications that were written with only pulse in mind?
The PipeWire replaces the PulseAudio server, BUT the applications still needs to be linked against the PulseAudio libraries and those libraries to be present.
Then, the PulseAudio C/C++ headers are still needed, also everything else - e.g. the tools.
Long story short: on PipeWire are no compat libraries/headers to replace PulseAudio, only a compat audio server: pipewire-pulse.
True, the applications may choose to migrate to the native APIs of PipeWire, which of course aren't compatible with PulseAudio.
Last edited by LuckyCyborg; 04-20-2021 at 11:39 AM.
Thanks for the clarification. I thought that was how it probably worked. Great work on this by the way. Huge benefit to the rest of us to have script to follow and an idea of what is coming.
Distribution: Slackware 15.0 x64, Slackware Live 15.0 x64
Posts: 618
Rep:
That's all well and good, I guess(!?), since those who answered my post decided to talk over my head and not actually answer my question (and didn't mean to start any flame war!) which was:
If it's supposedly so easy to implement any of these things (then again, one of the replies to my post made it seem like the world would explode if anything other than X were now used - that's how *I* interpreted the reply. I did express that I was very ignorant of things programming), why can't they be offered as three choices during installation? Don't rag on me just because *YOU* don't like that I, a plain ol' everyday user of Slackware, don't happen to like 'X' whatever. I asked a simple question. I know it's probably *NOT* as simple as it was made to look by the posts I've already pointed out saying it is, but don't talk over my head or down to me and just answer, if possible, if (and why would be nice too, unless that's a programming thing that will make me look cross-eyed after two sentences being read, heh) it can or can't be done.
This is *NOT* a put down of the work that's gone into this Pipewire thing, just an observation from an ignorant user who doesn't program at all in any way.
If, as ZhaoLin1457, LuckyCyborg, et al, keep trying to say that adding/making this a daemon is 'so easy/simple', then why would it be so hard to just have the three audio things - ALSA, pulseaudio, Pipewire - as choices of which the user would like to use? I hate that pulseaudio tried to take over, like a bacterial disease of some kind, and now this Pipewire thing being kinda shoved down our throats by those of us with no voice in the matter, and when ALSA, left behind and thrown under the bus, 'just worked' (and personally feel works extremely well) and is no longer even mentioned.
i can not ask or there are better people suited to ask your question, im using Slackware current since only a few months ago, there is no choice between just plain alsa and pulseaudio or pipewire in Slaxkware because thats what was choosen, For example in Gentoo you want to use only Alsa you can but Gentoo is a system were you compile everthing.
for example the firefox binary has not support for alsa backend if you use Firefox-bin in Gentoo and you dont have pulseaudio or pipewire you got no sound. if you compile firefox with alsa support you got sound. https://github.com/mozilla/cubeb/wiki/Backend-Support. Pulseaudio was choosen because its what most use. In another distro for example Void Linux they have sndio and firefox sound backend.
its a matter of developers i think if you want more support perhaps you can learn and contribute to Slackware. you can compile your own packages with only Alsa support but you are on your own in that case.
the best thing you can do is learn so you will have more choices and not have what everyone else have.
In my case in Slackware im using pipewire and for example in Steam im having less problems than using just plain alsa.
i ll install ossv4 2019 version to test how it work or if it work in steam.
pulseaudio and pipewire both work on top of Alsa, Ossv4 works on its own, Oss was the default sound for linux until the devolpers decided that their program will not be opensource and that pisded off Linus Torvals and got rid of oss from the kernel, years later Oss went open source again but it was late.
sndio is from bsd and was ported to linux.
Pipewire at least is developed by a very good programmer called Wim Taymans who also created gstreamer i was told by a forum member (i dont know if he is human or a cyborg but he is very lucky) that he likes to share a beer with a guy called Lennart...
That's all well and good, I guess(!?), since those who answered my post decided to talk over my head and not actually answer my question (and didn't mean to start any flame war!) which was:
If it's supposedly so easy to implement any of these things (then again, one of the replies to my post made it seem like the world would explode if anything other than X were now used - that's how *I* interpreted the reply. I did express that I was very ignorant of things programming), why can't they be offered as three choices during installation? Don't rag on me just because *YOU* don't like that I, a plain ol' everyday user of Slackware, don't happen to like 'X' whatever. I asked a simple question. I know it's probably *NOT* as simple as it was made to look by the posts I've already pointed out saying it is, but don't talk over my head or down to me and just answer, if possible, if (and why would be nice too, unless that's a programming thing that will make me look cross-eyed after two sentences being read, heh) it can or can't be done.
Hi FTIO! I hope my post wasn't taken out of context. You are bringing good points. Obviously, Pat would decide how things are implemented. These steps I provided (with everyone's help) shows how to achieve that. I can see staying with Pulse by default and switch to Pipewire in 15.1. At least the options are there now for both which I am quite happy about.
That's all well and good, I guess(!?), since those who answered my post decided to talk over my head and not actually answer my question (and didn't mean to start any flame war!) which was:
If it's supposedly so easy to implement any of these things (then again, one of the replies to my post made it seem like the world would explode if anything other than X were now used - that's how *I* interpreted the reply. I did express that I was very ignorant of things programming), why can't they be offered as three choices during installation? Don't rag on me just because *YOU* don't like that I, a plain ol' everyday user of Slackware, don't happen to like 'X' whatever. I asked a simple question. I know it's probably *NOT* as simple as it was made to look by the posts I've already pointed out saying it is, but don't talk over my head or down to me and just answer, if possible, if (and why would be nice too, unless that's a programming thing that will make me look cross-eyed after two sentences being read, heh) it can or can't be done.
It's only "simple" here because most (all?) current software is written to use the pulseaudio client library, and pipewrite provides a compatible pusleaudio server implementation. So this lets one use the pipewire framework for sound instead of pulseaudio without having to rewrite any of the client (user) software to use it's apis. While most application software has alsa output, not all of it does and with some it might require special building options. And if they don't have an alsa output option you would have to write one which may not be easy and they probably wont accept as a patch for either.
slackware-current removed the pure-alsa module a few months ago and so it wont be available in 15. I use a combination of plain alsa and pipewire with the pipewire-pulse daemon and disable pulseaudio because it's not something i will let run on my computers. I use a simpler approach than the one here, I set the daemon-binary in /etc/pulse/client.conf to run pipewire, and have /etc/pipewire/pipewire.conf start the pipewire-pulse service. It just seems to work with no hassles, and for this computer i'm the only user and always logged in.
I have a headless PC that plays music and the setup described here is worthless since I don't log into any graphical session to use it. But for that I just use alsa because I wrote the music player it's running, so that point is moot.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.