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.0 – Qt Software Development Kit
  • KDE Plasma 5.18.4 LTS – Desktop environment, Plasma 5.19 Beta available
  • KDE Frameworks 5.70 – Common functionalities and tools
  • KDE Application Bundle 20.04.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

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.18 fixed flickering of subsurfaces and copy & paste works in Firefox on Wayland
  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 toolkits 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.

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 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, but it is not yet available on Arch Linux.

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. 2020-05-14: Kwin doesn’t show OpenGL/Vulkan Xwayland windows. Plasma 5.19 Beta https://bugs.kde.org/show_bug.cgi?id=422254. Fixed in Plasma 5.19.
  2. Firefox Wayland works quite well, but copy & paste doesn’t work, see https://bugs.kde.org/show_bug.cgi?id=411682. Partially a bug of <= Plasma 5.18. 2020-05-13 There is a patch developed to fix this bug for Plasma 5.18 Beta 2. Resizing the windows works fine as well now.
  3. Multi monitor setups can crash kwin. Bug <= Plasma 5.16 Beta.

Bugs and new feature requests

  • 2020-05-14: ALT+Tab shows virtual keyboard in the background. Plasma 5.19 Beta + Qt 5.15 https://bugs.kde.org/show_bug.cgi?id=421520
  • 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 Beta https://bugs.kde.org/show_bug.cgi?id=395818.
  • 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.17 beta
  • 2019-03-27: Adaptive Sync is missing on Plasma Wayland. Bug <= Plasma 5.18 Beta https://bugs.kde.org/show_bug.cgi?id=405912
  • 2019-05-11: Plasmashell crashes often when copying files from network locations (Wayland). Bug <= Plasma 5.17.5 https://bugs.kde.org/show_bug.cgi?id=407419
  • 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.54 bug. Seems to be fixed in systemsettings, but not in konsole.

Bugs with Workarounds

  • The resolution is not perfect on HiDPI on Wayland, 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 Beta 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.17 Beta. 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

  • Changing the timezone in KDE requires root. It’s sounds strange, but if you do KDE will ask you to enter your password for this activity. Workaround: Enter the admin user password.
  • 2018-03-24: Pressing Kickoff’s “programs” should take you back to all programs. Bug <= Plasma 5.19 Beta https://bugs.kde.org/show_bug.cgi?id=369405. Workaround: Use kicker menu or the full-screen application dashboard menu.

Plasma 5.19 will fix the following Bugs

  • 2020-05-14: Turn off the monitor with the power button and on again will lead to a segfault of kwin, see https://bugs.kde.org/show_bug.cgi?id=402827. Bug <= Kwin 5.18
  • 2020-05-14: If you open in systemsettings the additional Breeze window configuration then the content is flickering and disappearing if it is placed over the systemsettings window. Kmail flickers as well a lot. Bug <= Kwin 5.12..5.18 https://bugs.kde.org/show_bug.cgi?id=387313
  • Top panel is over other windows when opening a new Plasma Wayland session or over the Krunner Kwin window (ALT + F2) on Wayland. Workaround: Use instead of all the Plasma panels the Latte dock. Bug <= Plasma 5.18 Beta https://bugs.kde.org/show_bug.cgi?id=389964
  • Screen rotation
  • 2018-03-09: If I open e.g. Kate as a non maximized window and I maximize it, I can always restore its previous window size. But when I close the maximized window it will open correctly maximized, but it looses the possibility to restore the not maximized window size. You need to drag the size manually again from maximized down to a smaller window. Bug <= Plasma 5.17 https://bugs.kde.org/show_bug.cgi?id=391621, probably a bug in <= Qt 5.18. Plasma 5.19 will restore at least to a very small window, which is ok but not the proper solution!
  • 2020-05-14: Widget Explorer doesn’t close when clicking to the desktop. Bug <= Plasma 5.17 Beta https://bugs.kde.org/show_bug.cgi?id=392259. Workaround: Use normal close button. Fixed in Plasma 5.19.
  • 2019-07-13: Video and game play stuttering in games on XWayland especially in 4k. Could be related to the limited refresh rate of XWayland, maybe related to bug https://bugs.archlinux.org/task/58657?project=1&string=xorg-server-xwayland. Fixed by XWayland 1.20.5 update.

Plasma 5.18 fixed the following Bugs

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.