How to set per-monitor scaling on Wayland?

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?

Thanks!

Confirmation that I'm actually running Wayland:

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

Solution 1:

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

Solution 2:

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.