github linkedin
Big QT applications when running Mate on a hi-DPI display

I got a new laptop at work, a Lenovo P1gen2. It has a 4k internal display built in, which has caused nothing but immense pain on the crappy Linux graphics stack. Of course it has a built-in nvidia card, with all the driver nightmare that comes with that.

Anyway, I installed Fedora 32 Mate on it, and surprise surprise, everything was very tiny. Fortunately there’s a fix in Mate for that:

Appearance > Fonts > Details > Set DPI to 192

Now the text is readable, everything is working fine. So I thought. Until I opened KeepassXC, which is a QT application (this affects all QT applications, like Zoom, VirtualBox, etc.). KeepassXC was HUGE, like 4x bigger than it should be. After some googling, I found a reference to QT_SCALE_FACTOR on the Arch wiki.

Something on MATE sets this to 2, which causes the MATE scaling to apply and on top of that the QT scaling. I tried to set this variable to 1 in different places, but non had effect: something resets that value to 2 on login. After some googling, I found the culprit: the MATE session manager.

To fix that, you now have two options. Either you hardcode the scale factor to 1 via this command

gsettings set org.mate.interface window-scaling-factor 1

or you disable the QT sync via

gsettings set org.mate.interface window-scaling-factor-qt-sync false

I found the name of this configuration option in the PR which fixed the bug linked above.

I still have some problems when using a 2k display besides the 4k display, but I guess this is what I get for using Linux with modern hardware. I heard Cinnamon has good support for Hi-DPI, so maybe next time I give it a try.

Tags: linux mate

Back to posts