I understand from here and other places that Wayland offeres per-monitor scaling settings to handle cases such as a HiDPI laptop screen with a low DPI external monitor (my situation). I installed Wayland from the gnome-session-wayland package and can run Wayland just fine, but the scaling issue remains.

How do I set the per-monitor scaling when running Wayland?


Confirmation that I'm actually running Wayland:

~>loginctl show-session 1 -p Type
~>gnome-shell --version
GNOME Shell 3.18.5

I figured out what was wrong. By default, I had a scaling factor set to handle the HiDPI screen on my laptop. When using Wayland, though, this scaling factor overrides for both screens. The solution was simply to set this scaling factor to 0, which allows both Wayland to pick automatically based on the screen.

Specifically, you need set org.gnome.desktop.interface scaling-factor to 0.

You can do this with dconf Editor, available in the software store:

enter image description here

  • 3
    This worked for me!!! Finally, some usable level of high dpi + regular dpi multimonitor support in gnome. It feels like its been a years-long wait – wkoomson Mar 4 '17 at 19:18
  • 1
    Ok, but how do you do per-monitor scaling? – Ben Davis Apr 27 '17 at 18:09
  • 2
    It should "just work". Meaning that when you drag an application that is actually running on Wayland fully to a new desktop, it will rescale to that desktop. This does not fully work for any application that still runs on X11. Try it with Nautilus and see if it works. – Computerish Apr 27 '17 at 18:59
  • 8
    It does indeed work with nautilus but not on xwayland apps like chrome. So the multi-dpi support in linux is still bad enough. – stilllife May 20 '17 at 8:44

Along with solution by Computerish about allowing wayland to configure scaling per (Wayland) application. I've found that I can make XWayland applications such as Chrome "usable" as a work around if I open it using GDK scaling.

I'm able to make chrome usable on my external monitor by opening it using the following command. Obviously if I move chrome to my 4k laptop monitor it becomes unusable. But just documenting it as another avenue.

GDK_DPI_SCALE=.5 google-chrome

Caveat, this only work if you're using this app only on the non 4k monitor as it makes it non-usable on the 4k monitor.

  • What is the following command? – NerdOfCode Mar 16 '18 at 18:11
  • GDK_DPI_SCALE=.5 google-chrome – Stephen Ostrow Mar 17 '18 at 20:38
  • You can also do it on X11 though by directly tweaking the per-app settings. That's how I run my apps when I connect to one external monitor. I really want to see Wayland support automatic scaling. – xji Jun 9 '18 at 10:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.