I wrote this article in the course of a few months. I tried many things and that will show here. So expect a few “I ended up using something else”.
I’ve been using Linux ever since I had my first computer when I was 10. At first, it was only because this notebook was excessively slow. But as I grew, Linux only made more sense.
I mean, I love computers, I’m very curious and I’m an open source advocate. Do you really expect me to use windows?
The thing is, I still have ONE computer that uses windows. My desktop. I use windows there for two reasons: music and games.
Here, we won’t really talk about the gaming part. Don’t get me wrong, it’s a very interesting topic and it has evolved a lot, but for now I will be focusing on the music production setup. It’s just more important to me. And less discussed, I guess.
So, with Microsoft shutting down windows 10 support, buggy windows 11 and them pushing AI down our throats, I felt like this is time to stop depending on this company.
My music production setup is very simple.
I use reaper as my Digital Audio Workstation and I have a few plugins (CLAP / VST).
I also connect a Focusrite Scarlet 2i2 3rd Gen audio interface using ASIO.
It allows me to connect my different instruments and hardware synths to the DAW.
Luckily for me, Reaper has native Linux binaries! Without that, it would have been WAY harder.
If you use Ableton and want to make the switch, give Bitwig a try!
My audio interface is also supported natively in Linux! You’d be surprised by how many devices work natively! This article from Ruffy at rtrace was all I needed to know. Note that I don’t plan on installing a configuration GUI since it’s not really useful for my model.
So, I have to find a solution for my plugins.
I started with a Debian 13 + Gnome installation on a dual boot. The motivation was mostly for stability. Also, it’s not backed by a company, which is a very nice bonus. Debian works fairly well, I use it on my server and never had issues.
But I have been extremely unlucky in this installation (skill issue). This only happened once to me in the past with a Fedora installation on a laptop. I had graphical issues, audio issues, power management issues. Everything.
This made me think a lot. I generally don’t necessarily care that much to have to make a few fixes. It can be annoying, but it also can be very satisfying. The thing is: this is my creative machine, I don’t want my creative flow to be interrupted by technical issues.
I was very frustrated and a bit disappointed at Debian. Maybe the situation would not be THAT better on Linux? Maybe I should keep using windows for music stuff?? I went to sleep frustrated but glad that I dual booted.
The next morning, this was all that I could think about. This exact situation happened so many times; I HAD to find a solution, I wouldn’t be able to rest otherwise.
So I searched for distributions that could work and I ended up going with Fedora Jam. I have been using Fedora for two years on my laptop and I’m very happy with it. It was among the distributions I considered at first, but I chose Debian because it’s not made by red hat.
Fedora Jam is a spin on Fedora made for audio stuff; It includes KDE as a desktop environment and many audio-related packages. I figured it might be more plug and play, which is what I needed at the time.
And to be honest, everything went very smoothly. My sound card was detected, and all of the JACK / Pulseaudio configuration I had to do on Debian was already working great here.
Migrating the reaper config was not as straightforward as I thought, though. There is an option in reaper to export / import settings, which I used. However, it seems like many of those did not get imported, and I had to re-configure many things.
Reaper was basically the same as on windows with a few exceptions:
- a scaling issue in the midi editor (not a big deal but not pretty)
- a (KDE related) custom cursors issue (they can’t be displayed)
- the menus look way better and more coherent than on windows
Regarding the plugins, I started with the Linux native ones. Then, I set up yabridge in order to emulate the windows ones through wine.
Yabridge is a fantastic tool specifically made for emulating audio plugins on Linux.
Here is a list of plugin tested on my system along with the issues I encountered.
| Name | Category | Type | Issues |
|---|---|---|---|
| Decent Sampler | sampler | native | crashed the first two times I opened it |
| Vital | synthesizer | native | way too laggy (fixed since then) |
| Vitalium | synthesizer | native | none |
| Surge XT | synthesizer | native | none |
| Shortcircuit XT | sampler | native | still in beta |
And in a shocking turn of events (not really), Fedora turned out to be a bad choice. I mean, as I said before, it’s quite nice. But like… Red Hat… IBM…
When I had set-up the basics, I learned that Fedora was both allowing Gen AI pull requests AND planning on adding Gen AI to the distribution.
Anyway, I was right to be wary of company backed distributions. So, back to Debian it is. I actually considered Arch, but wanting to have something simple, it might not be the best. Before any big decision potentially breaking the setup that was beginning to work, I tried to make something work on the live CD.
And it wasn’t that hard! The main issue was making Pipewire work, and the fix was not that hard. Pipewire is the default sound server in Debian, and to be honest that’s nice! Pipewire is very cool! It works well, is fast and provides APIs for other sound servers.
The issue is that Reaper can’t connect to Pipewire, and I had issues with that. Reaper can connect to JACK though! And, as I said just before, Pipewire provides APIs for this!!! So easy, right??
Hmmm not really… I mean… It SHOULD work, but it doesn’t. That’s one of the issues I originally had, but a reddit post helped me this time. Here are the commands I had to run for pipewire-jack to work well on Debian 13 Trixie.
sudo apt install pipewire-jack
sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/
systemctl --user restart wireplumber pipewire pipewire-pulse
systemctl --user restart pipewire-media-session
sudo apt remove pulseaudio-jack
sudo ldconfig
systemctl --user restart wireplumber pipewire pipewire-pulse