System Requirements¶
Platform Support¶
Zrythm aims to support all platforms, however due to lack of resources we focus on the most used ones. See the matrix below for support status of each platform.
o: Supported ^: Untested x: Not supported
Platform |
x86_64/AMD64/x64 |
AArch64/ARM64/ARMv8 |
ARMv7 |
PowerPC64 |
i386 |
i686 |
---|---|---|---|---|---|---|
GNU/Linux |
o |
o |
^ |
^ |
^ |
^ |
FreeBSD |
o |
^ |
^ |
^ |
^ |
^ |
Windows |
o |
x |
x |
x |
x |
x |
MacOS |
o |
o |
x |
x |
x |
x |
Backend Support¶
o: Supported ^: Has known issues x: Broken
Backend |
Status |
---|---|
JACK |
o |
JACK (via PipeWire) |
o |
PulseAudio (RtAudio) |
o |
PulseAudio |
^ |
SDL2 |
^ |
ALSA (RtAudio) |
o |
ALSA |
x |
WASAPI (RtAudio) |
o |
CoreAudio (RtAudio) |
o |
Backend |
Status |
---|---|
JACK MIDI |
o |
JACK MIDI (via PipeWire) |
o |
WindowsMME |
^ |
ALSA Sequencer (RtMidi) |
o |
WindowsMME (RtMidi) |
o |
CoreMIDI (RtMidi) |
o |
Recommendations¶
- CPU
For smooth operation, we recommend using a CPU with at least 2GHz clock speed and at least 4 cores in total.
- Monitor
It is recommended to have at least 16 inches of monitor space to work efficiently with Zrythm.
- Audio interface
An audio interface offers low latency and better quality than integrated sound cards (especially if recording audio).
- MIDI keyboard
A MIDI keyboard is useful for quickly trying out melodies, recording, and controlling knobs and buttons.
JACK¶
When using the JACK backend, JACK needs to be set up and configured before running Zrythm. You will find lots of information online about how to configure JACK, such as Demystifying JACK - A Beginners Guide to Getting Started with JACK, so we will skip this part.
Memory Locking¶
Zrythm requires memory locking privileges for reliable, dropout-free operation. In short, if data is not locked into memory, it can be swapped by the kernel, causing xruns when attempting to access the data.
Realtime Scheduling¶
Zrythm requires realtime scheduling privileges for reliable, dropout-free operation. Realtime (RT) scheduling is a feature that enables applications to meet timing deadlines more reliably.
GNU/Linux¶
To set up these privileges for your user, see How do I configure my linux system to allow JACK to use realtime scheduling?.
FreeBSD¶
To set up these privileges for your user, change
the user class’ memorylocked
value in
/etc/login.conf
.
Open File Limit¶
On startup, Zrythm will attempt to increase the maximum limit of files it can open. You should give your user enough permissions to allow this.