исправление переразвертки VGA на внешнем компьютерном мониторе с помощью xrandr

исправление переразвертки VGA на внешнем компьютерном мониторе с помощью xrandr

Когда я использую внешний монитор (Dell E207WFP) в качестве устройства отображения для моего ноутбука, около 10 пикселей обрезаются с левого края экрана, что, как я полагаю, является следствием явления, известного как overscan (монитор подключен к компьютеру через VGA). У меня есть несколько доступных разрешений: 1680x1050 (60,0 Гц), 1280x1024 (75,0 Гц), 1152x864 (75,0 Гц), 1024x768 (75,1 Гц), 800x600 (75,0 Гц), 800x600 (75,0 Гц) и 720x400 (70,1 Гц). Я решил использовать самое высокое разрешение, которое является разрешением по умолчанию, а также самым высоким разрешением, поддерживаемым этим монитором. Уменьшение разрешения до более низкого решает проблему overscan, но нежелательно. Я ищу решение, которое уменьшает, в минимально возможной степени, разрешение дисплея. Я попытался исправить проблему пересканирования, сдвинув дисплей на 10 пикселей вправо с сопутствующим изменением масштаба вывода, чтобы гарантировать, что не произойдет усечение пикселей с правой стороны экрана. Однако я не добился успеха, настраивая значение изменения масштаба x/y в 2D аффинном преобразовании, используемом утилитой 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

Связанный контент