KDE

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:

  1. 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
  2. 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

Vulkan

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-Wayland

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.

Screenshot_20180624_150933

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.

Bugs:

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

Plasma Customizing

After the login to a freshly installed KDE Plasma desktop, some adjustments are recommended. Open the KDE System Settings:

  • Colors
    • Change color of active title bar to #31363b so that it is the same color as the breeze-dark theme color of the panel
  • Symbols
    • Symbols
      • 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?)
  • 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)
  • Screen Settings
    • Activate Night Color (Wayland only) – Automatic mode to reduce blue colors at night
  • Input
    • Touchpad – activate natural scrolling so that it is like the touch screen
  • Notifications
    • Plasma
      • Turn off all the annoying sounds

Latte-Dock

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

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

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

pacman -Syu

Bug Reporting

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.

KDE Development

To start development for one of the many KDE community projects, follow this guide: https://community.kde.org/Get_Involved/development

Critical Bugs

  1. Multi monitor setups can crash Kwin Wayland. Bug <= Plasma 5.16 Beta.
  2. Scaling on Plasma Wayland is not working if you use games, they are scaled wrongly and the mouse input doesn’t work anymore.
  3. Wacom drawing tablets are currently not supported on Plasma Wayland.
  4. Wacom pens work only partiall https://bugs.kde.org/show_bug.cgi?id=426581
  5. 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

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.

One thought on “KDE

  1. Pingback: Post Install Arch Linux with Antergos – synappsis

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.