Я нашел основу решения здесь: /ubuntu/186288/how-to-detect-and-configure-an-output-with-xrandr
В современных дистрибутивах Linux, включая CentOS, библиотека xrandr отвечает за такие вещи, как разрешение экрана, поворот и так далее. Поскольку ваша система не обнаруживает автоматически, вы должны вручную сообщить ей, в каком режиме работает ваш монитор.
У меня была такая же проблема с KVM, и пример выходных данных с моего компьютера:
Шаг 1:
Найдите название вашего порта. Это будет что-то вроде VGA1, HDMI1 или около того. Вы можете найти его в /var/log/Xorg.0.log или использовать утилиту xrandr:
> xrandr
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00*
800x600 60.32 56.25
848x480 60.00
640x480 59.94
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
Мой KVM подключен к порту VGA, который называется VGA1. Поскольку KVM блокирует автоопределение, xrandr видел только разрешение 1024x768.
Шаг 2:
Расскажите xrandr о новом режиме. Режимы - это просто строки, к которым прикреплены параметры отображения видео.
Шаг 2.1
Найдите параметры дисплея, которые вам нужны. Я хотел 1600x900 при 60 Гц:
> gtf 1600 900 60 -x
# 1600x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 119.00 MHz
Modeline "1600x900_60.00" 119.00 1600 1696 1864 2128 900 901 904 932 -HSync +Vsync
Шаг 2.2
Создайте новый режим с помощью xrandr, используя значения из команды gtf:
> xrandr --newmode "1600x900" 119.00 1600 1696 1864 2128 900 901 904 932 -HSync +Vsync
Первый параметр - это имя нового режима - вы можете назвать его как угодно, просто используйте то же имя в последующих шагах.
Шаг 3
Скажите xrandr, что VGA1 понимает режим, называемый 1600x900:
> xrandr --addmode VGA1 1600x900
Шаг 4
Скажите xrandr, чтобы перейти в новый режим.
> xrandr --output VGA1 --mode 1600x900
Примечание: если вы допустили ошибку и ваш монитор фактически не понимает новый режим, вы получите пустой экран!
Если вы получаете пустой экран, вы можете восстановить, слепо набрав:
> xrandr --output VGA1 --mode 1024x768
Другой способ - подключиться с другого компьютера через SSH и выполнить эту команду через SSH вместо консоли.
Шаг 5
Создайте сценарий, который автоматизирует команды newmode, addmode и output, так как они не будут сохранены при перезагрузке.
У меня была примерно такая же ситуация, и приведенный выше ответ является одним из наиболее полных объяснений того, как это исправить, но мне пришлось пройти еще один уровень, чтобы мой 32-дюймовый Samsung рендерился с разрешением 2560x1440.
gtf - это метод, использованный выше для получения таймингов, который работает в основном, но я бы не дал мне режим, который бы соответствовал 2560x1440. Я использовал программу cvt с ключом -r (необходим для этого и не подходит для crt, только устройства, которые могут жить без гашения).
Этот режим синхронизации, используемый вместо информации, предоставленной gtf, работал как шарм. Я все еще хотел бы, чтобы это можно было «запечь» в
X11
системе, но я создал сценарий для создания, добавления, а затем переключения в режим, чтобы он отлично работал.И мои стареющие глаза любят огромный монитор. Ничто не превосходит, как избыток ...
(Скрипт для режима добавления и переключения следует)
источник
Я согласен, что это почти решение проблемы. Это поместило мой экран в правильное разрешение.
Однако с двумя основными черными колонками на левой и правой стороне экрана. Я думаю, что-то за кадром.
Поэтому мне пришлось собрать некоторые значения, полученные при загрузке с xorg.log.
Поэтому после замены значений cvt значениями Xorg.0.log я получил правильную компоновку экрана.
источник
Потратив пару драгоценных часов, пробуя вышеуказанное и другие «решения», я столкнулся с этим:
http://elrepo.org/tiki/kernel-ml
источник