Background
The goal of this post is to compare several lightweight display managers (DM) primarily on memory usage.
- Each DM was installed and tested on the same hardware.
- All relevant variances for each comparison are listed under the ‘Setup’ section for each DM.
The below statistics come from top. VIRT, RES, and SHR are standard top metrics, defined as follows (from http://linux.die.net):
- VIRT - Virtual Image (kb) : the total amount of virtual memory used by the task. It includes all code, data and shared libraries plus pages that have been swapped out.
- RES - Resident size (kb): the non-swapped physical memory a task has used.
- SHR - Shared Mem size (kb): the amount of shared memory used by a task. It simply reflects memory that could be potentially shared with other processes.
Details
I came into this review knowing little of SLiM or LightDM. I begrudgingly used GDM (and KDM) and grew to dislike their overhead more with each new release. SLiM is a good basic, quick DM with all the needed features and little more. If you have other lightweight DMs you’d like to see in the comparison or have feedback/input please contact us.
SLiM
SLiM is a Desktop-independent graphical login manager for X11, derived from Login.app. It aims to be light and simple, although completely configurable through themes and an option file; is suitable for machines on which remote login functionalities are not needed. Features included:
- PNG and XFT support for alpha transparency and antialiased fonts
- External themes support
- Configurable runtime options: X server, login / shutdown / reboot commands
- Single (GDM-like) or double (XDM-like) input control
- Can load predefined user at startup
- Configurable welcome / shutdown messages
- Random theme selection
SLiM provides the necessary ‘look’ components and feels very light and quick. I like how easy it is to customize and create your own ‘theme’.
Setup
Component | Item |
---|---|
OS | Crunchbang (statler) |
Desktop Environment | XFCE 4.6.2 |
Kernel | 3.2.0-0.bpo.2-amd64 |
Results
Component | VIRT | RES | SHR |
---|---|---|---|
/usr/bin/slim -d | 128M | 16008 | 3280 |
/usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch | 207M | 83860 | 9869 |
LightDM
LightDM is a cross-desktop display manager that aims is to be the standard display manager for the X.org X server. The motivation for this project is there have been many new display managers written since XDM (often based on the XDM source). The main difference between these projects is in the GUIs (e.g. different toolkits) and performance - this could be better accomplished with a common display manager that allows these differences. Key features are:
- A well-defined greeter API allowing multiple GUIs
- Support for all display manager use cases, with plugins where appropriate
- Low code complexity
- Fast performance
LightDM fits the part for looks and feels light and quick but not as quick as SLiM. LightDM uses more memory in general and significantly more RES and SHR memory.
Setup
Component | Item |
---|---|
OS | LMDE |
Desktop Environment | XFCE 4.8 |
Kernel | 3.2.0-2-amd64 |
Results
Component | VIRT | RES | SHR |
---|---|---|---|
/usr/sbin/lightdm | 182M | 47182 | 9900 |
/usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch | 200M | 4684 | 3604 |