KDE Plasma Installation
Base KDE Plasma packages for the full Plasma experience. Bundle with other packages to prevent package conflicts providing the same functionality.
TIP: Include any and all packages you want installed in a list to pacman
. That way pacman
will resolve package dependencies correctly and not install packages that would cause conflicts with other packages later on in the setup; e.g. the plasma
group installs pulseaudio
as a dependency of plasma-pa
, but pulseaudio
and pipewire
(see below) are conflicting packages, meaning they can't both be installed at the same time prompting you to remove one or the other. Explicitly selected packages take precedence over packages auto-selected via dependencies.
pacman -S plasma plasma-wayland-session kde-applications
Video Acceleration
Drivers for hardware accelerated desktop rendering, improving performance and fidelity.
Intel
pacman -S mesa vulkan-intel intel-media-driver libva-intel-driver
yay -S intel-hybrid-codec-driver
AMDGPU
pacman -S xf86-video-amdgpu vulkan-radeon mesa libva-mesa-driver mesa-vdpau
Nvidia
Nouveau open source driver
pacman -S libva-mesa-driver mesa-vdpau
yay -S nouveau-fw
Proprietary driver
pacman -S nvidia nvidia-utils # Includes Vulkan driver
Audio (& screen capture)
Use PipeWire as a more current and modern low-latency sound server. Also better suited for WebRTC screen sharing and recording in Wayland sessions.
pacman -S pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumber xdg-desktop-portal-kde
Bluetooth
pacman -S bluez bluez-utils
systemctl enable bluetooth
Spell Checking
pacman -S hunspell hunspell-de hunspell-en_US hyphen hyphen-de
Printing
pacman -S cups logrotate system-config-printer
systemctl enable cups
systemctl enable logrotate.timer
Firefox
pacman -S firefox firefox-i18n-de
echo "MOZ_ENABLE_WAYLAND=1" >> /etc/environment
echo "MOZ_WEBRENDER=1" >> /etc/environment
Hardware Decoding
Utilizing GPU hardware accelerated decoding of video content results in smoother playback of HD/4K content, while reducing CPU load and power draw. Set the following in about:config
to enable hardware accelerated video playback in Firefox:
Setting key | Value | Description |
---|---|---|
media.ffmpeg.vaapi.enabled |
true |
Enable VA-API usage |
media.ffvpx.enabled |
false |
Disable internal VP8/9 software decoders |
media.rdd-vpx.enabled |
false |
Disable codec sandbox for VP8/9 |
media.navigator.mediadatadecoder_vpx_enabled |
true |
Enable hardware encoding for WebRTC |
To test if Firefox is actually using VA-API to decode video you can launch it with the following command:
MOZ_LOG="PlatformDecoderModule:5" firefox 2>&1 | grep 'VA-API'
If your log output reads something like the following video decoding via VA-API is working.
[Child 55975: MediaPDecoder #3]: D/PlatformDecoderModule VA-API Got one frame output with pts=135468000dts=135468000 duration=17000 opaque=-9223372036854775808
[Child 55975: MediaPDecoder #3]: D/PlatformDecoderModule Reusing VA-API DMABufSurface UID = 10
Plasma Integration
Control media playback from KDE
For better integration of Firefox into the KDE Plasma desktop, install the Plasma Integration add-on either via the Mozilla Add-on page or via AUR:
TIP: To prevent duplicate entries in the Media Player widget or tray icon, set media.hardwaremediakeys.enabled
to false
. This disables the media entry from Firefox and only uses the one from the Plasma integration add-on.
yay -S firefox-extension-plasma-integration
Make Firefox use KDE Dialogs
By default, Firefox uses GTK file and print dialogs, even on KDE. To change this to KDE native dialogs set one of the following:
- Set
widget.use-xdg-desktop-portal
totrue
inabout:config
- Launch Firefox with
GTK_USE_PORTAL=1
environment variable
Google Chrome
yay -S google-chrome
Tweaks
To enable hardware accelerated video decoding (with open source drivers) create a file at ~/.config/chrome-flags.conf
and add the following line in it:
--enable-features=VaapiVideoDecoder
Furthermore, visit chrome://flags and set the following options to further tweak performance (use the search field to filter):
Setting key | Value | Description |
---|---|---|
#enable-webrtc-pipewire-capturer |
Enabled |
Uses PipeWire to capture the screen in Wayland sessions |
#enable-gpu-rasterization |
Enabled |
Uses GPU for rasterization, boosting performance |
#enable-zero-copy |
Enabled |
Accesses GPU memory directly, boosting performance |
#ozone-platform-hint |
Auto |
Auto-detects which windowsing system is currently in use (X11, Wayland) |
Setting up display manager
Start SDDM on boot
Start the Simple Desktop Display Manager (SDDM) on boot to be presented with a graphical login screen.
systemctl enable sddm
Set Keymap for SDDM
NOTE: Executing this command while chroot
ed into an installation will produce an error that the locale could not be found. Set after rebooting the system, press CTRL + ALT + F3
when SDDM shows up (or any F-key between 2 and 7) to switch tty, log in via the command line and execute the command as root
.
localectl set-x11-keymap de
Generate well-known user directories
xdg-user-dirs-update
Misc additional packages
Additional packages you might want:
Name | Description |
---|---|
freerdp |
Support for the Remote Desktop Protocol used for remote login to MS Windows machines |
kimageformats |
Support for additional image formats in Dolphin and Gwenview |
ksshaskpass |
ssh-add helper that uses kwallet and kpassworddialog |
fwupd |
Firmware update manager; allows UEFI capsule updates in Discover if supported by firmware |
packagekit-qt5 |
Manage Arch packages in Discover |
appstream-qt |
Adds AppStream support for Discover |
pacman -S freerdp kimageformats ksshaskpass fwupd packagekit-qt5