Essential configurations before desktop components getting involved.
Series Index
- Linux Bootstrap Installation
- Linux A/B System Updates via BTRFS Snapshot
- Linux Post Installation
- Linux Desktop: Sway, Labwc, GUI Apps
Preface
This guide is distro independent, tested on Arch and Fedora.
Default Editor
(root)# echo "export EDITOR=/usr/bin/nvim" > /etc/profile.d/default-editor.sh
You could replace nvim with whatever you like.
Console Fonts
Install package:
Arch: terminus-fonts
Fedora: terminus-fonts-console
(root)# echo "FONT=ter-120b" >> /etc/vconsole.conf
Full font list:
Arch: ls /usr/share/kbd/consolefonts/
Fedora: ls /usr/lib/kbd/consolefonts/
Change font temporally: setfont <font_name>
Ref: Linux_console#Fonts
PipeWire
Install PipeWire related packages:
Arch: pipewire pipewire-alsa pipewire-pulse pipewire-jack wireplumber
Fedora: pipewire pipewire-utils
Bluetooth
Install Bluetooth related packages:
Arch: bluez bluez-utils
Fedora: bluez bluez-tools
Enable systemd service: systemctl enable --now bluetooth.service.
Printer
Install CUPS related packages:
Arch, Fedora: cups cups-pdf
Enable systemd service: systemctl enable --now cups.service.
The CUPS server can be fully administered through the web interface, and there’s documentation for adding printer http://localhost:631/help/admin.html.
GPU Drivers

I only use AMD GPU and Intel GPU on Linux for the well known reasons.
Install mesa and vulkan related packages:
Arch AMD: mesa lib32-mesa vulkan-radeon lib32-vulkan-radeon
Arch Intel: mesa lib32-mesa vulkan-intel lib32-vulkan-intel intel-media-driver
For Fedora, it seems these drivers and firmwares are bundled with core package group.
Use mpv
to test
hardware acceleration
, with command mpv --hwdec=auto <videofile>
Disable Watchdogs
This setting is for improving performance.
Check for a hardware watchdog module:
(root)# lsmod | grep wdt
Add to kernel module blacklist:
(root)# cat > /etc/modprobe.d/nowdt.conf << EOB
blacklist iTCO_wdt
blacklist sp5100_tco
blacklist intel_oc_wdt
EOB
Console Caps Ctrl
Remap CapsLock to Ctrl for console.
(root)# cd /usr/share/kbd/keymaps/i386/qwerty
(root)# gzip -dc < us.map.gz > usa.map
(root)# sed -i '/^keycode[[:space:]]58/c\keycode 58 = Control' usa.map
(root)# echo "KEYMAP=usa" >> /etc/vconsole.conf
Ref: Linux_console/Keyboard_configuration#Creating_a_custom_keymap