locxter.net

The state of fractional scaling on Linux

2022-11-27

After using a Thinkpad X250 as my primary laptop for over 1.5 years, I was looking for a Thinkpad X1 Yoga as a thinner and stylus-enabled placement back in June. Eventually, I found a promising offer and pulled the trigger. What I did not consider though was the extremely high DPI of the display (1440p on a 14 inch screen) and therefore the need to use fractional scaling.

You may think that this is no big deal as it works somewhat decently on Windows as well as MacOS and therefore will probably also be fine on Linux, but your are just wrong . In fact, fractional scaling is one of the very things on Linux that are so bad that they could drive me back to Windows, if I would be dependent on them. So lets take a deeper look...

Obviously, the first thing to take into account is the desktop environment (DE) you are running as all of them handle things a bit differently. Sadly, this is also the point where most of them are out the game, because they simply do not support fractional scaling to any acceptable extent. For tiling windows managers this is probably not suprising, but I was shocked to find out that LXQT, Mate, XFCE and GNOME all lack this feature (or atleast a usable implementation) too.

Granted, there is a fix for GNOME to enable fractional scaling, it is implemented in Ubuntu by default and also used by Cinnamon, but is has some major flaws. The working principle is to always render at a multiple of actual screen resolution and then downscale to the desired factor with some clever algorithms that make sure everything stays sharp. This is the same way MacOS does it, but the Linux implementation is far worse. It not only uses a lot of processing power shortening the battery life, but also introduces unbearable tearing when the screen content rapidly changes (for example when playing a video) or a even when a window gets drag around.

This only leaves us with KDE Plasma to feature decent fractional scaling out the box. And although it certainly is far from perfect, it is the only one I could see me using! But I am so used to GTK-based desktops that for me the final solution was to just stick to the default screen resolution and live with small text/UI elements. I know that this is kinda sad, but honestly I am a defeated man in this regard and atleast I get a bit more of usable screen real estate...

RSS feed