Linux desktop comparison summary – 20 solutions for your desktop!

Our first Linux desktop comparison is over. I took a look at quite some projects during the last weeks. 20 of those (including modes that are behaving differently) proved to be full DEs which should be covered by a broadscale test.

Some others, like UDE for example, had to be skipped. While it does have a very interesting concept, it’s not currently a DE but only offers a window manager (despite the name “Unix Desktop Environment”). In the end 18 DEs were actually tested (I failed to get the other two to run on Arch).

Problems

Comparing DEs over the time of several weeks on a rolling release system might not really wield the best results. I also wanted to add something new to this post so that it’s not just a boring summary for those who have read the past entries. Therefore I decided to add the size of the packages that are downloaded to install the DE, too. After all network traffic can still be an issue for some people. Well, and for some DEs new versions have been released in the meantime and I’d feel stupid to write a new entry by just warming up old stuff.

For these reasons I repeated most of the tests last Monday and Tuesday and use the new values here (which sometimes make a huge difference!). Only CDE uses the old package; I was able to build a current package but did not succeed in making the DE start. Unity2d is now obsolete just like the old GNOME 2 (which I essentially added so that MATE can be compared to it, anyway).

Overall Ranking

I’ll begin with the overall rating here since that’s the most important thing. I’ve compared all DEs in terms of 1. memory consumption (most important for me and thus weighted *3), 2. disk space used (weighted *2) and 3. size of packages to download. So, here’s the result:

Rank DE Version
01 OpenCDE 620
02 Equinox DE 2 2.0
03 CDE 2.2.0a/b
04 LXDE 0.5.x
05 ROX DE 0.41.0
06 Enlightenment 17 svn-75246
07 Razor-Qt 0.4.1
08 Xfce 4.10.0
09 Sugar 0.94.1
10 MATE DE 1.4
11 Cinnamon UI 1.5.7
12 GNOME 3 Classic 3.4.2
13 GNOME 3 Shell 3.4.2
14 Trinity DE 3.5.13
15 Unity 3D 6.4.0
16 KDE Plasma 4.9.0

RAM usage

Here’s the table that compares memory usage of the tested DEs:

<101 MB 101 – 200 MB 201 – 300 MB >300 MB
obsolete not working
Rank DE Version Memory usage
00 Arch Linux 08/2012 37 MB
00 X11, VBoxadds, xterm 08/2012 54 MB
01 OpenCDE 620 57 MB
02 Equinox DE 2 2.0 71 MB
03 CDE 2.2.0a 72 MB
04 ROX DE 0.41.0 72 MB
05 LXDE 0.5.x 83 MB
06 Enlightenment 17 svn-75246 97 MB
07 Xfce 4.10.0 104 MB
08 Razor-Qt 0.4.1 117 MB
09 Sugar 0.94.1 122 MB
10 GNOME 2 2.32 137 MB
11 MATE DE 1.4 139 MB
12 Trinity DE 3.5.13 202 MB
13 GNOME 3 Classic 3.4.2 211 MB
14 Cinnamon UI 1.5.7 224 MB
15 GNOME Shell 3.4.2 253 MB
16 Unity 3D 6.4.0 312 MB
17 KDE Plasma 4.9.0 354 MB
18 Unity 2D 6.0.0 404 MB
xx Ètoilè 0.4.2 ??
xx Mezzo ?? ??

Drive space needed

Here’s the next table:

<301 MB 301 – 600 MB 601 – 1.2 GB >1.2 GB
obsolete not working
Rank DE Version Disk space used
00 Arch Linux 08/2012 561 MB
00 X11, VBoxadds, xterm 08/2012 +68 MB
01 OpenCDE 620 +83 MB
02 Equinox DE 2 2.0 +174 MB
03 CDE 2.2.0b +192 MB
04 Razor-Qt 0.4.1 +226 MB
05 LXDE 0.5.x +325 MB
06 Enlightenment 17 svn-75246 +340 MB
07 ROX DE 0.41.0 +497 MB
08 Xfce 4.10.0 +559 MB
09 Sugar 0.94.1 +604 MB
10 GNOME 2 2.32 +630 MB
11 MATE DE 1.4 +675 MB
12 Cinnamon UI 1.5.7 +947 MB
13 GNOME Shell 3.4.2 +1023 MB
14 GNOME 3 Classic 3.4.2 +1023 MB
15 Unity 3D 6.4.0 +1121 MB
16 KDE Plasma 4.9.0 +1232 MB
17 Trinity DE 3.5.13 +2098 MB
18 Unity 2D 6.0.0 ??
xx Ètoilè 0.4.2 ??
xx Mezzo ?? ??

Download size

And here’s the last one:

<51 MB 51 – 100 MB 101 – 200 MB >200 MB
Rank DE Version size default / max
00 Arch Linux 08/2012 123 MB
00 X11, VBoxadds, xterm 08/2012 +15 MB
01 OpenCDE 620 +19 MB
02 Equinox DE 2 2.0 +38 MB
03 CDE 2.2.0b +49 MB
04 Razor-Qt 0.4.1 +53 MB
04 LXDE 0.5.x +53 MB
05 ROX DE 0.41.0 +75 MB
05 Enlightenment 17 svn-75246 +75 MB
06 Xfce 4.10.0 +82 / 99 MB
07 Sugar 0.94.1 +89 MB
08 MATE DE 1.4 +119 /169 MB
09 Cinnamon UI 1.5.7 +147 / 347 MB
10 Unity 3D 6.4.0 +163 /302 MB
11 GNOME 3 Shell 3.4.2 +167 / 366 MB
11 GNOME 3 Classic 3.4.2 +167 / 366 MB
12 KDE Plasma 4.9.0 +306 / 774 MB
13 Trinity DE 3.5.13 +485 MB

Conclusion

The most light-weight DE tested is OpenCDE, based upon Motif. The second best is Equinox DE using FLTK as its toolkit. The lightest GTK+-based DE is LXDE, ranked No. 5 and the lightest Qt one Razor-Qt which scored rank 7. So these will be the candidates to examine closer in a future testing series.

What’s next?

The next entry will deal with what Eerie’s last two letters stand for.

Advertisements

Linux desktop comparison (pt. 1): Modern GTK+ DEs

This is part 1 of our desktop testing series. We’ll deal with the 3 modern gtk+-based desktop environments in this entry.

These are:

Test criteria

I’m just going to fire up the desktop to see how many RAM is used at that time. No windows opened, no menu clicked. That means the value is the amount of RAM that the system has allocated on a 1 GB RAM virtual machine. When actually using the desktop, the needed amount of RAM will of course increase, often multiply.

I’ll also tell you the amount of space the DE takes up on the hard disk and, just for fun, test what the minimal amount of RAM is that the DE really needs just to start up. This value is not of much use actually, since the system will relay heavily on swapping then and even just starting the DE may literally take several minutes. Of course productive working is absolutely impossible under these circumstances.

Basic Arch system

I’m using a virtualbox VM that I’m cloning for each of the desktop tests so every one has the same base on which to build up.

Installation

Our basic test system is a clean Arch installation with only “basic” pacstrapped onto the new partition. No development tools are needed since I build a binary package for everything that is not on the repos on another virtual machine.

Memory usage right after booting up (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux 08/11 2012
MemTotal: 1030652 kb
MemFree: 992524 kb
Buffers: 5500 kb
Cached: 14988 kb
Rootfs: 654288 / 639M
RAM used at startup: 38128 / ~37 MB
Absolute RAM minimum to still boot: 27 MB

GNOME 3 Shell

The GNOME 3 Shell is the default interface of GNOME 3. It works entirely different from the old GNOME 2, bringing in “a new desktop metaphor”. The old panel is gone and instead GNOME 3 offers “activities”. While some people like the approach, there are a many former GNOME 2 users who state that they can’t work with a desktop like this. 3D graphics are obligatory for the Shell; on systems without it, a fallback mode is provided.

The GNOME 3 Shell desktop

Installation

pacman -S xorg-server xorg-xinit dbus virtualbox-archlinux-additions gnome

Statistics

Memory usage right after starting up GNOME 3 Shell (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux + GNOME 3 (3.4.2)
MemTotal: 1030652 kb
MemFree: 773200 kb
Buffers: 14888 kb
Cached: 114584 kb
Rootfs: 1732056 / 1.7G
RAM used at startup: 257452 / ~251 MB
Disk space (less basic system): 1077768 / 1.1 GB
Absolute RAM minimum to still start up: 81 MB

GNOME 3 Cinnamon UI

Cinnamon is an alternative shell for GNOME 3. It was born when the developers of Linux MINT realized that GNOME was not going into the direction that they had in mind for their distribution. They started a project called “Mint Gnome Shell Extension” but soon realized that this did not give them enough control of how things developed. Then they decided to fork the GNOME Shell and this was the beginning of Cinnamon. It aims towards a more classical desktop metaphor.

The Cinnamon desktop

Installation

pacman -S xorg-server xorg-xinit dbus virtualbox-archlinux-additions
pacman -U gnome-menus2-3.0.1-1-i686.pkg.tar.xz
pacman -U muffin-wm-1.0.6-1-i686.pkg.tar.xz
pacman -U cinnamon-1.5.2-2-i686.pkg.tar.xz

Statistics

Memory usage right after starting up GNOME 3 Cinnamon UI (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux + Cinnamon (1.5.2)
MemTotal: 1030652 kb
MemFree: 781996 kb
Buffers: 14936 kb
Cached: 107280 kb
Rootfs: 1620556 / 1.6G
RAM used at startup: 248656 / ~243 MB
Disk space (less basic system): 966268 / 1 GB
Absolute RAM minimum to still start up: 72 MB

GNOME 3 Unity UI

Unity is another alternative Shell for GNOME 3. It’s developed by Cannonical, the company that is famous (or infamous, depending on whom you ask) for Ubuntu Linux. It’s “going new ways” – and that shows. For fans of the classical desktop this one is a total mess whereas other people prefer to call it inovative. Anyways it’s the default desktop of Ubuntu since that is without any doubt a big distribution, it has a solid user base despite all objections towards it. It uses the rather uncommon nux toolkit. Unity is basically a Compiz-plugin and thus needs 3D graphics. A Unity-2D variant, build upon Qt also exists.

The Unity desktop

Installation

Unity is currently incompatible with glew1.8. Also I had to install the whole unity repo because just installing the basic unity package and its dependencies does not give me the full system (e.g. no menu to shut down in the upper right corner etc.).

Forbid updating of glew1.7
pacman -U freetype2-ubuntu-2.4.10-1-i686.pkg.tar.xz
pacman -U fontconfig-ubuntu-2.8.0-10-i686.pkg.tar.xz
pacman -U libxft-ubuntu-2.3.1-1-i686.pkg.tar.xz
pacman -U glew1.7-1.7.0-1-i686.pkg.tar.xz
pacman -S xorg-server xorg-xinit dbus virtualbox-archlinux-additions
Add additional repository “unity”: http://unity.xe-xe.org/$arch
Accept to uninstall and replace several conflicting packages in next step
pacman -S $(pacman -Slq unity)

Statistics

Memory usage right after starting up GNOME 3 Unity UI (with a second login on tty2) and used disk space after removing pacman cache. Here are the values I got with cat /proc/meminfo and df respectively df -h:

Arch Linux + Unity (6.0.0)
MemTotal: 1030652 kb
MemFree: 637268 kb
Buffers: 26052 kb
Cached: 148020 kb
Rootfs: 2862336 / 2.8G
RAM used at startup: 393384 / ~384 MB
Disk space (less basic system): 2208048 / 2,15 GB
Absolute RAM minimum to still start up: <64? MB

Conclusion

Like one would expect, the 3D desktops are quite a bit on the heavy side when it comes to their resource needs. It’s no surprise that the more traditional Cinnamon needs a little less RAM compared to the GNOME 3 Shell and that Unity needs by far the most. The needed disk space loses a little comparative value since with Unity I had to install the whole repo while for both Gnome 3 Shell and Cinnamon I just installed the full basic package.

In terms of absolute minimal RAM needed to launch I was quite surprised to find GNOME 3 Shell and Cinnamon as low as 81 and 72 MB! While they are far from usable with that little RAM, it was an interesting find (at least for me). While these two seem to check for a minimum of available RAM, Unity doesn’t seem to do such a thing and tries to start with however little RAM the system has, even though it takes minutes to load with 64 MB of RAM! I didn’t have the patience to try even lower values.

What’s next?

The next entry will cover the traditional GTK+ desktop environments.