Setting up JACK with PulseAudio on ArchLinux

Add user to required groups:

1
sudo usermod -aG realtime,audio,disk agatha # you might not be agatha

Add this to /etc/security/limits.conf:

1
2
@audio       -   rtprio      95
@audio       -   memlock     unlimited

Log out and back in

Install required packages:

1
yay -S mpg123 lib32-mpg cadence-git jack2 pulseaudio-jack

Build and install wineasio separately

1
2
3
4
cd /tmp
git clone https://aur.archlinux.org/wineasio.git
cd wineasio/
makepkg -si

Copy the .dll’s into the right places. Paths might slightly differ depending on distro and wine version:

1
2
3
cd src/wineasio-1.0.0/
sudo cp build32/wineasio.dll.so /usr/lib32/wine/i386-unix/wineasio.dll.so
sudo cp build64/wineasio.dll.so /usr/lib/wine/x86_64-unix/wineasio.dll.so

Register the .dll for wine32 and wine64:

1
2
regsvr32 /usr/lib32/wine/i386-unix/wineasio.dll.so
wine64 regsvr32 /usr/lib/wine/x86_64-unix/wineasio.dll.so

(If you’re using FLStudio with wine32 or a different wineprefix, adjust the paths accordingly. Some DAWs might not require this.)

1
2
cp build64/wineasio.dll.so .wine/drive_c/windows/system32/wineasio.dll
cp build64/wineasio.dll.so .wine/drive_c/windows/system32/wineasio.dll.so

In Cadence;

Engine settings tab: Realtime is checked, Realtime priority is 95. Everything else is default. Driver settings tab: ALSA driver selected, with duplex mode on. The input device is the audio interface and the output device is the default audio output. Input and Output channels are both at 0. Sample rate is 44100 and buffer size is 2048. Periods per Buffer are set to 2.

Sample rate and buffer size values might need to be adjusted.

In FL Studio audio settings, select WineASIO. Before starting any DAW that uses WineASIO, remember to start the JACK server through Cadence and don’t forget to switch your system audio output to the JACK sink.

Jack sink (PulseAudio JACK Sink) is selected as audio output in gnome settings.