Measuring resources usage reliably is a bit hard, but it seems that KSysGuard provides detailed results and keep shared libraries into account.
While I'm here I will compare Hawaii with XFCE, although there's no much value in it due to the difference between the two stacks except for being aware of what another low footprint desktop is doing in its current form.
So, let's see how much memory does it take Hawaii, measuring a session with some applications open (System Preferences, Terminal, Eyesight, Swordfish and QupZilla and Communi) after using it for a while.
Currently Hawaii is using Weston although in the future it will use Green Island, a QtQuick compositor using the QtCompositor API.
As you can see from the screenshot below, there are two Weston processes running.
Weston processes |
weston process memory usage |
weston-keyboard process memory usage |
Now let's see the desktop environment...
Hawaii Shell memory usage |
dconf-service memory usage |
dconf-service is included to match XFCE which has xfconfd.
Total memory usage: 64.47 MB
Compare now with a low footprint X11 desktop environment: XFCE.
In the X11 world we need two programs to cover the Weston features: the Xorg server and a window manager/compositor, XFCE uses xfwm4.
Total memory usage: 122.9 MB
From the features point of view we should compare Xorg + xfwm4 with weston (122.9 MB vs 9 MB) but I think this is due to the different architecture.
The panel-6-systray process is not included either, if it does what the name suggests then Hawaii can't match it because it doesn't support the System Tray Protocol.
xfsettingsd might be left out (although I'm not sure) because Hawaii doesn't have a daemon to propagate settings. However Hawaii doesn't need it for settings such as icon theme, widgets style, fonts etc... they are managed by a platform theme plugin but other settings such as mouse cursor theme and size would need something to propagate those settings to Qt applications as well as non-Qt applications.
XFCE doesn't have a PolicyKit agent like Hawaii, or at least I couldn't find any.
xfce4-panel memory usage |
xfdesktop memory usage |
xfce4-session |
panel-2-actions memory usage |
xfconfd memory usage |
xfsettingsd |
xfce4-notifyd memory usage |
Desktop | Usage |
---|---|
Weston | 9 MB |
Hawaii (weston-keyboard + hawaii-desktop-shell + dconf) | 14.4 + 63.7 + 0.773 = 78.83 MB |
Total: 9 + 78.83 = 87.87 MB | |
Xorg and xfwm4 | 115.7 + 7.2 = 122.9 MB |
XFCE (xfce4-panel + xfdesktop + xfce4-session + panel-2-actions + xfconfd + xfsettings + xfce4-notifyd) | 9.8 + 6.5 + 4.2 + 2.8 + 0.721 + 2.9 + 4.3 = 31.22 MB |
Total: 122.9 + 31.22 = 154.12 MB |
EDIT: As requested in the comments I capture the output of free and memuse on my Archlinux system before running Hawaii from KMS (fullscreen 2560x1440) and from the Hawaii session.
Output of free after the system is started: https://gist.github.com/plfiorini/6326618
Output of memuse after the system is started: https://gist.github.com/plfiorini/6326621
Output of free running from Hawaii on KMS: https://gist.github.com/plfiorini/6326633
Output of memuse running from Hawaii on KMS: https://gist.github.com/plfiorini/6326628