This is a quick guide to install Debian Bullseye with KDE Plasma 5 desktop as an audio production rig. Working nicely for me so far. Note I started from the netinstall image to minimise extraneous packages. This will boot to command line from where the next step will install a minimal KDE Plasma 5.20 desktop.
Warning - If you multiboot, select manual partitioning and "Do not use" for the swap partition and add it later else it will be formatted and cause much pain for the other distros installed.
Get installer image from - https://www.debian.org/releases/bullsey ... installer/
Note - I installed using ethernet connection which is recommended. If you absolutely must install via wifi I suggest to use the non-free image with firmware - https://cdimage.debian.org/cdimage/unof ... -firmware/
Note this is not guaranteed to work with all wifi devices.
Copy image to USB stick:
First check device name with lsblk - it will show as /dev/sdX where X is a letter. Then -
Code: Select all
cp <nameof.iso> /dev/sdX && sync
Reboot PC and select to boot USB stick with Boot Select menu (F12 on mine) and install base system. Deselect all options except for "Standard system utilities" (you need those).
Install:
Add contrib non-free to debian sources.list so it reads like -
Code: Select all
deb http://deb.debian.org/debian/ bullseye main contrib non-free
then:
Code: Select all
# apt install adwaita-qt alsa-utils apt-file apt-transport-https aptitude ark curl filelight firefox-esr firmware-misc-nonfree firmware-realtek gnome-themes-extra gwenview intel-microcode inxi kde-plasma-desktop linux-cpupower lm-sensors pavucontrol plasma-widgets-addons synaptic
Note - your hardware may require different firmware from mine. You can install the package firmware-linux which pulls in most of the available firmware (and a kitchen sink ) but it's better to work out which bits you need and install individually. The command above includes firmware for Intel, Nvidia and Realtek which you won't need if you don't have that hardware.
Additional general purpose packages I find useful:
Code: Select all
# apt install conky flameshot gimp gparted i7z imagemagick kcalc kcharselect ktorrent mlocate okular scrot thunderbird zim
Also purge a few automatically installed packages which could possibly cause xruns:
Code: Select all
apt purge plasma-discover*
apt purge unattended-upgrades modemmanager
Check what they do first in case you do want them.
Nvidia graphics cards:
Code: Select all
# apt install nvidia-driver nvidia-settings
(if you have recent Nvidia card, otherwise run nvidia-detect to find suitable driver for older cards. May be unnecessary if the default Nouveau driver works for you but I have 4K monitor and Nvidia one is definitely better. I recommend to use Liquorix kernel, as the default 5.10 Debian one used about 3 times as much DSP)
Nvidia setup:
Nvidia Settings (helps with GL plugins in Ardour or Mixbus) -
In OpenGL Settings - Uncheck Sync-To-VBlank, select High Performance in Image Settings
Warning - if you have a laptop with Optimus dual graphics, see the Debian wiki.
Plasma tweaks:
Global Theme - Plasma Dark
Display and Monitor > Display Configuration - Global scale - 150% (for 4K monitor)- try different settings to suit. It has fractional scaling with 6.25% steps.
Night Color - Activate Night Color !set location or manual
Startup & Shutdown:
Uncheck Confirm logout
Default Leave - Turn off computer
On Login - Start with an empty session
Dolphin -
Show Panels > Information
Configure Dolphin > Startup > Make location bar editable, Show full path in location bar
Details view mode
Show Additional Information > Size, Created(?)
/etc/fstab:
post install additions (my personal) You will need to add swap back if you omitted it during install. Find its UUID with [code]lsblk -f[/code]
Code: Select all
UUID=e740d3f4-6549-4d6b-ab0f-70fa1a682e22 none swap defaults 0 0
Now for the audio stuff:
Additional repo sources:
Stevo repo (for DeadBeef):
create /etc/apt/sourceslist.d/stevepassert.list with this content -
Code: Select all
deb http://download.opensuse.org/repositories/home:/stevepassert/Debian_Testing/ /
Download http://download.opensuse.org/repositori ... elease.key then -
Code: Select all
# apt-key add Release.key
..........
Liquorix repo:
Set up the repo as per instruction at - https://liquorix.net/
Warning - do not install the kernel metapackages as advised there if you use nvidia-driver (it will break sometimes when kernel upgraded), but select an individual version. Check available versions with
Code: Select all
apt list *liquorix*
I did -
Code: Select all
apt install linux-image-5.13.0-19.1-liquorix-amd64 linux-headers-5.13.0-19.1-liquorix-amd64
..........
KXStudio repos:
Note: KX is not updating many 3rd party plugins and packages any more, only their own applications such as Carla and Cadence. I am slowly reviewing and replacing packages and plugins from here. So far I have replaced Dragonfly Reverb with upstream version from https://michaelwillis.github.io/dragonfly-reverb/ , Geonkick from https://github.com/free-sm/geonkick , and Ardour with v6.5 from Debian bullseye repo (6.9 is available from ardour.org for a tiny donation or subscription. I mainly use Harrison Mixbus instead). Plugin versions available from there still work fine in my experience. So far.
https://kx.studio/Repositories (check for latest version first):
Code: Select all
wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_10.0.3_all.deb
Code: Select all
# apt install ./kxstudio-repos_10.0.3_all.deb
..........
rncbc repo (latest Qtractor etc.):
create /etc/apt/sourceslist.d/rncbc.list with this content -
Code: Select all
deb http://ppa.launchpad.net/rncbc/apps-focal/ubuntu focal main
# deb-src http://ppa.launchpad.net/rncbc/apps-focal/ubuntu focal main
deb http://ppa.launchpad.net/rncbc/libs-focal/ubuntu focal main
# deb-src http://ppa.launchpad.net/rncbc/libs-focal/ubuntu focal main
Run apt update to find ID no. of signing key, then -
Code: Select all
# gpg --keyserver keyserver.ubuntu.com --recv-keys 74407499CD30F338
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 74407499CD30F338: public key "Launchpad PPA for Rui Nuno Capela" imported
gpg: Total number processed: 1
gpg: imported: 1Code: Select all
# gpg -a --export 74407499CD30F338 | apt-key add -
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK
Audio packages:
Note: many of these are from KX Studio repo and may not be the latest version. They should work fine though.
Code: Select all
# apt install a2jmidid alsa-utils ardour audacity autotalent avldrums.lv2 calf-plugins carla carla-bridge-linux64 carla-bridge-win64 carla-data carla-lv2 deadbeef distrho-plugin-ports dpf-plugins drmr drowaudio-plugins-lv2 drumgizmo easyssp-lv2 easytag fabla fluid-soundfont-gm fxload guitarix helm hydrogen infamous-plugins jackd2 juced-plugins-lv2 kxstudio-lv2-extensions lilv-utils linuxsampler lsp-plugins mda-lv2 mediainfo-gui mixxx mpv mudita24 obxd-lv2 pavucontrol pianobooster pulseaudio-module-jack qjackctl qmidiarp qsampler qsynth qtractor rtirq-init rubberband-cli simplescreenrecorder sndfile-tools sorcer sox tal-plugins-lv2 tap-lv2 vmpk x42-plugins yoshimi yoshimi-data zam-plugins zynaddsubfx
Audio module tweaks: (special config for my M2496 card to force it to be default. Yours may work OOTB or be different but technique is the same):
Create file /etc/modprobe.d/alsa-base.conf with this content -
Code: Select all
options snd_ice1712 index=0
options snd_hda_intel index=1
Onboard HDA card is disabled in UEFI setup
QJackCtl - for PulseAudio > JACK bridge setup:
Load sink only:
Uncheck Enable D_Bus in Misc tab or it will conflict with this.
Options > Execute script after startup -
Code: Select all
pactl load-module module-jack-sink channels=2 && a2jmidid -e &
This should be modified as required eg. you need PA source or load other modules.
I load a system room correction using LSP Parametric EQ additionally with -
Code: Select all
lsp-plugins-para-equalizer-x16-stereo -c </path/to/saved.cfg> & pactl load-module module-jack-sink channels=2 connect=no && a2jmidid -e &
(Replace </path/to/saved.cfg> with your actual path to saved settings file.)
and save the connections as a patch in QjackCtl Patchbay.
If you don't have audio when playing an audio file after setup, check levels in alsamixer and pavucontrol. Ensure the correct sink is showing for the application in pavucontrol; when JACK is running you may have to change it to "Jack sink"
Select Off for unused cards in pavucontrol Configuration tab.
Run RealtimeConfigQuickScan - fairly self-explanatary
Special kernel parameters:
On my Intel i5-6500 processor I found disabling C-States to reduce xruns noticeably, and threadirqs kernel parameter made a significant improvement as well (threadirqs is not required for RT kernel but is with Liquorix). In /etc/default/grub edit the kernel boot parameters:
Code: Select all
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_idle.max_cstate=0 processor.max_cstate=1 threadirqs"
Tested with xruncounter from https://github.com/Gimmeapill/xruncounter
LinuxSampler setup with QSampler:
Best guide I found is on Arch wiki:
https://wiki.archlinux.org/index.php/LinuxSampler
WINE
WINE is a compatibility layer which enables Windows programs to run under Linux. It can be installed using instructions at https://wiki.winehq.org/Debian .
Note that normally it is recommended to install the latest wine-staging but there have been issues with some versions recently. I settled on installing the older winehq-stable which seems to run most plugins under LinVST. YMMV.
Run winecfg to set up its environment after install.
LinVST:
Note: It is probably preferable to use Yabridge rather than LinVST now as it supports Windows VST3 plugins and is more actively developed. Good guides can be found on LM forums and https://github.com/robbert-vdh/yabridge ). Yabridge needs a supported version of wine-staging rather than the wine-stable I use with LinVST though.
Enables loading many (not all) Windows VST plugins in Linux. Download and install the .deb package from https://github.com/osxmidi/LinVst/releases/ , currently LinVst-64bit-32bit_4.2.0.deb
It uses WINE so install that first.
The guide at Github is a bit confusing but the essentials are:
Make a folder and place the Windows VST .dll files in it. *I use ~/.vst *.
For plugins which are installed with an .exe file, they will usually be in something like ~/.wine/drive_c/Program Files/Steinberg/VSTPlugins (which is similar to where they are installed on Windows). You can convert them in there but I usually copy the *.dll files to ~/.vst .
Start linvstconvert and then select the linvst.so from the chosen embedded or standalone version folder. *Probably /usr/share/LinVst/64bit-32bit/linvst.so *
Point linvstconvert to the folder containing the windows vst's and hit the Start (Convert) button.
Start up the linux DAW and make sure the folder containing the windows VST .dll files is included in its VST plugins PATH, then run plugin scan.
Multiarch:
Enables running 32-bit programs or plugins, maybe.
https://wiki.debian.org/Multiarch/HOWTO
Special config for KDE Plasma 5 to make plugins and dialogs stay on top in Ardour or Mixbus:
https://manual.ardour.org/ardour-config ... -plasma-5/
Workaround for ancillary windows not staying on top in KDE Plasma 5
In order to force ancillary windows in Ardour to stay on top, the following steps are necessary:
- Launch the System Settings application.
- Open Workspace > Window Management.
- Select Window Rules in the left-hand sidebar.
- Click on the New… button. It should default to the Window matching tab.
- On the line that says Window class (application), set the combo box to Substring Match and type ardour (or mixbus) in the text entry field.
- In the list box that is labeled Window types:, click on the option Dialog Window, then press and hold Ctrl while clicking on the second option Utility Window.
- Select the Arrangement & Access tab.
- Check the box next to the Keep above option. On the same line, select Force from the combo box, then click on the Yes radio button for that line.
- Click on the OK button to dismiss the dialog.
At this point the System Settings application can be closed.
Additional Plugins compiled and/or from upstream:
Windows plugins:
Dead Duck Free Effects Bundle
DSK AsianDreamZ (32 bit only)
FETISH_5.0
Ignite_amps_pteq-x_1_1_1_win
Mini_DiZi (32 bit only)
TDRNova
u-he
Podolski
Zebra2
Valhalla
ValhallaSupermassive
Valhalla FreqEcho
Linux applications and plugins:
ABTester_Linux
Bertom_EQCurveAnalyzer
CollaB3
Dragonfly Reverb
FirComp
Geonkick
jalv, jalv+pulsebridge
LibreArp
Mamba
REW
SampleHive
sfizz
spectacle
TAL-Reverb-4_64_linux
ToneGenerator_Linux
xruncounter
Not such a quick guide after all by the time I added notes and warnings. Been intending to document it since I set up my similar Buster system. There are a few things I didn't include but had to stop somewhere. Hope it helps someone!
See also excellent guide by khz pinned in this subforum for other info - viewtopic.php?f=19&t=18436