Per-application window scaling in Xorg for high dpi display

I finally managed to find a solution that scales old applications without any noticeable visual or performance degradation.

Thanks to kaueraal, you can now scale old applications using run_scaled. You can obtain the script from either his GitHub page or through AUR run_scaled-git if you are running Arch Linux.

Here is an example of two applications running side by side:

  • Firefox with HiDPI support on the left
  • LMMS running with run_scaled on the right

enter image description here

I discovered this script through the Arch Linux Wiki.


Without seeing the exact problem that you are running into I would suggest using

GDK_SCALE=x

or

GDK_DPI_SCALE=x

Before starting each application. You will likely have to manually change .desktop files or run from your shell prefixing the commands with GDK_SCALE=x

GDK_SCALE only allow interger values however GDK_DPI_SCALE=x allow for decimal values like i.e.GDK_DPI_SCALE=0.66

For other SDK based applications there are likely similar settings for respective kits. However since your problem is with gnome desktop I will provide this solution.

I haven't tried with a 4k monitor, but running GDK_DPI_SCALE=1.66 gnome-calculator will demo the solution.

Source: https://developer.gnome.org/gtk3/stable/gtk-x11.html


Vncdesk gives you a solution based on a local VNC client-server (see here)

It is not a complete solution for me because it gives some problems if the app need a window manager.

Tags:

Linux

Gtk

Xorg