Was a wild ride since Skylake + 4k + docking station became stable only recently with Linux 4.9, but scaling always worked.
Here's what it takes:
Xft DPI and hinting settings (font rendering):
# .Xresources
Xft.dpi: 144
Xft.hinting: 1
Xft.hintstyle: hintslight
Xft.antialias: 1
Xcursor.size: 48
Xcursor.theme: Adwaita
xrandr DPI setting (important for IntelliJ, i3 and the like): xrandr --dpi 144
Put it into .xinitrc, Gnome autostart, i3 config or wherever your DE runs stuff at session startup. I also run it after resuming since it sometimes resets itself.Now, the most important part - the Gnome scaling settings. Instead of increasing the scaling factor, I leave it at 1x and only increase the text scaling. It's a fractional value and applications still resize appropriately (bonus: reduces the amount of whitespace):
gsettings set org.gnome.desktop.interface text-scaling-factor 1.5
gsettings set org.gnome.desktop.interface scaling-factor 1
Worked well with everything I use (Evolution, virt-manager, LibreOffice, Terminal...).IntelliJ works fine out of the box with java-1.8.0-openjdk. I recommend the Iosevka font, but any font will work.
Latest Chromium respects the settings and support scaling by a fractional value.
When I'm using a low-res screen, I simply render at a high resolution and then scale it down:
xrandr --output eDP-1 --off
xrandr --output DP-2-1 --left-of eDP-1
xrandr --output DP-2-1 --right-of DP-2-2
xrandr --output DP-2-2 --scale 1.5x1.5 --pos 0x0
xrandr --output DP-2-1 --scale 1.5x1.5 --pos 2880x0
While it looks slightly off, you get used to it quickly and I spend most of my workday looking at a downscaled screen without any discomfort.The result is pretty much perfect and comparable (if not better) to macOS with a recent distro. I'm happy to help anyone who is struggling to get this working!
On a more general note, the recent changes in Fedora are amazing! Out-of-box experience went from "a lot worse than Ubuntu" to best-in-class.