Year of the Linux Desktop: X.Org

The setup

Let’s say you are shopping for a laptop and want to install Linux. I don’t know, maybe because Windows 11 shell is a complete disaster and WSL2 I/O performance on NTFS is making you consider doing gardening instead for the rest of your life. Linux couldn’t possibly be any worse, right? Right?

Let’s say you did your research, and the laptop you chose is reasonably well-supported hardware-wise. I mean, the year is 2022, but you still have to check if there are no problems with weird ACPI behavior1 or if the fingerprint reader will work without some proprietary blob that may stop working after doing one system upgrade too many. But hey, at least the wifi is no longer a problem!

And since the year is 2022, let’s say that you want a Hi-DPI screen. You know, like these retina screens that MacBooks have.

The execution

For this exercise, we will be looking at a Dell XPS 13" laptop with a 3.5K screen2. This boils down to 304 pixels per inch. Since this is quite a small machine, some still life will be present in the photos to give you a good sense of scale.

So, what can we expect from various Linux desktop environments that are currently available? Will everything work as advertised? Let’s find out!

Gnome

While you may say that’s Ubuntu on the photo, it is really just the Gnome desktop with some third-party extensions installed and a coat of new paint to make it look fresh. Nothing wrong with that. Other projects, such as Elementary OS3 or Budgie Desktop, do the same.

As you can see, everything looks fine here. Both the terminal and file browser are reasonably sized and ready to be used. The same can be said about the program launch bar on the left.

Unfortunately, Gnome is the most user-hostile desktop environment there is4. Using it is death by thousand paper cuts.

KDE

Next up is KDE. At first glance, just like in Gnome, the terminal, the file manager, and the taskbar are reasonably sized and look like something that can be used. It may be worth noting that KDE clearly marks which window is active through heavy shadow. This little touch is an excellent step against anti-patterns plaguing the modern UI “design” across operating systems.

KDE, however, had a little problem making Tracy Profiler (and many other applications) work as expected. The issue has been fixed in the most recent release, but I had to endure using Gnome instead for half a year because of this problem. You see, two different solutions for running graphical environments on Linux exist. Gnome and KDE use the new standard, named Wayland, but some applications can only use the older X.Org (X11) protocol5. To make this arrangement work, a compatibility translation layer must be involved, and this layer has to handle Hi-DPI support, among other things.

Both Gnome and the current release of KDE are doing things correctly here, so, for example, Tracy Profiler will look sharp on a Hi-DPI screen, like in the following image:

Previous releases of KDE employed a different solution to this problem. The assumption was that the old X.Org applications could not be aware of Hi-DPI and had to be rendered with low DPI and then scaled up. This resulted in a blurry image, as in the picture below:

XFCE

Many Linux guides will tell you that XFCE is a lightweight alternative to Gnome or KDE, and you may be tempted to try it out. This would be the result you’d get. Unlike the previously discussed desktop environments, XFCE still relies on the legacy X.Org graphics solution. The Hi-DPI scaling is completely missing here, and everything is rendered as if it was displayed on a 40" screen, not a 13" one! This results in a totally unusable user interface. Everything is just too small.

For many people, such behavior is not a problem. They are not even aware that it would happen. This is simply because low DPI screens are commonly perceived as good enough. However, as with many things, the moment you experience Hi-DPI, anything less becomes markedly worse and inadequate.

i3

This case is similar to the XFCE one but presents even smaller UI elements. I only have a little experience with tiling window managers and never felt the allure of these, so I’m not sure what is even displayed there. But I thought it was funny to include, as the text is borderline unreadable here.

The experience

The takeaway is that X.Org is badly obsolete and has been such for a long time. It is essentially an abandoned project, with all current efforts put towards developing Wayland, and for good reasons.

Even if you think the terrible new user experience presented above wouldn’t apply to most users because Hi-DPI is a novelty that has yet to come to the mass market, there are other parts of the graphic stack that are barely working on X.Org. Do you have multiple monitors? Yeah, well… Maybe you can figure out some solution. Do you want all this to be plug-and-play because the available displays may change as you move your laptop from home to the office? Good luck with that! Do you have displays with different refresh rates, for example, one 60 Hz and another 144 Hz? Maybe you shouldn’t. Or perhaps you want to use both a Lo-DPI and a Hi-DPI screen next to each other? Sorry, this is simply impossible to set up as you expect it to. You’d have to choose one scaling parameter for both monitors and pretend to be happy with it.

None of these problems exist on Wayland. This is all solved.

The distressing thing is that there are still some who want to resist the change. Who don’t feel the need to move on. Who cling to X.Org. This is truly unfathomable.


  1. For example, the CPU cooling fans may no longer operate after a sleep/wake-up cycle, leaving you with a processor reaching boiling temperatures when you simply list a directory. ↩︎

  2. Some people will tell you that such a high resolution makes no sense at this screen size. They are wrong. The difference is easily visible compared to a 1080p 13" screen. ↩︎

  3. They claim to be an independent project, even written in a completely different programming language, but I know when I see a Gnome fork. Elementary is a Gnome fork. ↩︎

  4. There is enough about this for a whole other blog entry. For now, a ripe, 18-year-old file selector meme bug will have to suffice. ↩︎

  5. Technically, both Gnome and KDE can work either through Wayland or X.Org, but all major Linux distributions default to Wayland. ↩︎