Comparing Performance of Lightweight DEs

Over the past few days, I did several test installs of Lightweight DEs on the Raspberry Pi to find what resources the DE consumes and how the experience of the DE is on the Raspberry Pi 4b that I own. This exercise is inspired by the discussion I had with @pudge and @keybreak a few days ago.

Performance Metrics

The table below shows a comparison of the resources in terms of RAM and Disk Space out of the box along with the Boot time.

Criteria KDE LXQt with OB Openbox LXQt/KWin Enlightenment Xfce
RAM (MB) [1] 705 348 351 534 330 545
Total installed Packages [2] 826 760 729 820 632 711
Install Size (GB) [2:1] 4.3 3.8 3.6 4.2 3.9 3.4
Boot time (s) [3] 17 5 4 5 6 10

We can see that apart from KDE and Xfce which take more than 10 seconds to boot, other DEs I’ve tested boot in about 5 seconds. The install size ranged from 3.6 GB (Openbox) to 4.3 GB (KDE). Interestingly, LXQt with KWin had the same install size (more on this later) but booted much faster. LXQt, Openbox, and Englightenment used around 350 MB of RAM, followed by LXQt/KWin, and XFce around 550, and KDE was highest at 700 MB. I have an 8 GB Pi so this is not an issue but for Pi’s with lower RAM, this might be an issue.

Summary of Experiences

I’ll summarize my experiences of the different DEs I’ve tested here. Keep in mind that I spend approximately an hour in these DEs so I didn’t explore all of them extensively. That’s fine because my goal here is to quickly test the feel and snappiness of the DE.

KDE Plasma

  • Doesn’t seem to be that snappy
  • Apps seem to take some time to start
  • Even the menu takes some time to respond after hitting the meta key
  • Moving windows around isn’t smooth
  • Window animations take a long time

LXQt with Openbox

  • Very snappy
  • Boots pretty fast
  • Apps start almost immediately
  • Menu starts immediately after pressing the shortcut
  • Moving windows is smooth
  • Window animations are quick

Openbox

  • Super responsive
  • Excellently pre-configured with sensible keyboard shortcuts
  • Window animations instantaneous
  • Boots very fast
  • Apps start immediately
  • Moving windows is smooth
  • Prefer its default look and feel compared to the LXQt look

Englightenment

  • Boot is fast
  • Apps open fast
  • Not as snappy
  • Window animations slower compared to LXQt
  • Option for tiling/floating in the bar
  • Has lots of settings but in a central place, need to explore
  • Might be a good option for both the ARM and the normal editions

Xfce

  • Boot is slightly slower compared to LXQt
  • Apps startup is fast
  • Very snappy
  • Window animations are fast
  • Very good traditional desktop experience

LXQt/KWin

One of my main motivations exploring this combination was a discussion I had with @CubicleNate on Linux Saloon where Nate introduced me to LXQt/KWin. Here is his blog which is for openSUSE.

Here is the installation process for EndeavourOS:

Installation

First install LXQt normally. Then you have to install kwin and systemsettings

yay -S kwin systemsettings

This pulls in additional 62 packages with Download size 106 MB and Installed size 380 MB (some may think this is bloat).
Then, change session to kwin in the lxqt session manager and reboot. If you can login successfully to the LXQt/Desktop. you may remove openbox and obconf-qt.

yay -Rns openbox obconf-qt

Note that removing openbox and obconf-qt removes only 2 MB. Instead of removing, you may keep them around for alternate experience if you wish so.

Experience

  • Snappy
  • Boots fast
  • Apps almost start immediately
  • Windows animations are fast
  • Moving windows is smooth
  • Can use breeze/breeze-dark themes and looks much better than LXQt
  • Can add KDE effects and scripts

Here is how it looks out of the box.

You can configure it similarly to KDE to your heart’s extent. KDE was my favorite DE and most used DE on my x64 EndeavourOS install and I was initially disappointed that I didn’t have a good experience using it on the Pi. Instead, I found a wonderful replacement in the form of LXQt/KWin. :enos: :enos_flag:


  1. At Startup ↩︎

  2. For Fresh Install ↩︎ ↩︎

  3. Boot time from display manager to desktop loading (using journalctl to calculate) ↩︎

17 Likes

Excellent comparisons. I have both Openbox and LXQt with Openbox installed on separate partitions and prefer Openbox.

2 Likes

Yes, I prefer plain openbox to LXQt, because the :enos: version is very well configured with excellent keyboard shortcuts, launcher etc. But for me LXQt/Kwin is a very good experience because I’m used to KDE and have a familiar experience while still being fast

3 Likes

Window animations in Xfce? Have you already version 4.18 of Xfce? :thinking:

Not animations per but minimize, maximize, snap to borders, those kinds of things

aha :no_mouth:

things to speed up KDE Plasma on a RPi 4b.

In a terminal

$ balooctl suspend
$ balooctl disable
$ balooctl purge
$ balooctl status

In Settings go to “Workspace behavior” then “General Behavior” then set “Animation speed” to “Instant”

For absolute performance install on a USB SSD.

Pudge

5 Likes

KDE starts a lot of services/tasks as it loads. Try disabling or uninstalling them and see what happens.

From Archwiki:
Alternatively, for a more minimal Plasma installation, install the plasma-desktop package.

1 Like

I agree with you. I was talking about the out-of-the-box experience on the Pi. I will try a minimal plasma install and/or disable baloo like @Pudge suggested and see how it goes.

LXQt is my main desktop. The main issue I have found with running kwin over openbox is theming. With Openbox and metacity themes are plentiful and not to hard to create if you cant find one you like. With kwin its mostly KDE themes, there are not as many as openbox and creating aurorae themes is a lot harder than metacity.

3 Likes

When using this combo (LXQt + kwin), is it possible to use firefox w/o the titlebar and w/o removing the ability resize window edges, w/o having to hold down META key?
(this might sound confusing :sweat_smile:)

If I go into FF customize and remove titlebar, the kwin title remains. So, then I use the kwin menu to force remove it, but that comes at the cost of having to use the META + right-click combo to resize windows.

This isn’t a drawback per see, but it takes a little getting used to.

@JimB: I haven’t worked much with either LXQt or Openbox (though I have tried both briefly); I typically use just a simple window manager, such as IceWM when doing nothing more than Email/Webmail and very simple browsing. When I do use a desktop (on systems with enough resources to manage it) I use Xfce. It’s stable, works well, and has more than enough tools and facilities for my purposes.

Chances are that LXQt would also do the job for me, but I did read something recently that led for me to “pause”. There have been some who have claimed two things (which MAY be out of date now and no longer applicable): stability and lack of capabilities. Have you faced any difficulties or instabilities in the past 1/2 year to year or so? If not, I’m guessing that the majority of previously reported issues, particularly with regard to the stability of the window environment with the Qt replacement in the “LX” infrastructure have been improved and resolved.

Any comments on this? Thanks!

I think it is stable so far. Also there is a new LXQt version out, I don’t know if they reached the Arch main repos but I know they haven’t reached the ARM repos yet.

2 Likes

No I havent had any problems, other than the lxqt archiver, so I just use ark instead. The lxqt archiver is relatively new and in active development so its likely to get better. The LXQt desktop itself has had a lot of improvements over the last year and with each release its gotten better and better. One nice little touch was adding the intelligent autohide to the panel. Some desktops like Mate still dont have it. Another was an option in desktop settings to lock the desktop icons where you put them.
The main problem with it at present is that the desktop as installed is ugly as can be. Nice thing about that is theming is relatively easy when you use openbox. An example of what can be done is my current desktop, take a look.

1 Like

Thanks so much for this comparison. A couple of questions:

  1. When using Kwin was compositing enabled? My experience so far with plasma is that the experience is better when compositing is disabled. Have you noticed any sluggishness with it enabled? I also tried the Lxqt/kwin combo and felt it was also better with compositing disabled.

  2. Have you experienced erratic mouse behavior with the Linux-rpi 5-15-33 kernel. All three of my installs on Pi400 have this issue. For now I have rolled back to 5-15-30.

Thanks

Yes I have compositing enabled. The experience is very snappy with it.

I haven’t faced any erratic mouse behaviour, but I use a RPI-4b so it might be an issue pertaining to Pi-400. Also what mouse do you use?
I use a wireless mouse and adding

usbhid.mousepoll=6 

to the end of /boot/cmdline.txt helped with the issue.

I tried this and it for sure improved the performance but it is still not as snappy as LXQt

1 Like

I tried the minimal plasma-desktop install. It is better than full KDE but still not as snappy as LXQt/KWin

1 Like

Thats a great comparison! :rocket:

Imho KDE cannot be as snappy as other lightweight options if you don’t install it on SSD.

I use i3wm on my old 2013 entry level PC and even that is snappier than KDE on my mid range i5-10th gen laptop (HDD install). (indexing turned off, compositing off, barely any effects enabled). Thanks to caching or whatever, its becomes usable after some time. Which is ok for me since I’m not rebooting many times a day.

KDE on SSD is snappy, but on SSD, practically anything is butter.

1 Like

It ran well on my Old 2012 laptop with a failing HDD. It was very smooth.
Currently I use LXQt/KWin withcompositor, magic lamp, wobbly windows and is super snappy.

2 Likes