Когда я использую внешний монитор (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