3

I currently am using xrandr's --scale option to scale applications correctly on my hidpi monitor where the 2x scaling option provided by gnome shell is too large.

I currently use these commands to get this done:

gsettings set org.gnome.desktop.interface scaling-factor 2
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gdk/WindowScalingFactor': <2>}"
xrandr --output DP1 --scale 1.5x1.5
xrandr --output DP1 --panning 3840x2160

This is based on the "How to use non-whole numbers" section in this wiki.

This works really nicely in terms of size but I noticed that it also seems to disable vsync. I am using this video to test whether vsync is working correctly or not.

How do I get vsync working alongside the scale option using xrandr? I cannot seem to find any obvious fix from reading the manual.

1 Answer 1

1

This issue has been bugging me too since I've bought a high DPI tablet PC. Luckily, if your screen is connected to Intel's GPU, there is a solution.

Xrandr's scaling is done by rendering X11 screen contents onto a Xrender picture, then scaling it and displaying on real screen. That said, Xrandr doesn't really decide how the output is scaled and displayed, everything depends on Xrender implementation of used DDX driver. These always have been quirky and hackish, resulting in synchronization and performance problems.

Intel's DDX provides a non-standard option, called TearFree, that forces synchronization between Xrender pixmaps and screen (and also introduces some performance issues, that's why it's not enabled by default). You can enable it by creating *.conf file in /etc/X11/xorg.conf.d/ containing:

Section "Device"
    Identifier "Intel Graphics"
    Driver "intel"

    Option "AccelMethod" "sna"
    Option "TearFree" "true"
EndSection

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .