Debian Bullseye with KDE Audio Workstation install guide

Post fully complete "how to" guides and tutorials here. This is a great place to get feedback on stuff you might put in the wiki.

Moderators: khz, MattKingUSA

Post Reply
sunrat
Established Member
Posts: 134
Joined: Wed Jul 22, 2020 2:08 pm

Debian Bullseye with KDE Audio Workstation install guide

Post by sunrat »

This is a quick guide to install Debian Bullseye with KDE Plasma 5 desktop as an audio production rig. Bullseye is still Testing and the installer is labelled "Alpha" currently but Testing is now in freeze so should be fairly safe. 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/devel/debian-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 ... 64/iso-cd/
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 number. 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 intel-microcode firmware-realtek firmware-misc-nonfree kde-plasma-desktop firefox-esr alsa-utils pavucontrol mlocate adwaita-qt apt-transport-https gnome-themes-extra gwenview synaptic aptitude apt-file ark conky curl filelight inxi lm-sensors plasma-widgets-addons
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 :D ) but it's better to work out which bits you need and install individually. The command above includes firmware for Intel and Realtek which you won't need if you don't have that hardware.

----------------------------------------------------------------------

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. Also note this won't build on an RT kernel. . I recommend to use Liquorix, 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 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: Select all

lsblk -f

Code: Select all

UUID=e740d3f4-6549-4d6b-ab0f-70fa1a682e22     none    swap    defaults  0   0

LABEL=Stash      /mnt/stash      ext4         auto,user,rw,noatime   0    0
LABEL=Music      /mnt/music      ext4         auto,user,rw,noatime   0    0
Stash is where I store my sessions, Music is...

-----------------------------------------------------------------------
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 Release.key then -

Code: Select all

# apt-key add Release.key
..........
Liquorix repo:
Set up Liquorix before KXStudio or rncbc repos if you use the script from instructions on the Liquorix site, otherwise it will incorrectly set up the sources; mine had "bionic" where it should have been "bullseye". All good after I fixed it. *I corresponded with damentz, Liquorix dev, and the script should be fixed now.
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.10.0-17.1-liquorix-amd64 linux-headers-5.10.0-17.1-liquorix-amd64
..........
KXStudio repos:
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
..........
rnbc repo (latest Qtractor etc.):
create /etc/apt/sourceslist.d/rncbc.list with this content -

Code: Select all

deb http://ppa.launchpad.net/rncbc/apps-bionic/ubuntu bionic main 
# deb-src http://ppa.launchpad.net/rncbc/apps-bionic/ubuntu bionic main

deb http://ppa.launchpad.net/rncbc/libs-bionic/ubuntu bionic main 
# deb-src http://ppa.launchpad.net/rncbc/libs-bionic/ubuntu bionic 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: 1

Code: 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:

Code: Select all

# apt install a2jmidid alsa-utils ardour audacious audacious-plugins audacious-plugins-data audacity audacity-data autotalent avldrums.lv2 bsequencer calf-plugins carla  carla-bridge-linux64 carla-bridge-win64 carla-bridge-wine64 carla-data carla-lv2 deadbeef distrho-plugin-ports dpf-plugins dragonfly-reverb drmr drowaudio-plugins-lv2 drumgizmo easyssp-lv2 easytag fabla fluid-soundfont-gm fxload geonkick guitarix helm hydrogen hydrogen-data infamous-plugins jackd2 jalv juced-plugins-lv2 kxstudio-lv2-extensions lilv-utils linuxsampler lsp-plugins mda-lv2 mediainfo-gui mixxx mpv mudita24 obxd-lv2 pavucontrol pulseaudio-module-jack qjackctl qmidiarp qsampler qsynth rtirq-init rubberband-cli simplescreenrecorder sndfile-tools sorcer sox tal-plugins-lv2 tap-lv2 vmpk x42-plugins yoshimi yoshimi-data zam-plugins zynaddsubfx
Additionally I install the binary of EQ10Q as the repo version wasn't showing GUI last I tried:
http://eq10q.sourceforge.net/

-----------------------------------------------------------------------

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 in /etc/modprobe.d/ -

Code: Select all

alsa-base.conf:
options snd_ice1712 index=0
options snd_hda_intel index=1
snd_hda_codec_hdmi_blacklist.conf:

Code: Select all

blacklist snd_hda_codec_hdmi
Onboard HDA card is disabled in UEFI setup

............................................
Audio:
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

-----------------------------------------------------------------------

QJackCtl with PulseAudio 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 EQ additionally with -

Code: Select all

a2jmidid -e & carla-single lv2 http://eq10q.sourceforge.net/eq/eq6qs & pactl load-module module-jack-sink channels=2 &
and save the connections as a patch in Patchbay. *WIP, doesn't quite work as intended, yet, but quick tweak in QJackctl graph is needed after starting JACK. Will update if I optimise it.*

-----------------------------------------------------------------------

LinuxSampler setup with QSampler:
Best guide I found is on Arch wiki:
https://wiki.archlinux.org/index.php/LinuxSampler

-----------------------------------------------------------------------

LinVST:
Enables loading many (not all) Windows VST plugins in Linux. Download and install the .deb package from https://github.com/osxmidi/LinVst/releases/tag/3.2.1 , currently LinVst-64bit-32bit_3.2.1.deb
It uses Wine which should have been pulled in from KX with the above install commands. Alternatively the latest wine-staging from WineHQ can be used but that's a guide for another day. You probably need to run winecfg before LinVST.
The guide at Github is a bit confusing but the essentials are:
Make a folder and place the windows vst's in it. *I use ~/.vst as it simplifies permissions*.

Start linvstconvert (in the convert folder) and then select the linvst.so from the chosen embedded or standalone window 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.
linvstconvert will not convert vst dll's in sub folders and so some plugins might not appear after a daw scan, so if that happens then use linvstconverttree.

Start up the linux DAW and point it to scan the folder containing the windows vst's.

-----------------------------------------------------------------------

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:

1. Launch the System Settings application.
2. Open Workspace > Window Management.
3. Select Window Rules in the left-hand sidebar.
4. Click on the New… button. It should default to the Window matching tab.
5. 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.
6. 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.
7. Select the Arrangement & Access tab.
8. 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.
9. Click on the OK button to dismiss the dialog.

At this point the System Settings application can be closed.

-----------------------------------------------------------------------------

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
Last edited by sunrat on Fri Feb 26, 2021 9:17 am, edited 4 times in total.
User avatar
khz
Established Member
Posts: 1449
Joined: Thu Apr 17, 2008 6:29 am
Location: German

Re: Debian Bullseye with KDE Audio Workstation install guide

Post by khz »

Great, thank you.
# Just edit your post from time to time to expand/../add/... it.
That's how I do it ;-)
FZ - Does humor belongs in Music?
GNU/LINUX@AUDIO ~ /Wiki $ Howto.Info && GNU/Linux Debian installing >> Linux Audio Workstation LAW
  • I don't care about the freedom of speech because I have nothing to say.
sunrat
Established Member
Posts: 134
Joined: Wed Jul 22, 2020 2:08 pm

Re: Debian Bullseye with KDE Audio Workstation install guide

Post by sunrat »

khz wrote: Fri Feb 19, 2021 1:34 pm Great, thank you.
# Just edit your post from time to time to expand/../add/... it.
That's how I do it ;-)
Cheers! KDE has long been my favourite DE and it has sadly been ignored by media distro makers for years. KXStudio 14.04 and Musix used older KDE but both are dead now. Took me a couple of years before I gathered enough tweaks to make it work properly. Plasma 5 now uses about the same resources as Xfce so it's reputation as a heavyweight is no longer accurate.
I just came back now to edit after finding a glitch in the Liquorix repo setup script. If you set up KX or rncbc
repos before Liquorix it will put "bionic" in the sources where it should be "bullseye". Will post on their forum about it, seems to have hit other people there too.
Liquorix kernel uses about a third of the DSP the default kernel used although I hadn't set governor for that when I tried it.
Post Reply