KDE is traditionally classified as an advanced desktop requiring recent hardware to run smoothly. Despite that reputation I tried MX21.3 with KDE on a 14 year old Toughbook CF-19 MK3 with following specs:
Surprisingly, KDE Plasma performs well on this hardware. Obviously this required shaving off some KDE luxuries, even when MX already comes with modest defaults. With configurations illustrated on this page, KDE idle desktop uses ~450 MB RAM, compared to 700 MB for XFCE in similar setup. MX installation and base configurations were described on a previous page.
KDE’s desktop effects remind of what OSX introduced 15 years ago. Wobbly Windows, Magic Lamp, Fading Popups and a few dozen others, they choke my poor Toughbook and must not be enabled, except the most useful ones: Desktop Grid and Present Windows.
Menu > Settings > System Settings > Workspace Behavior > Desktop Effects
Then go to tab General Behavior to set animation speed:
Instant animation means no visible animation of course, but it makes Desktop Grid and Present Windows very light on CPU while still giving a luxurious desktop experience.
Discover is KDE’s package manager GUI. In particular it facilitates browsing the KDE store. It has a widget sitting in the panel’s System Tray which will regularly search for updates and display notifications about these. Search activities cause high CPU load for a minute or so, and may happen at an inconvenient moment like during a presentation.
So far I found no other way to suppress auto-updates than uninstall plasma-discover. As a less luxurious alternative, Synaptic has a specific section for KDE stuff:
Sections > KDE Desktop Environment
KDE has a file indexing mechanism “Baloo”. Indexing can make file search superfast but it comes at a price which an old laptop cannot pay. Make sure this service is not running and not allowed to autostart (I believe it was disabled by default):
Menu > Settings > System Settings > Startup and Shutdown > Background Services > Search Folder Updater
Without indexing you can still use Kfind for searching. For a scope limited to a few files or folders, the grep family of commands can also respond fast enough and return not only names of files where a pattern was found, but also the full line where it occurs, plus line number if you want. To search for string “linux” recursively in current dir:
$ fgrep -r -n "linux" ./
Conky is the highly configurable system monitor on the desktop. For my 10 inch display even a maximized window isn’t huge so Conky will always be hidden. System monitors in the panel are more useful and switching Conky off will save some memory and clock cycles .
Menu > Utilities > Conky Toggle
Horizontal panels are more useful than vertical, for a non-widescreen display. My main panel with most widgets is at the top. Panel height 40 makes icons just big enough for touch operation (probably not shown 1:1 here).
A small selection of available panel widgets is preinstalled with KDE, others can be installed as plasma5 applets from KDE store. I selected these:
To install panel widgets from KDE store:
Menu right click > Add Widgets > Get New Widgets > Download New Plasma Widgets
My 20 px bottom panel has only one widget, the Task Manager (equivalent of XFCE’s Window Buttons).
KDE’s menu does not have a list item for favorites, but a side panel for them in the form of icon buttons. An app can be added to favorites, panel or desktop through its context menu.
Menu appearance can be configured by right clicking the menu button. Menu content can be configured in MenuLibre:
Menu > Utilities > Menu Editor
To mute all terrifying notification sounds at once navigate to:
Menu > Settings > System Settings > Audio > Applications
Notification Sounds may already be set to 0%. A mute icon further supports the impression that sounds are indeed muted. Still hear notification sounds? Click the mute icon to make it look like so:
Not sure if this setting may depend on PulseAudio. Alternatively, individual control of event sounds is possible via:
Menu > Settings > System Settings > Notifications > Applications: Configure > Plasma Workspace > Configure Events
By default KDE uses the Meta (also called Super or Windows) key instead of Alt as modifier to move or resize a window. Rationale: Alt is used by various creative applications for their own purposes. See discussion. Some keyboards do not have the Meta key. It is still possible to select Alt as modifier through this menu:
Menu > Settings > System Settings > Window Management > Window Actions > Modifier key
In file browser Dophin I’ve added the “up” and “show hidden” buttons, and URL path to the toolbar. In the sidebar some rarely used places are set to “hidden”. Preview disabled for all filetypes except images and video thumnails.
To simplify the contextual menu a bit, disable rarely used services in:
Dolphin Settings > Configure Dolphin > Services
By default KDE wil not automount removable devices upon insertion but they are shown in Dolphin and can be mounted by clicking. Mounting behavior can be changed via panel menu:
Menu > Settings > System Settings > Removable Storage > Removable Devices
KDE apps use system locale for date and time format. Many people prefer to see ISO-8601 format YYYY-MM-DD-HH-SS in file browsers but that is since 2014 not supported in KDE. See discussion. As a workaround KDE has included some fake locales featuring ISO-8601. Unfortunately none of these are currently supported by a Debian(-based) system. Selecting such locale will create troubles for some non-KDE apps. A convoluted workaround for the workaround is described in this blog.
As an easy compromise I set locale en_ca (Canadian English) which comes close to my preference apart from AM/PM:
Settings > System Settings > Regional Settings > Formats > Region
Fortunately the panel clock does support 24 hour format. And for GNU tools (who do not follow system date & time format) it is easy to specify in ~/.profile:
export TIME_STYLE=long-iso
Configure keyboard, mouse, game controller (joystick) and touchpad here:
Settings > System Settings > Input Devices
My Toughbook’s resistive touchpad is “not found”, possibly because xinput lists this as PS/2 Generic Mouse and KDE does not let you configure mouse devices individually. Digital pens and touch panels are not listed either. Turns out a separate package (not preinstalled) is supposed to handle tablet configuration:
kde-config-tablet
With this package installed, the Input Devices config window will show a new section Graphic Tablet with detailed options. Not all options work. But worse, for some devices kde-config-tablet may use wrong defaults and set properties to 0 or empty, thus breaking a previously working device. This bug was discussed in 2019.
No panic. It can be fixed by uninstalling kde-config-tablet. Or keep the tool and use it to make appropriate settings. At least set “Left Mouse Button Click” for Stylus button 1, that is the tip of the pen. Do not enable “Tap to execute action”. Set low non-zero values for tip feel etc. Tab Tablet also applies to the stylus.
Configs for all tablet devices are written to a file which is only meaningful to kde-config-tablet:
~/.config/tabletprofilesrc
Finger touch for my Bamboo Craft is not configurable in the tablet section. It is handled as touch pad by driver Synaptic. This could be verified by checking its properties:
$ xinput list-props "Wacom Bamboo Craft Finger"
Like with mice, KDE can not configure touch pads individually. For touchpads in general you can set tap to click, two finger scrolling and such. On the other hand KDE’s tablet tool has options which aren’t seen in every desktop, like pressure sensitivity curves and display mapping.
XFCE’s approach for input device configuration is very different. All devices can be configured and (de)activated individually, including mice. Tablet options are limited but they do work there, in my experience.
Using shortcut key combo’s you can map tablet area to a single monitor display in a multi head setup. Default shortcuts are Meta+Ctl+1 for display 1 and Meta+Ctl+2 for display 2.
This is helpful when you want to use the full resolution of a pen tablet for one monitor. But even more essential for laptops with built in digitizer panel where the pen is useless when mapped to the combined display area of multiple monitors.
When you have an external display connected, arrange them here:
Settings > System Settings > Display and Monitor > Display Configuration
When fiddling with monitors and display arrangements it is easy for panels and widgets to get lost and they may not even reappear after reboot. This is the config file for desktop, panels and widgets:
~/.config/plasma-org.kde.plasma.desktop-appletsrc
In a single display configuration, elements should be positioned as (note capital S):
lastScreen=0
Good to know you can always edit (a copy of) the conf file in case of lost panels, or replace it with an earlier made backup. How to edit or replace a text without access to app launchers? Right click the desktop to open KRunner or use Ctl+Alt+T to pop a terminal. From there you can open dolphin, kwrite (no capitals here). It may be necessary to also repair ScreenConnectors in file:
~/.config/plasmashellrc
Some apps will remember their last window position and may open outside the main display area. Better not enable this explicitly in:
Settings > System Settings > Window Management > Window Behavior > Advanced
Firefox is so far the only one to misbehave on my KDE installation. It needs 11 seconds load time, but worse, it tends to induce window buffer errors, making the panel flicker and sometimes displaying webpage content in the window of another app. Refreshing kwin will sometimes help (for the rest of the KDE session). Press Alt + F8 to pop KRunner and type:
kwin --replace
This command makes kwin stop and restart, apparently reallocating window buffers. This can take quite a while during which the windows will be frozen.
For a more persistent fix the underlying problem must be understood. Firefox requires OpenGL 3.1 for hardware acceleration which my toughbook does not support. Firefox will then do software rendering. Kwin is set to use OpenGL 2.0 hardware rendering which does work in itself but apparently does not combine well with Firefox software rendering. Software compositing with XRender seems to work better in this case.
Menu > Settings > System Settings > Display and Monitor > Compositor > Rendering backend > XRender
However, XRender is reportedly unmaintained and therefore discontinued in Plasma 5.23. For MX + KDE this means XRender will be a temporary fix at best. Since the removal of XRender does not only affect outdated hardware there is a pending request for a GUI toggle switching OpenGL to software rendering.
By the way other browsers don’t make troubles with KDE on the same hardware. Chromium with its reputation of being a resource hog, loads faster here and does not induce window errors. Falkon, a lightweight Qt browser, runs even smoother (but with less features).
Apps from KDE community use the Qt GUI toolkit and therefore combine best with KDE, but will also run with other Linux desktops. The list of 200+ apps is presented on apps.kde.org.
Among preinstalled apps I particularly like screen shooter Spectacle and image viewer Gwenview. Spectacle can save screen shots in many formats. If a screenshot is to be processed it can be exported to another app, for example Gwenview wich doubles as a basic image editor.
Code editor Kate is good for C/C++ and other projects to be made with make. For markdown better use Ghostwriter. KDevelop is an IDE which seems to use Kate under the hood.
Ghostwriter is a markdown editor with live html preview using pandoc as conversion tool. This web page is actually written using Ghostwriter.
Kdenlive is a powerful video editor which can work on low end hardware using proxies for preview. I’ve used it in the past on Kubuntu and Xubuntu. (A similar but non-KDE editor Shotcut is also in MX21.3 repository).
Krita is a paint tool with support for pressure sensitive pens.
KCharSelect is a selector for UTF-8 and UTF-16 characters sorted by script type and subcategory thereof. ガキヹポツヰ.
KMplot is a parametric function plotter for cartesian and polar plane.
KDE apps I did not use or try yet but sound interesting: