Linux desktop memory (GPU) consumption
System memory vs. GPU memory
I read more than one time about memory consumption of the different Linux desktop environments. I used to use XFCE4 (not installed anymore) but switched to a more advanced desktop and tried more than one of them. While system memory is not a problem, the graphics card memory may be a bottleneck. This is more important when using tools like darktable that uses the gpu to render images instead of the main CPU.
It is clear, that these numbers may differ from system to system. There are many factors influencing the amount of memory used by the desktop environments. But it gives you a little hint, how it looks like today with the most of the setting set to their default value.
Here are some linex from inxi -F
of my system. What you do not see here is that my GTX 960 has only 2GB of memory. What is enough for my older games may not be sufficient when it comes to render my 30 megapixel RAW file with many darktable modules. Now having such applications let me think about the desktop and how much gpu memory it uses. The following parts will give you some impressions.
System: Host: risa Kernel: 4.15.14-1-ARCH x86_64 bits: 64 Desktop: Cinnamon 3.6.7
Distro: Arch Linux
Machine: Type: Desktop Mobo: ASUSTeK model: P8Z68-V LE v: Rev X.0x serial: N/A
BIOS: American Megatrends v: 4102 date: 09/09/2013
CPU: Topology: Quad Core model: Intel Core i7-2600K type: MT MCP L2 cache: 8192 KB
Speed: 3612 MHz min/max: 1600/3800 MHz Core speeds (MHz): 1: 3628 2: 3662 3: 3649 4: 3674
5: 3628 6: 3677 7: 3595 8: 3647
Graphics: Card-1: NVIDIA GM206 [GeForce GTX 960] driver: nvidia v: 390.48
Display Server: x11 (X.Org 1.19.6) driver: nvidia
resolution: 1920x1080~60Hz, 2560x1440~60Hz
OpenGL: renderer: GeForce GTX 960/PCIe/SSE2 v: 4.6.0 NVIDIA 390.48
The desktops
KDE Plasma
This is the most feature rich desktop I know and has also a big footprint within the graphics card’s memory. It uses 500+ MB of this memory that sums up to nearly 1GB with X11 and kwin process. I did not expierience any flaws or issues beside the high memory usage that forces darktable to work on the CPU instead of the GPU.
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48 Driver Version: 390.48 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 960 On | 00000000:01:00.0 On | N/A |
| 0% 60C P2 31W / 130W | 1059MiB / 2001MiB | 6% Default |
+-------------------------------+----------------------+----------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 768 G /usr/lib/xorg-server/Xorg 324MiB |
| 0 1066 G /usr/bin/kwin_x11 102MiB |
| 0 1074 G /usr/bin/krunner 9MiB |
| 0 1076 G /usr/bin/plasmashell 511MiB |
| 0 1139 G /usr/bin/seafile-applet 2MiB |
| 0 5084 C darktable 42MiB |
+-----------------------------------------------------------------------------+
Gnome
Gnome is the other well known desktop environment. It has a complete different UI approach as KDE.
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48 Driver Version: 390.48 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 960 On | 00000000:01:00.0 On | N/A |
| 0% 55C P2 28W / 130W | 976MiB / 2001MiB | 6% Default |
+-------------------------------+----------------------+----------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 3940 G /usr/lib/xorg-server/Xorg 396MiB |
| 0 4026 G /usr/bin/gnome-shell 254MiB |
| 0 4800 G seafile-applet 2MiB |
| 0 5308 G ...-token=2948D1A99772B627720112A79AC220B3 162MiB |
| 0 6131 G gnome-control-center 49MiB |
| 0 6285 C /usr/bin/darktable 42MiB |
+-----------------------------------------------------------------------------+
Cinnamon
Cinnamon is also feature rich but does not use as much memory as KDE Plasma. Cinnamon has some flaws with updating applets (e.g. cpu temp, gpu temp, etc.) within a panel. This causes some memory leaks and the process grows to more than 3GB if not restarted from time to time.
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48 Driver Version: 390.48 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 960 On | 00000000:01:00.0 On | N/A |
| 0% 58C P0 37W / 130W | 738MiB / 2001MiB | 12% Default |
+-------------------------------+----------------------+----------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 3316 G /usr/lib/xorg-server/Xorg 426MiB |
| 0 3549 G cinnamon 101MiB |
| 0 4699 G /usr/bin/vlc 43MiB |
| 0 4824 G ...-token=A528FBC71B20AB954AF95C26209783EE 97MiB |
+-----------------------------------------------------------------------------+
Budgie desktop
The Budgie desktop is part of the Solus Project . I have it installed this as another alternative and because it looks like a modern replacement of xfce with low resource usage. It is still under development and has far less features than the other ones but it is small, fast and looks nice. So here is the memory usage of Budgie.
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48 Driver Version: 390.48 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 960 On | 00000000:01:00.0 On | N/A |
| 0% 56C P0 36W / 130W | 513MiB / 2001MiB | 5% Default |
+-------------------------------+----------------------+----------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 760 G /usr/lib/xorg-server/Xorg 352MiB |
| 0 1121 G budgie-wm 24MiB |
| 0 2069 G ...-token=C2DC4B4365C0FDBBFF5B3CF5F9D95428 80MiB |
| 0 2721 G seafile-applet 2MiB |
+-----------------------------------------------------------------------------+
Conclusion
Personally I like KDE Plasma a lot (five years ago, I wouldn’t have said that… :-D ). It has a nice looking UI and everything looks smooth and integrated. So I would like to use Plasma as my preferred desktop. For normal office usage, this would work quite well. The problem gets visible if I develop 30 Megapixel RAW files with darktable. The graphics memory used by darktable reaches sometimes about 1 GB of memory. So I have to use something with a lower footprint or change the graphics card. Currently I prefer a lower memory footprint :-D
So for the moment I stay with Cinnamon as it provides the most features and has a relatively low memory footprint.