xrandr 介导的外部计算机显示器上 VGA 过扫描校正

xrandr 介导的外部计算机显示器上 VGA 过扫描校正

当我使用外接显示器 (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

相关内容