KDE (https://kde.org) is one of most used Linux desktops mostly driven by a great community. KDE consists of the multiple components:
- Qt 5.15.2 – Qt Software Development Kit
- KDE Plasma 5.20.5 – Desktop environment
- KDE Frameworks 5.78 – Common functionalities and tools
- KDE Application Bundle 20.12.1 – All desktop applications.
To install KDE and some recommended appications in Arch Linux (https://wiki.archlinux.org/index.php/KDE), run:
pacman -Sy plasma-meta qt5-virtualkeyboard plasma-wayland-session sddm-kcm falkon sshfs kdeconnect ktorrent kdiff3 phonon-qt5-gstreamer pipewire packagekit-qt5 kde-applications-meta partitionmanager pacmanlogviewer appmenu-gtk-module kde-gtk-config latte-dock kup rsync
To make it simple install all KDE applications and later remove not required ones. You should use phonon-qt5-gstreamer as it has support for pipewire (new Video/Audio sharing interfaces on Wayland, phonon-qt5-vlc is lacking support).
Now you can select Plasma in your login manager like SDDM. There ar 2 entries:
- Plasma-Wayland (recommended)
- 5.12 LTS declared Wayland stable, red shift night mode
- 5.13 developments are done on Wayland first
- 5.14+5.15 fixed several annoying XWayland input bugs and 5.15 added Screen Sharing support
- 5.16 has now drag and drop support between XWayland and Wayland native windows. You can configure now your touch-pad on Wayland. Support for Remote Desktop.
- 5.19 fixed flickering of subsurface’s and copy & paste works in Firefox on Wayland
- 5.20 Adds screen recording
- 5.20.5 Fix for screensharing
- Plasma-X11 (default)
- 5.13 X11 feature freeze, only bug fixes and some downgrades from Wayland developments, but officially still the default
Make sure that NetworkManager is enabled on a laptop, otherwise you won’t see in KDE the network applet:
systemctl enable NetworkManager
With Qt 5.10 the first Vulkan bindings for development have been released and it would be great to have a rendering path for KDE Plasma-Wayland over Vulkan. It gives more control to the developers and will allow KDE to avoid a lot of rendering bugs and instabilities. The KDE developer Fredrik Höglund started a Kwin Vulkan compositing branch (https://cgit.kde.org/kwin.git/log/?h=fredrik/vulkan), but no commit since more than 2 years!
Plasma on Wayland is stable and should be used instead of X11 unless there is still a gap in your workflow on Wayland. One big advantage of Wayland is that Kwin itself has improved a lot thanks to the redesign and automatic testing added during the transition phase. Legacy, not yet updated X11 applications will continue to work through XWayland.
Plasma runs great on Wayland, but if you encounter bugs and glitches then open a bug report. Once you login the first time to Plasma-Wayland you shouldn’t notice any difference compared to the legacy X11 Plasma Desktop, but small setups are required:
- Enable in touch pad the tab to click function
If you are a Nvidia proprietary driver user, Nvidia doesn’t support Plasma Wayland with native GBM. After many years Nvidia provided Kwin Wayland support starting with Plasma 5.16 via their EGLStreams. This is not the promised platform independent approach of Nvidia and there is no XWayland support! Recommendation: Get rid of your Nvidia GPU, use Mesa drivers or directly switch to Intel/AMD.
Wayland or XWayland?
To see if an application runs natively on Wayland or through XWayland click ALT + SPACE and type “kwin“, then press enter. The Kwin debug console will show all the details regarding Wayland and XWayland (X11) clients.
Remove non Wayland toolkits
To get rid of legacy tool-kits not supporting Wayland read Wayland & Weston.
KWinFT and Wrapland
KWinFT (https://gitlab.com/kwinft/kwinft) is forked from KWin to drive development forward and avoid breaking stable branch with a focus on a clear design, modern development practices and Wayland. It tried to reduce the usage of Qt.
Wrapland (https://gitlab.com/kwinft/wrapland) is a Qt/C++ library wrapping libwayland.
- Window decoration of Firefox is not using SSD on Wayland, bug KWinFT 5.20 https://gitlab.com/kwinft/kwinft/-/issues/98
- Subsurface flickering (patches from Kwin legacy cannot be merged)
Remove not required applications
After a full installation of Plasma desktop removing some not required or duplicate applications will create leaner desktop. Example:
sudo pacman -R kde-multimedia-meta kde-applications-meta kde-education-meta kde-utilities-meta kde-sdk-meta kde-network-meta kmix sudo pacman -Rsc konqueror k3b kde-games-meta blinken kanagram khangman kwave kalgebra cantor kalzium rocs artikulate kgeography ktouch kturtle minuet step kiten klettres kwordquiz parley kig kmplot kbruch dragon kfloppy lokalize cervisia kmouth kmousetool kteatime krfb krdc khelpcenter audiocd-kio
If you need to later on tell pacman that some of the packages that are now installed as a dependency should be explicitly installed as e.g. pacman -Qtd marks them as not required, you can do the following example:
sudo pacman -Sy --asexplicit kate kwrite kompare kfind kompare kdf kcalc kgpg ktimer sweeper marble print-manager filelight dolphin-plugins ark umbrello
After the login to a freshly installed KDE Plasma desktop, some adjustments are recommended. Open the KDE System Settings:
- Change color of active title bar to #31363b so that it is the same color as the breeze-dark theme color of the panel
- Install and change to Pirus
- Application Design
- Window Decorations
- Design Settings
- Disable background gradient of title frame (it looks ugly)
- Button tab: Enable “Close windows by double clicking in the menu button (top left corner)
- Remove Window boarders (default now?)
- Design Settings
- Window Decorations
- Start and Shutdown
- Login Manager
- Enable the breeze theme for SDDM and change the mouse pointer as well to breeze (doesn’t work in Plasma 5.12 anymore, bug)
- Login Manager
- Screen Settings
- Activate Night Color (Wayland only) – Automatic mode to reduce blue colors at night
- Touchpad – activate natural scrolling so that it is like the touch screen
- Turn off all the annoying sounds
Latte-Dock 0.9 is a beautiful dock with great Wayland support. Read http://psifidotos.blogspot.de/2018/01/latte-bug-fix-release-v073-and-some-news.html and https://psifidotos.blogspot.com/2018/07/latte-dock-v08-friendly-smile.html to see some example configuration.
KDE Connect is the best tool to connect your Linux Desktop with an Android smartphone (Gnome is supported as well). Install on your Android mobile the kdeconnect app e.g. from the f-droid.org store and then connect it to your desktop.
Kup (https://github.com/spersson/Kup) is a nice rsync backup tool. Kup supports rsync and bup (based on git, only available in AUR) backends.
KDE Testing Repository
If you want contributing to testing you can activate KDE beta’s and release candidate’s (see https://community.kde.org/Schedules) with the KDE-unstable repository in Arch Linux by adding the KDE-unstable repo before testing, which should be activated as well. Especially new Qt versions can show a lot of bugs.
[kde-unstable] Include = /etc/pacman.d/mirrorlist
Then you just have to upgrade and you will use the latest KDE and Qt testing versions (betas and release candidates):
What KDE should add is a proper bug reporting infrastructure. It is partially in place, but it requires user interaction. KDE should ask after a crash if it should be reported always automatically, only on confirmation or never. If a user confirms that bugs are automatically reported, then every crash will be submitted regardless of how good the bug reports are. For analytic purposes knowing if the same bug appears over and over again would allow KDE to properly assign developers for the most annoying common bugs. Today KDE makes the bug reporting overly complicated for new users, you need to answer several questions and only if you answer most of them with yes you will be allowed to send the bug report. But an automatically bug reporting infrastructure would allow KDE to really improve the general stability including reporting installed software versions. Take Firefox bug reporting as a good example, it works in the background as an opt-in feature.
Arch Linux users should enable debug symbol and recompile some packages if they want to provide useful bug reports, read Debugging.
To start development for one of the many KDE community projects, follow this guide: https://community.kde.org/Get_Involved/development
- Multi monitor setups can crash Kwin Wayland. Bug <= Plasma 5.16 Beta.
- Scaling on Plasma Wayland is not working if you use games, they are scaled wrongly and the mouse input doesn’t work anymore.
- Wacom drawing tablets are currently not supported on Plasma Wayland.
- Wacom pens work only partiall https://bugs.kde.org/show_bug.cgi?id=426581
- Turning off the monitor can still crash Plasma & Kwin Wayland https://bugs.kde.org/show_bug.cgi?id=420160
Bugs and new feature requests
- 2020-05-15: Screen flickering in Firefox and Thunderbirg Wayland with Basic renderer on Plasma Wayland is still possible in several cases, the subsurface issue is not yet 100% fixed in Plasma 5.20. Workaround in Firefox/Thunderbird: Enable Webrender and HW compositing.
- Notifications steel active window input on Wayland even if you switch to another window in the mean time, open e.g. Steam can 2 or 3 times steel the focus of another window like Konsole. If I open an application and it loads to slow, I will set it to the background by using another application and in this case I do not want to get over and over again disturbed by popping up windows, these should open in the background as I changed my focus already. Bug <= Plasma 5.20
- 2019-03-27: Adaptive Sync is missing on Plasma Wayland. Bug <= Plasma 5.20https://aur.archlinux.org/linux-git.git https://bugs.kde.org/show_bug.cgi?id=405912
- 2018-06-26: Mouse stuttering in games on XWayland especially in 4k. Could be related to the limited refresh rate of XWayland. Bug Plasma <= 5.14.2 https://bugs.kde.org/show_bug.cgi?id=398391. Maybe a Wine or XWayland bug as in 4k there is stuttering as well even though the game runs in high frame rates.
- In applications like systemsettings or konsole or a lot of other applications the scrolling per touchscreen inside of the normal window is not recognized. KDE Frameworks 5.38..5.76 bug. Seems to be fixed in systemsettings, but not in konsole.
- 2018-06-24: Inaccurate mouse input in Nexuiz (XWayland) on Wayland. The open issue are mouse jumps or a blocked movement into one direction in borderless windows. Bug <= Plasma 5.19 https://bugs.kde.org/show_bug.cgi?id=395818. Cannot be tested in Arch Linux currently as the package nexuiz-data is not available in AUR anymore.
Bugs with Workarounds
- The resolution is not perfect on HiDPI on Wayland even with scaling, most fonts are too big. Gtk applications scale bad as well. Workaround: Can be fixed by adjusting the DPI in font settings.
- In LibreOffice and Virt-Manager fonts are too small without scaling and e.g. DPI increased to 140 on a 4K screen on Wayland. Maybe an Gtk issue. Workaround: Use the Calligra Office suite instead. Bug <= Plasma 5.17 https://bugs.kde.org/show_bug.cgi?id=396276
- XWayland (probably Gtk) applications like Firefox or Steam look blurry and unsharp with a scaling factor of 2x. Bug <= Plasma 5.19. Workaround: Disable scaling and increase DPI in font settings.
- Falkon installed via Flatpak doesn’t run on Wayland. Workaround: Use Falkon from distro repository
Minor Bugs with Workarounds
- 2018-03-24: Pressing Kickoff’s “programs” should take you back to all programs. Bug <= Plasma 5.20 https://bugs.kde.org/show_bug.cgi?id=369405. Workaround: Use kicker menu or the full-screen application dashboard menu.
Plasma 5.20 fixed the following bugs
- Screen recording (e.g. OBS) didn’t work on Plasma Wayland. https://invent.kde.org/libraries/plasma-wayland-protocols/-/merge_requests/1 fixed in Plasma 5.20
- XWayland crashes will not bring down the hole Plasma Wayland session anymore. https://invent.kde.org/plasma/kwin/-/issues/8
- Klipper is supported now on Wayland
- Middle-click to paste is supported now on Wayland for KDE apps, no implementation provided by Gtk so far for this
- 2020-05-14: ALT+Tab shows virtual keyboard in the background. Plasma 5.19 + Qt 5.15 https://bugs.kde.org/show_bug.cgi?id=421520. Fixed in KDE Frameworks 5.73.
- 2020-09-20: kwin crashes when scrolling with scroll bar in kdevelop (Wayland), bug since Plasma 5.20 Beta https://bugs.kde.org/show_bug.cgi?id=425233. Should be fixed in Plasma 5.20 release candidate.
Questions and Notes
- Changing the timezone in KDE requires root? Not a bug, do not change the system time zone, only adjust the time zone of the clock widget itself.