It has been a long time since I had a serious look at my audio software set, and the Slackware DAW Live ISO image which is meant to showcase all of that software.
Life interfered and priorities shifted.
Now I am looking at 2025 and the Christmas holiday week which precedes it, and am pondering where to put my energy and time. Considering the lack of clarity about the next stable Slackware release (something which really annoyed me in the few years leading up to Slackware 15.0) and the relative certainty that KDE Plasma 6 is not going to be included in that next release, I am not looking forward to kickstarting my obsolete ktown repository for Plasma 6. It would eat up a lot of my time and I am a happy Plasma 5 user.
So, I decided it would be more productive and rewarding to revive the DAW and audio software project.
I will not focus on a refresher of my Slackware 15 based DAW Live Edition. I want to switch to Slackware -current, realizing full well that this may cause new frustrations along the way when stuff breaks as a result of a Slackware update, but I really want to experiment with Pipewire – for sure as a replacement for Pulseaudio but perhaps also as a replacement for the Jack Audio Toolkit. Who knows.
However, I have not been playing/experimenting with Slackware’s sound system since 2022, the whole Pipewire adventure has passed me by. If I want to rebuild & refresh that large set of software, I need to start with the basics and that is to get a low-latency ‘pro’ sound subsystem off the ground that I can understand and adapt to the needs of a Live Edition.
HELP!
Therefore a request to you, blog regulars, to help me understand how to get rid of Pulseaudo in Slackware and replace it with Pipewire. How does Jack still fit in this configuration? Should it remain the main sound server? Should Pipewire replace it, providing the binary API to Jack-enabled applications? Should the choice to have Pipewire or Jack as the main sound server be something you would want to make after login?
Anything you have already mastered and all the bugs and nasties that you have already eradicated, will save me some precious time and give me more motivation to restart the project during my Christmas break. Use the comments section below to describe your challenges, your solutions and your resulting setup; or link to pages / pastebins that contain Slackware-specific information.
And somewhat related, since I am not a musician or audio technician: I want to understand better how to connect the audio software to audio hardware: how do you link up a DAW like Ardour to an external USB sound card, a MIDI controller keyboard, hardware synths, microphones etc.
Some synths present themselves as another external USB sound card as well – how do you deal with that when you already route your audio through your FocusRite Scarlett? It boggles the mind when you have to try and make sense of it when you do not have music-making friends in physical proximity.
Eventually I want to have a working studio in my attic and be able to create music, not just create a music production enviroment like Slackware DAW Live.
I would love to read all your feedback and hopefully it will be enough already next weekend to help me startup when my off-week starts 🙂
Cheers, Eric
I’ve been using just pipewire for the past 1-2 years already. I haven’t removed pulse, but it’s still installed, along with jack. For jack I use pipewire’s jack, and pulse calls are handled with pipewire-pulse. (I figured that a lot is compiled against pulseaudio, and a lot of software still expects it to exist, even if the system calls are handled by something else.) To use pipewire’s jack, one needs a file called “pipewire-jack-x86_64.conf” in /etc/ld.so.conf.d with just “/usr/lib64/pipewire-0.3/jack” in it. Pulse doesn’t run and stays out of my way, so it stays installed. Just the way I like it: seen and not heard. ;^)
I’ve been using qsynth to handle MIDI lately, and it’s not bad.
I haven’t noticed any xruns or the like, but I’ve only been using jack for supercollider. (I keep jack.conf in ~/.config/pipewire, because otherwise it gets clobbered every time pipewire updates. 256/48000 seems to provide a nice low latency for supercollider, but I haven’t been doing anything too crazy with it.
Supercollider: it’s bugged against the version of boost in current, and if you compile it against its own boost, it’ll not copy help documents to the correct place. (This situation may have fixed itself in the month or so since I reinstalled everything after the new hard drive.) It was easier to copy the help documents over to its spot in my home directory manually, honestly. It’s an old bug that *should* be fixed by the new version, whenever that comes out.
OBS: think I emailed my notes? I didn’t have much success with OBS 30 and above, but I haven’t had time to poke at it, either. (There’s an appimage that was sufficient for what I needed for Extra Life Game Day. Not as nice as a compiled version for my system, but it did the job.)
I’m not big on synths (my fingers dislocate on keyboards, and it’s a pain to get them to do non-equal temperament scales of more than 12 notes per octave.) Most of what I do is like csound and supercollider, although I’m switching to supercollider.
Frescobaldi’s dead, I think. There’s some effort to port it to qt6, but I don’t know if it’s in a place that’s usable yet. I’ve been using vscode and lilypond. (vscodium doesn’t work with those plugins.) If anyone’s got a better solution for lilypond, I’d love to hear it. (I like being able to click in a score and have it pop over into that note in the code. For small pieces a text editor is sufficient, but for an ensemble piece over 5 minutes, it’s unwieldy.)
Pipewire seems get a lot of discussion lately, but to me it’s still largely a moving target.
Arch linux has been the best source of information for pulse audio configuration, but there’s little if any other documentation for pulseaudio especially since some pulse apps have been unmaintained for some time now, ex. paman. Configuring pipewire-pulse/wireplumber is a nightmare to me.
Always interested in other people’s take though.
I’ve been running pipewire as my desktop audio daemon for awhile (in 15.0) and have had no trouble with it – the pulseaudio compatability layer works with pretty much everything. I also have jack2 installed along side of it, but I haven’t done any serious audio work in awhile (but also looking to change that. Your DAW distro is excellent!)
I don’t remember exactly how it was I replaced it – I wish I’d kept notes, but I guess that shows how little trouble I’ve had with it, having set and forgotten it.
The pipewire support in slackware-current is supposed to have improved a great deal, so it is promising to hear that for you it’s working fine already in Slackware 15.
What I take from your story (but maybe that’s making assumptions) is to keep Jack2 and compile all audio applications that support it, still against the Jack libraries, and then allow pipewire-jack to create the drop-in replacement layer between Pipewire and all those apps.
I wonder if anyone has looked at qpwgraph as a Pipewire-based alternative to qjackctl.