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.

Advertisements

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s