我目前正在使用 xrandr 的--scale
选项在我的 hidpi 显示器上正确缩放应用程序,而 gnome shell 提供的 2x 缩放选项太大。
我目前使用这些命令来完成此操作:
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
这是基于“如何使用非整数”部分本维基。
就大小而言,这确实很有效,但我注意到它似乎也禁用了垂直同步。我正在使用这个视频测试 vsync 是否正常工作。
如何使用 xrandr 让垂直同步与缩放选项一起工作?我似乎无法通过阅读手册找到任何明显的解决方法。
答案1
自从我买了一台高 DPI 平板电脑后,这个问题就一直困扰着我。幸运的是,如果你的屏幕连接到英特尔的 GPU,那么就有解决方案。
Xrandr 的缩放是通过将 X11 屏幕内容渲染到X渲染图片,然后缩放并显示在真实屏幕上。也就是说,Xrandr 并没有真正决定如何缩放和显示输出,一切都取决于使用的 DDX 驱动程序的 Xrender 实现。这些总是古怪而又不规范,导致同步和性能问题。
Intel 的 DDX 提供了一个非标准选项,称为无泪,强制 Xrender 像素图和屏幕之间的同步(同时也会带来一些性能问题,这就是为什么默认情况下不启用它的原因)。您可以通过创建*.conf归档/etc/X11/xorg.conf.d/包含:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "sna"
Option "TearFree" "true"
EndSection