Как установить для монитора исходное разрешение, которого нет в списке разрешений?

45

После установки Ubuntu 10.04 с моим Samsung SyncMaster B2030 собственное разрешение (1600X900) не найдено в списке разрешений.

Рияз Мохаммед Ибрагим
источник
2
Помимо использования краткосрочного решения, рассмотрите возможность сообщения об ошибке, чтобы в будущих выпусках Ubuntu разрешение можно было правильно настроить по умолчанию:$ ubuntu-bug xserver-xorg
Janndrük
спасибо за указатель ændrük, подал отчет об ошибке, bugs.launchpad.net/ubuntu/+source/xorg/+bug/701772
Рияз Мохаммед Ибрагим

Ответы:

45

Собственное разрешение для Samsung SyncMaster B2030 составляет 1600 * 600 60 Гц

  1. Создайте моделину, используя cvt:

    cvt 1600 900 60
    

    которые будут:

    # 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz
    Modeline "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
    
  2. Получите имя выхода, к которому подключен ваш дисплей:

    xrandr
    

    Это выводит среди прочего:

    Screen 0: minimum 320 x 200, current 1600 x 900, maximum 8192 x 8192
    VGA1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
    

    В этом примере имя выходного файла VGA1.

  3. Создайте новую моделину (со значениями из выходных данных cvt):

    xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
    

    Заметка:

    • вышесказанное должно быть в одной строке
    • запишите x в 1600 x 900_60.00
  4. Добавьте созданную выше моделину:

    xrandr --addmode VGA1 1600x900_60.00
    
  5. Если все прошло хорошо, xrandr перечислит ваше новое разрешение.

  6. Проверьте новое добавленное разрешение:

    xrandr --output VGA1 --mode 1600x900_60.00
    

Разрешение, которое вы установили с помощью вышеуказанных команд, не будет сохраняться между сеансами. До Ubuntu 11.04 вы можете добавлять следующие строки в начале, /etc/gdm/Init/Defaultчтобы автоматически устанавливать разрешение при каждом входе в систему:

xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
xrandr --addmode VGA1 1600x900_60.00
xrandr --output VGA1 --mode 1600x900_60.00

Этот вопрос описывает другие способы сделать xrandrнастройки постоянными.

Рияз Мохаммед Ибрагим
источник
Не могли бы вы объяснить другие варианты в шаге 3? 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsyncчто означают значения, чтобы я мог перевести это на свое
усмотрение
Но что, если xrandr не распознает никакого выходного имени, в частности, не DVI-0, как описано в этом вопросе: askubuntu.com/questions/186288/…
ysap
1
Я сделал это для своего Viewsonic G790 (собственное разрешение 1600x1280_76.00) и получил ошибку: xrandr --newmode "1600x1280_76.00" 223.00 1600 1728 1896 2192 1280 1283 1290 1339 -hsync + vsync xrandr: Не удалось получить размер гаммы для выходное значение по умолчанию X Ошибка неудачного запроса: BadName (названный цвет или шрифт не существует) Главный код операции для неудавшегося запроса: 140 (RANDR) Малый код операции для неудавшегося запроса: 16 (RRCreateMode) Серийный номер неудавшегося запроса: 19 Текущий серийный номер в выводе поток: 19
Scooter
Спасибо за показ, как использовать cvt! Я видел эти линии мод в течение многих лет и никогда не знал, как их вычислить.
ntc2
В современных ЖК - дисплеев, вам нужно уменьшить гашение с cvt -r.
Бхарат Хатри
6

Сначала введите xrandr в своем терминале и посмотрите, какое устройство подключено. Это может быть VGA1, как это в этом случае. Если нет, замените VGA1 на подключенное устройство в приведенных ниже командах. Затем создайте новый документ и назовите его, например: - "yourname.sh" Введите:

xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
xrandr --addmode VGA1 1600x900_60.00
xrandr --output VGA1 --mode 1600x900_60.00
unity --replace

и сохраните его в своей домашней папке (это для разрешения 1600x900). Сделайте его исполняемым:

chmod a+x ~/yourname.sh

Откройте автозагрузку приложения и нажмите «ДОБАВИТЬ». Дайте имя и введите в командной строке

bash /home/yourname/yourname.sh

нажмите сохранить. Изменение появляется после выхода из системы и входа

Нихилу
источник
Мне нравится этот метод, потому что он довольно общий.
Сэм Уоткинс
0

Если вы не хотите выполнять все команды, как указано в других ответах, вы можете использовать инструмент, который сделает все за вас:

  • выполняет cvtкоманду
  • выполняет newmode, addmodeи outputкоманды
  • создает файл запуска, который выполняет вышеуказанное при входе в систему.

Вы можете скачать программу здесь .

Скажи мне почему
источник