当我使用外接显示器 (Dell E207WFP) 作为笔记本电脑的显示设备时,屏幕左边缘大约有 10 个像素被截断,我认为这是一种称为过扫描的现象的结果(显示器连接到计算机通过 VGA)。我有多种可用的分辨率:1680x1050 (60.0 Hz)、1280x1024 (75.0 Hz)、1152x864 (75.0 Hz)、1024x768 (75.1 Hz)、800x600 (75.0 Hz)、800x600 (75.0 Hz) 和 720x400 (70.1赫兹)。我选择使用最高分辨率,这是默认值,也是该显示器支持的最高分辨率。缩小到较低的分辨率可以解决过扫描问题,但这是不可取的。我寻求一种尽可能降低显示器分辨率的解决方案。我尝试通过将显示向右移动 10 个像素并同时重新缩放输出来纠正过扫描问题,以确保不会发生屏幕右侧像素的截断。然而,我还没有通过调整实用程序使用的 2D 仿射变换中的 x/y 重新缩放值来获得成功xrandr --transform
。无论这些值设置为何,如果我调用显示器的向右移动,显示器都会遭受右侧像素截断的影响。
我使用以下形式的命令:
xrandr --output VGA1 --transform 1,0,-10,0,1,0,0,0,1
指-10
显示器沿 x 轴的平移(以像素为单位)(负值使显示器向右移动)。前两个参数设置为1
表示未对 x 轴(字段 1)或 y 轴(字段 5)应用重新缩放。我尝试过使用更大(例如,1.05)或更小(例如,0.95)缩放因子,但在所有情况下,显示器的右边缘都会过度扫描。如果有人可以告诉我哪组值可能会产生预期的效果,或者提出替代解决方案,我将不胜感激。
如果它有助于解决此问题,完整输出xrandr --query
如下:
Screen 0: minimum 320 x 200, current 1670 x 1050, maximum 8192 x 8192
LVDS1 connected (normal left inverted right x axis y axis)
1366x768 60.0 +
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 430mm x 270mm
1680x1050 60.0*+
1280x1024 75.0 60.0
1152x864 75.0
1024x768 75.1 60.0
800x600 75.0 60.3
640x480 75.0 60.0
720x400 70.1
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
答案1
我遇到了完全相同的问题,并发现panning
即使大小与分辨率相同,设置也会导致transform
选项的行为更符合我的期望。我还发现mode
在每次调用时明确声明xranr
.
xrandr --output VGA1 --mode 1680x1050 --panning 1680x1050
xrandr --output VGA1 --mode 1680x1050 --transform 1.05,0,-10,0,1,0,0,0,1