A Memory Comparison of Light Linux Desktops – Part 2

In my previous article I’ve tried to investigate the RAM memory requirements for running some of the most common light window managers and desktop environments available in the Linux world. Prompted by several readers, I’ve decided to include also the big, well-known memory hogs that grab most of the Linux market, i.e. KDE, Unity and Gnome.

I am using the same setup, based on virtenv. It includes its own xserver (Xephyr) and a virtualization container (LXC). The computer is an older 64-bit machine, running Ubuntu 12.04 with LXDE as desktop environment.

I use free command to measure the memory before and after the WM/DE is started. The command prints on the screen data made available by Linux kernel. The kernel knows at any moment how much memory is using and how many buffers it has available.

I measure the WM/DE as it comes out of the box, with all the features the authors intended as default. Arguably, this is not the best way to measure. All window managers are configurable, and users in general tend to personalize them. This adds more memory to whatever numbers I publish here.

Ratpoison

Lightning fast and stable, Ratpoison is a tiling window manager for the X Window System. The major design goal of the project is to let the user manage application windows without using a mouse, hence the name.

On Debian/Ubuntu install it as sudo apt-get install ratpoison, or yum install ratpoison on Fedora. Start it with ratpoison command. Be prepared to read the documentation. It runs in 1MB of RAM memory.

Ratpoison Window Manager

Ratpoison Window Manager

wm2

wm2 simply adds a frame to each window and attempts to look stylish. In the quest for being simple, fast, and small, wm2 does not support icons, menus, toolbars, panels and docking areas.

Install it as apt-get install wm2 on Debian/Ubuntu, and start it as wm2. It runs in 0.7MB, this is the smallest WM I’ve tried so far. wm2 is not supported on Fedora.

wm2 Window Manager

wm2 Window Manager

FVWM

FVWM (Feeble Virtual Window Manager) is one of the most ancient window managers still in use today. It is a powerful and highly configurable environment for Unix-like systems. Some very popular window managers and desktop environments, such as Afterstep, Xfce, are derived from FVWM.

FVWM Derivatives, (source Wikipedia)
(source Wikipedia)

On Debian/Ubuntu install it as apt-get install fvwm, or yum install fvwm on Fedora. Start it as fvwm. It runs in 13MB of memory.

FVWM Window Manager

FVWM Window Manager

Window Maker

Window Maker window manager provides the users with a consistent, clean, and elegant desktop based on NeXTStep interface, which eventually evolved into Mac OS X.

Window Maker is again under active development after seven years without an official release. It is not available in Ubuntu software repositories (as of 12.04), you can however install it from a PPA:

sudo add-apt-repository ppa:profzoom/wmaker
sudo apt-get update
sudo apt-get install wmaker

On Debian install it as apt-get install wmaker, and as yum install windowmaker on Fedora. Start it as wmaker. It runs in 7MB of memory.

Window Maker Window Manager

Window Maker Window Manager

Razor-qt

Razor-qt is an advanced, easy-to-use, and fast desktop environment based on Qt technologies. It is a desktop for people who think KDE is bloated and suffers from over-engineering.

Razor-qt is a new open-source project, and it is not officially supported by most Linux distributions. For Ubuntu users, the development team keeps a PPA up-to-date. The software works on any Ubuntu from version 9.10 onwards. Installation is as follows:

sudo add-apt-repository ppa:razor-qt
sudo apt-get update
sudo apt-get install razorqt

The default install from PPA runs on top of KWin in 139MB of memory. It can be switched to OpenBox, drastically reducing the memory size.

On Debian “jessie” install it as apt-get install razorqt, and in Fedora 19 and up as yum install razorqt. Start it as razor-session.

Razor-qt Desktop Environment

Razor-qt Desktop Environment

KDE

I’ve always liked KDE. Elegant and reasonably fast, it is an excellent desktop choice for people developing GUI software. In particular I like Kate text editor and KDiff3. Qt development tools are also well supported, but that was to be expected from a desktop based on Qt library.

I installed kde-plasma-desktop packet from Ubuntu 12.04. The packet is described here as “the bare-minimum required”. I started it in console as openbox-kde-session. It runs in 201MB. On a real KDE desktop such as Kubuntu it will be much more.

Note: the 201MB measurement was done on top of Openbox window manager. Usually, distros will pair KDE with KWin window manager. This will add 100MB.

A full installation on Debian/Ubuntu is done as apt-get install kde, and on Fedora as yum install @kde-desktop.

KDE Desktop Environment

KDE Desktop Environment

Unity

Unity is the default desktop in Ubuntu. Ubuntu is what they recommend you to try when you move to Linux. It is friendly, functional, and geared towards “human beings”. Too bad it runs in 192MB of memory! It would be a good idea to trim it down, let’s say by 50%. As a note, DOS conquered the world by running in 64KB of memory.

Unity is installed as sudo apt-get install ubuntu-desktop. You can start it with unity command.

Unity Desktop Environment

Unity Desktop Environment

Gnome 3

Gnome 3 is an experimental desktop developed mostly by RedHat. Not all the functionality is ready (for example the taskbar and the menus are missing), and there are problems in the listening-to-your-users department. If you are looking for Gnome 2 functionality or something similar, check out Linux Mint website.

I installed Gnome 3 as sudo apt-get install gnome-shell (Debian/Ubuntu) and started it as gnome-session. It went through 155MB of memory before painting anything on the screen. On Fedora Gnome 3 is installed as yum install @gnome-desktop.

Gnome 3 Desktop  Environment

Gnome 3 Desktop Environment

Trinity, Mate, Cinnamon

In a normal world, where development teams listen to users, this should never have happened. Not only these environments are smaller and faster, they actually do what desktop environments are supposed to do.

To install Trinity, follow the instructions from here. Start it as /opt/trinity/bin/startkde. It runs in 55MB of memory.

To install MATE, follow the instruction from here. Start it as mate-session. It runs in 42MB of memory. Mate was included in Fedora 19, where is installed as yum groupinstall “MATE Desktop”.

I installed Cinnamon as follows:

sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable
sudo apt-get update
sudo apt-get install cinnamon

I’ve started it as cinnamon. It runs in 79MB. The package was included in Debian “sid” and it is installed as apt-get install cinnamon. Cinnamon was also included in Fedora 19, where it is installed as yum groupinstall “Cinnamon Desktop”.

Trinity Desktop Environment

Trinity Desktop Environment

Conclusion

If you have some ancient hardware that you need to breathe new life into, or if you need to fit a distro on a modestly sized memory stick, the first thing you should look at is the window manager/desktop environment. Whatever your needs, Linux is much more than Gnome and KDE.

WM/DE Memory (MB)

WM/DE Memory (MB)

Links:

TinyWM, 9wm, miwm, wm2, dwm, Ratpoison, TWM, xmonad, JWM, i3, Blackbox, Sawfish, IceWM, PekWM, Openbox, Window Maker, awesome, FVWM, Fluxbox, Mutter, E17, LXDE, KWin, MATE, Trinity, XFCE, Cinnamon, Razor-qt, Gnome 3, Unity, KDE

Related Posts

63 thoughts on “A Memory Comparison of Light Linux Desktops – Part 2

  1. Bob Robertson

    Since you’re including KDE and GNOME for comparison, I wonder if you would include also the Trinity-DE, which is the currently maintained version of KDE3.5

    Reply
    1. netblue30 Post author

      I’ll be glad to do it. The command to install it on Ubuntu (from trinitydesktop.org) is:

      sudo apt-get install kubuntu-default-settings-trinity kubuntu-desktop-trinity

      It is a 280 MB download. I am looking for an equivalent to kde-plasma-desktop package (74MB download) from regular KDE.

      Reply
      1. SlavekB

        For a minimal installation you can use:
        aptitude install xserver-xorg kdm-trinity ksmserver-trinity

      2. netblue30 Post author

        Thanks! I’ve installed it as:

        sudo apt-get install kdm-trinity ksmserver-trinity

        Logout and login again, kde session started fine in a little less than 60MB. There are some problems however with one library on Ubuntu 12.04:

        konsole: symbol lookup error: /opt/trinity/lib/libkdeui.so.4: undefined symbol: _ZN7QObject18childrenListObjectEv

      3. SlavekB

        It is possible that in some packages missing run ldconfig after installation. Please try to just run ldconfig to update the cache.

      4. SlavekB

        I see it – the problem is not the lack of run ldconfig. The problem is that you have installed libqt3-mt from distribution, instead of the updated version from the Trinity sources.

      5. netblue30 Post author

        That would explain it. Anyway, the session is 55MB, and looks better than plasma. Congratulations to all the people involved in the project!

  2. Jeff Hoogland

    Do you have a source on Enlightenment being derived from something else? I’m fairly certain that the latest release from the E team is 100% their code not based on anything else.

    Reply
    1. netblue30 Post author

      I’ve tried it, it wouldn’t run. It could be a problem with the package distributed by Ubuntu 12.04, it was complaining about some executable missing. I’ll try again.

      Reply
    2. vcunat

      +1. In fact it’s only an extensive library of things you might want from a WM, and you just compose your own (or you replace any parts by your code).

      Reply
      1. Don Stewart

        xmobar is quite heavy, and is only one of many trayer/bar solutions for xmonad. True measurements of the default experience would not include 3rd party add-ons like xmobar.

  3. Pingback: Links 15/4/2013: Underwater Linux, More Android Phones | Techrights

    1. netblue30 Post author

      Sure, I’ll give it a try!

      Later: Sorry, couldn’t do it. Ion doesn’t seem to be in Ubuntu repositories, at least not for 12.04.

      Reply
  4. pho

    You are comparing window managers to full desktop environments, it’s like apples to oranges

    Also, between window managers, features differ so much this kind of comparison is kind of useless

    Reply
    1. netblue30 Post author

      > You are comparing window managers to full desktop environments, it’s like apples to oranges

      Don’t assume everybody uses a desktop manager. Many people just install a window manager and are happy with it. Fluxbox is a very popular one, there are distros out there running Fluxbox by default. Also, tiling window manager are very popular. It is more like comparing people who like apples with people who like oranges.

      > Also, between window managers, features differ

      Yes, features do differ, this doesn’t mean we cannot compare the resulting desktop.

      Reply
  5. Emanuele Aina

    Nice article, even if I quite disagree with the conclusions! :)

    Just some points, mostly about GNOME 3:
    • GNOME 3 is definitely not experimental, having hit the 3.8 release I’d say it’s quite mature, even if it is still evolving rapidly;
    • GNOME Shell does not have a proper taskbar but shows all the open windows in its overview mode and the same overview mode is used to start applications, so there’s no conventional menu, even tough there are extensions to add those features (I’m not sure to which taskbar and menus you were referring to);
    • In my experience GNOME 3 developers usually listen to their users as much as developers from every other OSS project out there: it usually works but there’s always a few cases where things go bad;
    • Usually behind those complains there’s no active push back from the developers, it is just that the available manpower is limited and the developers priorities may not match the ones from the complaining user;
    • Even if the GNOME 3 developers strive to offer the most comfortable user experience out-of-the-box (and luckily my usage match almost perfectly what they provide :D ), it is clear that many users have different ideas about how a desktop should behave and it often impossible to cater for all of them: instead of providing a multitude of stand-alone switches in the UI they have chosen to provide an extension system where the user can install packages that can heavily influence the system behaviour, tweaking the underlying knobs in a much more coherent manner;
    • Note that `free` is often misleading, as the real working set may be quite a bit smaller than what it returns (think about plugin libraries loaded but not actively used), and if you load a Qt application under KDE the additional memory needed will be smaller than the one needed under FVWM or GNOME due to the sharing of the code pages between processes (same for GTK+/Clutter under GNOME).

    Anyway, interesting post!

    Reply
    1. netblue30 Post author

      Thanks for your comment. I wrote this article 3 months ago with whatever version was and still is distributed by Ubuntu 12.04 – definitely an experimental Gnome 3. Probably things have evolved and 3.8 looks and moves better.

      Reply
      1. Emanuele Aina

        Since Ubuntu switched to Unity, GNOME 3 packaging has been neglected quite a bit, so it is possible that your bad experience with it is more due to broken packaging than the real status of the software. I don’t know how things currently stand in the Ubuntu camp, maybe there is a PPA out there with up-to-date GNOME packages. Fedora 19 should have the latest and greatest GNOME 3 packages which may be interesting to try, even if it is not going to be super-useful for the comparison since it is a completely different distro…

      2. netblue30 Post author

        Thanks, but Gnome3 just doesn’t work for me. I cannot use a desktop without a taskbar and without a menu button. I am happy with LXDE, it has everything I need out of the box.

        I think Ubuntu 12.04 installs today Gnome 3.4, and so does Debian 7. There is no package broken, this guys know how to package software. Everything works as it was intended by the Gnome development team. The bugs get fixed in later Gnome versions, your regular Ubuntu/Debian long time support user doesn’t have access to them.

    2. Nicolae Crefelean

      “In my experience GNOME 3 developers usually listen to their users as much as developers from every other OSS project out there”

      Trust me, I really wish you were right. The same way I felt “betrayed” by the KDE developers back when they abandoned v3 and only offered updates for v4, I felt bad yet again about the Gnome developers abandoning v2 and only supporting v3. It’s about stopping the maintenance and bug-fixing of really good DEs in favor of severely crippled versions of them. It doesn’t matter what Gnome 3 is today and what it can be one year from now. It matters more that for 2 years we had to look for something we can actually work with, and that by stepping out of our comfort/productivity zone.

      If you’re interested in seeing great developer-user communication, you should experience with the way the Cinnamon developers listen to their users and you will probably feel amazed. I won’t say it’s all great, but actually getting your hands “dirty” and build a new DE for the users who wanted a mix of classic-style DE and a modern DE, that’s not something we see every day. Cinnamon is the result of tons of user feedback, and that’s what makes it special.

      What you said about Gnome 3 can be 100% true for your case, in which case I wonder if you’re aware of the massive Gnome 3 user feedback: http://www.phoronix.com/scan.php?page=news_item&px=MTAwMjY <- and this is not the only place where people complained. We don't have to ask ourselves why the developers started Gnome 3 but rather why they stopped maintaining Gnome 2 while version 3 was so crude and lacked so many features. It genuinely looks they didn't care enough for their users.

      If Gnome 2 didn't have bugs waiting to be fixed, then many users wouldn't have bothered to comment. But it wasn't the case. And this happened back when Unity was also in its early days, when KDE was still struggling to come out more polished and to some extent it was quite polished but still heavy on the resources and begging for more optimizations. It's not easy to forget such things when you simply have to do your day by day stuff and you have to keep your old software just because the newer one will set you back. Now if you were just trying to sugar-coat those days, there's no need for comments. I just wish the developers would listen more of what the users say. Not to blindly do what the users ask, but just show more respect to their user base – their supporters.

      Reply
      1. Emanuele Aina

        “Cinnamon is the result of tons of user feedback, and that’s what makes it special.”

        Oh, and I feel that the same is true for GNOME too, it’s probably just a different set of users. :)

        Also don’t forget that most of the libraries used by Cinnamon are the ones developed by the GNOME 3 team, so some indirect credit should go to them too. :D

      2. netblue30 Post author

        “Also don’t forget that most of the libraries used by Cinnamon are the ones developed by the GNOME 3 team, so some indirect credit should go to them too.”

        I am sure Cinnamon project already gives Gnome team all the credit required by GPL license, and if Cinnamon becomes a very successful project, Gnome team will receive even more credit. I think the discussion is about listening to your users, and it has nothing to do with giving credit to other projects.

        Sorry Emanuele, I’ll have to close the Gnome discussion here, it is definitely off topic, and there are already so many places on the net dissecting this issue.

  6. Sudhir Khanger

    Thanks great article. I have some questions.

    1. Command free gives you absolute value of memory consumption. Don’t you think different systems in different state would result in different RAM consumption? Wouldn’t it be better to run a window manager or desktop environment for some time in order to measure and average real memory consumption?
    2. Most systems now a days come with ample amount of RAM. My current system comes with 8GB of RAM. Does higher RAM consumption corresponds to greater power consumption and shorter battery life?
    3. Lastly, if several desktop environments and window managers are installed on a system, are they going to interfere with each other?

    Reply
    1. netblue30 Post author

      Thank you for your comments.

      1. I measure memory for a WM or DE with the default configuration as it comes from the package manager. I do the measurement as I start the WM/DE. What happens after one hour I don’t really know, I guess it all depends how you use it.

      2. It is very difficult today to persuade anybody to install Linux on a new computer. Most of the time I see Linux going on old Windows 7 and very old WindowXP computers. What computers they sell in the store today is irrelevant, Linux has no chance to run on them.

      3. You can run only one of them at a time.

      Reply
  7. Leszek

    What would be interesting is how those desktop environment behave in memory usage if you open up the usual applications (the default ones coming with the desktop for example).
    So opening up a file-manager, browser and music player and see how the memory consumption changes.

    Reply
  8. Pingback: Anonymous

  9. Pingback: Links 12/7/2013: Seth Vidal (Yum Entrepreneur) Killed, Snowden Accepts Asylum | Techrights

  10. Carsten Haitzler

    ummm fyi – enlightenment doesn’t descend from fvwm. it just sohappens i hacked ON fvm (made fvwm-xpm) before i made enlightenment. enlightenment 0.1 and on is and was always totally original code (rewritten for 0.14, and again for 0.17). :)

    Reply
    1. SunnyDrake

      nice.. i had unchecked feeling of oneshot tight code programming base setuping e17 for my tablet. still despite profiles E17 still somewhat pack of utilites with no mainstream target optimized ui. i hope devs will add profile based needed options as priority development tasks and add features in all components. based on my exp with tablet profile it still needs a lot of external tools to be task-ready deployment solution(despite some options avaiable in separate E17 components(like touch scrolling) but it limits other options and half-avaiable or no-avaiable to other E17/noE17 systems).

      Reply
  11. AC

    Wow, E17 uses surprising less memory. If E17 uses less memory than LXDE, what’s the point of using LXDE? I always thought that Enlightment was bloated because of its fancy graphics.

    And for XFCE, it seems this DE saves nothing at all.

    Reply
  12. good info

    Thanks for taking the time to do a review of all these different desktop environments based on memory usage. I found it really useful and have referred back to the chart several times now before I do a new install. And you supplying the install command line saved me a bunch of time from having to go find the command line myself. This info is vital especially for those who are on VPS hosting.

    Keep up the good work

    Thanks again!

    Reply
  13. Pingback: Xubuntu 13.10 – Ugly But Honest | Trotch

  14. Nicolae Crefelean

    Thanks for taking time to test so many WMs and DEs. It felt a bit weird to see others arguing about the testing methods considering you can’t possibly replicate everyone’s setup or work habits.

    For me, this is definitely a place to come back to look at the figures when trying to install minimalistic GUI Linux machinse. :) I just wish it had more screenshots, possibly for each WM/DE.

    Great read! :)

    Reply

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