(OLD) Ubuntu 22.04: pipewire, wayland and flatpak - A small guide
Posted: Fri May 13, 2022 7:44 am
UPDATE: this guide is obsolete - KXStudio repos are back to good, all coherent with official Ubuntu 22.04 repos, and there's no more reason to use flatpak stuff instead of KXStudio.
Here's the old guide, just for archive purposal.
-----------------------------
Hi everybody,
I'm trying to use the super-new LTS by Canonical and I'm trying to do almost everything on flatpak, being it so updated and complete about music.
Here's a small guide, a work in progress I'd like to share and edit with you.
I'm also trying to use pipewire, to solve the communication problem between system applications and sandboxed flatpak ones. Snap is totally useless and apt causes me some troubles with KXStudio packages.
INSTALLATION
- So, first thing to do: update the system.
- Than, install flatpak, some system tools, pipewire as sound manager, and Carla from Apt to load Windows VSTs:
- In order to enable pipewire wide, remove pipewire-media-session while installing Wireplumber, copy configuration file to pipewire ones, remove pulseaudio bluetooth module and enable the service:
(credits: Ubuntuhandbook.org)
- Enable flatpak repos:
- Create plugin folders:
- Restart the system
- Check if pipewire is working:
There has to be a line like this:
- Install all the rest of music software from flatpak:
(always choose 21.08 if asked)
OTHER TOOLS
Aether
https://github.com/Dougal-s/Aether/releases
Download zip and unzip .lv2 folder in ~/.lv2
Airwindows plugins
https://www.airwindows.com/
Download from “Download LinuxVSTs” and extract all the .so files in ~/.vst
Cardinal
https://github.com/DISTRHO/Cardinal/releases/tag/22.03
Download from "Linux x86_64" and extract .lv2 folders in ~/.lv2
Monique
https://github.com/surge-synthesizer/mo ... h/releases
Download zip for Linux and extract .vst3 folder in ~/.vst3
Odin2
https://www.thewavewarden.com/odin2
“Linux (generic)” → Download → extract .vst3 folder in ~/.vst3 and .lv2 folder in ~/.lv2
Wolf Spectrum
https://github.com/wolf-plugins/wolf-spectrum/releases
Download lv2 zip and extract .lv2 folder in ~/.lv2, download vst2 zip and extract .so file in ~/.vst, download Jack zip and extract the executable file in any folder you want, you'll launch it with a simple double click. It will be visible in Jack, Carla, qpwgraph and other connectors
String Machine
https://software.opensuse.org/download. ... ng-machine
Download the latest deb (20.04), don't install it, right click on the deb file → open with... → archive manager. Then extract only data.tar.xz / . / usr / lib / lv2 / string-machine.lv2 folder in ~/.lv2
Stone Phaser
https://github.com/jpcima/stone-phaser/releases
Download the Linux64.zip file (not the .deb one), and extract the two .lv2 folders in ~/.lv2
B.Low
https://github.com/sjaehn/BLow/releases
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.Slizr
http://mirrors.kernel.org/ubuntu/pool/u ... _amd64.deb
Download .deb file (don't install it), right click on it → open with... → archive manager → data.tar.xz → . → ust → lib → lv2 → extract the .lv2 folder in ~/.lv2
B.Jumblr
https://github.com/sjaehn/BJumblr/releases/tag/1.6.8
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.Choppr
https://github.com/sjaehn/BChoppr/releases
Download the lv2.zip file and extract the .lv2 folder in ~/.lv2
B.Schaffl
https://github.com/sjaehn/BSchaffl/releases
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.Oops
https://github.com/sjaehn/BOops/releases
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.SEQuenzr
https://github.com/sjaehn/BSEQuencer/releases
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.Shapr
B.Shapr can't be installed alone as lv2, and there's no flatpak version available yet. So just install it as a deb, copy lv2 folder and uninstall, like this:
Then, launch Ardour and update all the plugins: Windows → Plugin manager → Re-scan all
ARPEGGIATORS
Unluckily, there are still no arpeggiator plugins as flatpak. To make them work, just install them as vst or lv2 in user space, load them into the system installed Carla, then make an insert in Ardour and connect it via Ardour itself or qpwgraph or Carla itself.
In this way, MIDI clock doesn't work, so in the arpeggiator you have to set the same tempo of your Ardour project. If the project has tempo changes or ramps it's a problem, but come on, who uses arpeggiators with time ramps?
LibreArp
https://librearp.gitlab.io/
"Download” → “Linux 64bit LV2”, extract .lv2 folder in ~/.lv2
It won't work in Ardour (it's enabled but it returns a generic error when launched), so load it in Carla and make an Ardour insert.
QMidiArp
Just install it from apt:
You have to load it in Carla and make an insert in Ardour, same as above.
JJAZZLAB
- Download Linux zip from from https://www.jjazzlab.com/en/download/
- extract the zip to any folder you like
- Download soundfonts:
- Install Fluidsynth:
- Every time you have to enable a virtual MIDI port:
- Or, you can make it permanent like this:
Add this at the end:
Save and exit (Ctrl+x, y, enter)
Then open this:
add this at the end:
Save and exit (Ctrl+x, y, enter)
In order to use it, you have to:
- launch Qsynth (already installed from flatpak)
- in Qsynth, load the soundfont (Setup → Soundfonts → Load)
- Launch JJazzLab double clicking on bin/jjazzlab file in jjazzlab folder
- copy the configuration only from screenshots number 7 and 8 from this page:
https://github.com/jjazzboss/JJazzLab-X ... idsynth.md
You have a lot of free resources for JJazzlab, you have to download and extract them in ~/JJazzLab/Rhythms
- zips from here: http://www.jososoft.dk/yamaha/styles/styles.htm
- zips from here: https://www.a-mc.biz/makemusic/browse-s ... ng-styles/
- here a lot of useful stuff: https://www.jjazzlab.com/en/resources/
HOWTO
- Change sample frequency on the fly:
(default is 48000)
- Change frame/buffer period on the fly:
(default is 1024)
- If you reduce font scaling from Gnome Tweaks, you'll have to launch Mixxx in this way:
- To make connections, you can use qpwgraph. Also Helvum is OK. Of course Carla and QJackCtl are still good.
- To load Windows VSTs or other plugins the sandboxed applications won't see, you have to launch Carla, load any VST in it, and then connect them to Ardour via Carla patchbay or qpwgraph. If you find a way to send MIDI clock to Carla in order to sync delays or arpeggiators to Ardour's tempo... please tell me
Here's the old guide, just for archive purposal.
-----------------------------
Hi everybody,
I'm trying to use the super-new LTS by Canonical and I'm trying to do almost everything on flatpak, being it so updated and complete about music.
Here's a small guide, a work in progress I'd like to share and edit with you.
I'm also trying to use pipewire, to solve the communication problem between system applications and sandboxed flatpak ones. Snap is totally useless and apt causes me some troubles with KXStudio packages.
INSTALLATION
- So, first thing to do: update the system.
Code: Select all
sudo apt update; sudo apt full-upgrade -yCode: Select all
sudo apt install -y \
curl \
default-jre \
flatpak \
fonts-crosextra-caladea fonts-crosextra-carlito \
gnome-shell-extensions gnome-shell-extension-prefs \
gnome-system-tools \
gnome-tweaks \
gdebi \
icedtea-netx \
net-tools \
p7zip p7zip-full p7zip-rar \
python3-pip \
soundconverter \
synaptic \
ubuntu-restricted-extras \
unrar \
pipewire-audio-client-libraries libspa-0.2-bluetooth libspa-0.2-jack \
carla carla-bridge-linux32 carla-bridge-linux64 carla-bridge-win64 carla-bridge-win32Code: Select all
sudo apt install -y wireplumber pipewire-media-session-; sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/; sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/; sudo ldconfig; sudo apt remove -y pulseaudio-module-bluetooth; systemctl --user --now enable wireplumber.service- Enable flatpak repos:
Code: Select all
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepoCode: Select all
mkdir ~/.vst; mkdir ~/.vst3; mkdir ~/.lv2- Check if pipewire is working:
Code: Select all
pactl infoCode: Select all
Server name: PulseAudio (on PipeWire 0.3.48)Code: Select all
flatpak install -y \
ar.com.tuxguitar.TuxGuitar \
ch.x29a.playitslowly \
com.giadamusic.Giada \
com.github.Bleuzen.FFaudioConverter \
com.github.childishgiant.mixer \
com.github.muriloventuroso.givemelyrics \
com.github.wwmm.easyeffects \
com.gitlab.azymohliad.Qwertone \
com.polyphone_soundfonts.polyphone \
com.rosegardenmusic.rosegarden \
io.github.gillesdegottex.FMIT \
io.github.muse_sequencer.Muse \
io.github.seadve.Mousai \
io.lmms.LMMS \
net.mediaarea.MediaInfo \
net.sf.nootka \
net.sonic_pi.SonicPi \
net.sonobus.SonoBus \
net.sourceforge.VMPK \
org.ardour.Ardour \
org.audacityteam.Audacity \
org.denemo.Denemo \
org.freedesktop.LinuxAudio.Plugins.ADLplug \
org.freedesktop.LinuxAudio.Plugins.ArtyFX \
org.freedesktop.LinuxAudio.Plugins.AVLDrums \
org.freedesktop.LinuxAudio.Plugins.Calf \
org.freedesktop.LinuxAudio.Plugins.CAPS \
org.freedesktop.LinuxAudio.Plugins.ChowTapeModel \
org.freedesktop.LinuxAudio.Plugins.CMT \
org.freedesktop.LinuxAudio.Plugins.Dexed \
org.freedesktop.LinuxAudio.Plugins.DISTRHO-Ports \
org.freedesktop.LinuxAudio.Plugins.DPF-Plugins \
org.freedesktop.LinuxAudio.Plugins.DragonflyReverb \
org.freedesktop.LinuxAudio.Plugins.DrumGizmo \
org.freedesktop.LinuxAudio.Plugins.Fabla \
org.freedesktop.LinuxAudio.Plugins.Geonkick \
org.freedesktop.LinuxAudio.Plugins.gmsynth \
org.freedesktop.LinuxAudio.Plugins.Guitarix \
org.freedesktop.LinuxAudio.Plugins.GxPlugins \
org.freedesktop.LinuxAudio.Plugins.Helm \
org.freedesktop.LinuxAudio.Plugins.KapitonovPluginsPack \
org.freedesktop.LinuxAudio.Plugins.LSP \
org.freedesktop.LinuxAudio.Plugins.MDA \
org.freedesktop.LinuxAudio.Plugins.Ninjas2 \
org.freedesktop.LinuxAudio.Plugins.OBXd \
org.freedesktop.LinuxAudio.Plugins.reMID-lv2 \
org.freedesktop.LinuxAudio.Plugins.setBfree \
org.freedesktop.LinuxAudio.Plugins.sfizz \
org.freedesktop.LinuxAudio.Plugins.Sorcer \
org.freedesktop.LinuxAudio.Plugins.SoSynthLV2 \
org.freedesktop.LinuxAudio.Plugins.Surge \
org.freedesktop.LinuxAudio.Plugins.Surge-XT \
org.freedesktop.LinuxAudio.Plugins.swh \
org.freedesktop.LinuxAudio.Plugins.TAP \
org.freedesktop.LinuxAudio.Plugins.Tunefish4 \
org.freedesktop.LinuxAudio.Plugins.VL1Emulator \
org.freedesktop.LinuxAudio.Plugins.WhiteElephantAudio \
org.freedesktop.LinuxAudio.Plugins.WolfShaper \
org.freedesktop.LinuxAudio.Plugins.x42Plugins \
org.freedesktop.LinuxAudio.Plugins.Yoshimi \
org.freedesktop.LinuxAudio.Plugins.ZamPlugins \
org.freedesktop.LinuxAudio.Plugins.ZynFusion \
org.gnome.EasyTAG \
org.guitarix.Guitarix \
org.hydrogenmusic.Hydrogen \
org.kde.minuet \
org.musescore.MuseScore \
org.pipewire.Helvum \
org.rncbc.qpwgraph \
org.rncbc.qsynth \
org.rncbc.qtractor \
org.sugarlabs.MusicBlocks \
org.zrythm.ZrythmOTHER TOOLS
Aether
https://github.com/Dougal-s/Aether/releases
Download zip and unzip .lv2 folder in ~/.lv2
Airwindows plugins
https://www.airwindows.com/
Download from “Download LinuxVSTs” and extract all the .so files in ~/.vst
Cardinal
https://github.com/DISTRHO/Cardinal/releases/tag/22.03
Download from "Linux x86_64" and extract .lv2 folders in ~/.lv2
Monique
https://github.com/surge-synthesizer/mo ... h/releases
Download zip for Linux and extract .vst3 folder in ~/.vst3
Odin2
https://www.thewavewarden.com/odin2
“Linux (generic)” → Download → extract .vst3 folder in ~/.vst3 and .lv2 folder in ~/.lv2
Wolf Spectrum
https://github.com/wolf-plugins/wolf-spectrum/releases
Download lv2 zip and extract .lv2 folder in ~/.lv2, download vst2 zip and extract .so file in ~/.vst, download Jack zip and extract the executable file in any folder you want, you'll launch it with a simple double click. It will be visible in Jack, Carla, qpwgraph and other connectors
String Machine
https://software.opensuse.org/download. ... ng-machine
Download the latest deb (20.04), don't install it, right click on the deb file → open with... → archive manager. Then extract only data.tar.xz / . / usr / lib / lv2 / string-machine.lv2 folder in ~/.lv2
Stone Phaser
https://github.com/jpcima/stone-phaser/releases
Download the Linux64.zip file (not the .deb one), and extract the two .lv2 folders in ~/.lv2
B.Low
https://github.com/sjaehn/BLow/releases
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.Slizr
http://mirrors.kernel.org/ubuntu/pool/u ... _amd64.deb
Download .deb file (don't install it), right click on it → open with... → archive manager → data.tar.xz → . → ust → lib → lv2 → extract the .lv2 folder in ~/.lv2
B.Jumblr
https://github.com/sjaehn/BJumblr/releases/tag/1.6.8
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.Choppr
https://github.com/sjaehn/BChoppr/releases
Download the lv2.zip file and extract the .lv2 folder in ~/.lv2
B.Schaffl
https://github.com/sjaehn/BSchaffl/releases
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.Oops
https://github.com/sjaehn/BOops/releases
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.SEQuenzr
https://github.com/sjaehn/BSEQuencer/releases
Download the tar.xz file and extract the .lv2 folder in ~/.lv2
B.Shapr
B.Shapr can't be installed alone as lv2, and there's no flatpak version available yet. So just install it as a deb, copy lv2 folder and uninstall, like this:
Code: Select all
sudo apt install bshapr
cp -r /usr/lib/lv2/BShapr.lv2 ~/.lv2/
sudo apt remove bshaprARPEGGIATORS
Unluckily, there are still no arpeggiator plugins as flatpak. To make them work, just install them as vst or lv2 in user space, load them into the system installed Carla, then make an insert in Ardour and connect it via Ardour itself or qpwgraph or Carla itself.
In this way, MIDI clock doesn't work, so in the arpeggiator you have to set the same tempo of your Ardour project. If the project has tempo changes or ramps it's a problem, but come on, who uses arpeggiators with time ramps?
LibreArp
https://librearp.gitlab.io/
"Download” → “Linux 64bit LV2”, extract .lv2 folder in ~/.lv2
It won't work in Ardour (it's enabled but it returns a generic error when launched), so load it in Carla and make an Ardour insert.
QMidiArp
Just install it from apt:
Code: Select all
sudo apt install qmidiarpJJAZZLAB
- Download Linux zip from from https://www.jjazzlab.com/en/download/
- extract the zip to any folder you like
- Download soundfonts:
Code: Select all
wget https://musical-artifacts.com/artifacts/1036/JJazzLab-SoundFont.sf2Code: Select all
sudo apt install fluidsynthCode: Select all
sudo modprobe snd-virmidi midi_devs=1Code: Select all
sudo nano /etc/modulesCode: Select all
snd-virmidiThen open this:
Code: Select all
sudo nano /etc/modprobe.d/snd-virmidi_options.confCode: Select all
options snd-virmidi midi_devs=1In order to use it, you have to:
- launch Qsynth (already installed from flatpak)
- in Qsynth, load the soundfont (Setup → Soundfonts → Load)
- Launch JJazzLab double clicking on bin/jjazzlab file in jjazzlab folder
- copy the configuration only from screenshots number 7 and 8 from this page:
https://github.com/jjazzboss/JJazzLab-X ... idsynth.md
You have a lot of free resources for JJazzlab, you have to download and extract them in ~/JJazzLab/Rhythms
- zips from here: http://www.jososoft.dk/yamaha/styles/styles.htm
- zips from here: https://www.a-mc.biz/makemusic/browse-s ... ng-styles/
- here a lot of useful stuff: https://www.jjazzlab.com/en/resources/
HOWTO
- Change sample frequency on the fly:
Code: Select all
pw-metadata -n settings 0 clock.force-rate 44100- Change frame/buffer period on the fly:
Code: Select all
pw-metadata -n settings 0 clock.force-quantum 512- If you reduce font scaling from Gnome Tweaks, you'll have to launch Mixxx in this way:
Code: Select all
export QT_AUTO_SCREEN_SCALE_FACTOR=0; flatpak run org.mixxx.Mixxx- To load Windows VSTs or other plugins the sandboxed applications won't see, you have to launch Carla, load any VST in it, and then connect them to Ardour via Carla patchbay or qpwgraph. If you find a way to send MIDI clock to Carla in order to sync delays or arpeggiators to Ardour's tempo... please tell me

