A low-latency audio workstation OS based on Universal Blue's base image focused on music production, an easy-to-grasp introduction to JACK-centric workflows, and compatibility with Windows-only music gear and software.
This project is just starting out so I wouldn't advise trying to use it for anything beyond testing purposes.
- Prioritizes packages from the Audinux repository, a COPR which features tons of audio software built for Fedora.
- Optimizations for Liquorix and/or XanMod, stock, or Bazzite Linux kernels that (should) come mostly out-of-the-box. (more on planned image types in the next section)
- Several distrobox-assemble files that enable a containerized approach to installing and maintaining additional music software. For instance, installing VCV Rack and all its available plugins would be as simple as typing
distrobox assemble create --file /etc/distrobox/vcv-rack.ini, and removing everything VCV Rack-related is just as easily done withdistrobox assemble rm --file /etc/distrobox/vcv-rack.ini! - Flatpak, webapp-manager, and QEMU also included for making more audio software accessible in some form.
This is something that's been nagging at me for a while, since the biggest hurdle for me has been trying to conceptualize what image options I should offer to the end-user. I'd like to offer two distinct base and desktop images; the latter featuring a standard fully-featured interface and the former being a trimmed-down option to fit niche applications or be the base of someone else's cloud-native project. But factoring in all the aforementioned kernels, NVIDIA drivers, and possible ARM support could lead to a dense image list that'd overwhelm people who likely just want to make some damn music.
So, this is the image list I'm gonna try offering:
desktop: The default experience meant for non-NVIDIA x86_64 desktops. Would feature the Liquorix and stock kernels that can be chosen at boot-time.desktop-nvidia: The NVIDIA desktop image, with the XanMod* and stock kernels.desktop-arm: No idea how well ARM is supported by Universal Blue but if it's at all possible, this would be the desktop image for it.base,base-nvidia, andbase-arm: Minimal images specifically for building something out of, same hardware/kernel support as their desktop counterparts.bazzite,bazzite-nvidia,bazzite-nvidia-lts, andbazzite-base: Bazzite kernel-only builds intended for hardware specifically supported by it, such as handheld gaming PCs. Also the only image type with legacy NVIDIA support because upstream Bazzite already has that covered.
*Anecdotally I installed the Fedora COSMIC spin to an NVIDIA desktop and threw both Liquorix and XanMod on it, and only the latter boots successfully. That's my only justification for XanMod here atm
As excited as I am about making this a real OS that might help people give Linux audio production a try, the reality is I'm just putting together work done by folks who know a lot more about what they're doing! I'm simply learning as I go here, both with Linux audio production and cloud-native container technologies. With that said, here's a shout-out to some projects, people, and resources that make something like this possible:
- Bazzite which impressed me so much with how much it makes PC gaming Just Work™️ that it inspired me to take a crack at making something like it for music production. Also worth mentioning Universal Blue which is the parent project of Bazzite and what noiselab is directly based on.
- ycollet, who appears to be the primary maintainer of the Audinux repository. Huge thanks for providing a vast repository like that!
- Audiojunkie on the LinuxMusicians forum, who seems to have done a ton of their own research on optimizing Fedora for audio production and has posted detailed guides such as this and this that really helped me conceptualize a bunch of things.
- ArchWiki.
The overall goal is to create a pro audio setup within a Fedora Atomic image to fill that niche within the cloud native desktop space. My personal motivation for starting this project is to move away from Windows for music production, and although there's plenty of good audio distributions out there I have a lot of my own ideas, as you can probably tell by the list below... 😅
- Build on top of the cloud-native and atomic framework provided by
ublue-os/base-mainfor more reliability and, frankly, less maintenance - Also build off of existing audio distributions such as Fedora Jam
-
Use a realtime kernel such as the Liquorix Kernel or kernel-cachyos-rtAfter some exhaustive research on what makes sense for pro audio use (and also general research, kernels aren't something I have much experience with yet), I'm going to use the generic Bazzite kernel withpreempt=full nohz_full=all threadirqskargs for extended hardware support. Perhaps as a stretch goal I'll try compiling a realtime kernel from Bazzite's patches and offering that as a separate image.- Actually I literally just realized there's several realtime kernels in ycollet/audinux, that's much appreciated!
- Apply at least some system optimizations and provide ujust scripts to make system-specific optimizations easier
- Provide libvirt/KVM/QEMU as a way to use Windows-only software and hardware. Also install Bottles and yabridge by default as a lighter option
- Provide useful configuration software such as Cadence and rtcqs out-of-the-box
- Utilize distrobox containers to provide optional audio packages
- Provide
ujustscripts to help install closed-source and/or paid software such as Renoise -
Not sure what DE/WM I want to go with, but it should ideally be lighter than GNOME and KDEHonestly likely gonna go with COSMIC - Provide a custom curated tab for Bazaar highlighting audio-related Flatpaks
- Make a wiki of some kind with helpful information for setting things up
- Include webapp-manager for web audio applications such as strudel
- Use something like cage to define a DAW or DJ software to exclusively open within its own session. Possibly useful for live performances
- Try supporting ARM platforms like Raspberry Pi
- Make a build that, like, actually passes...