воскресенье, 25 января 2015 г.

Монитор поддерживает разрешение экрана 1680x1050. Но! В настройках экрана монитора в Linux нет нужного разрешения. Рабочий стол в Windows больше экрана монитора.

Рассмотрим случай, когда монитор поддерживает максимальное разрешение экрана 1680x1050, но данное разрешение либо не отображается в списке разрешений монитора (в Linux), либо после установки такого разрешения рабочий стол становится больше самого экрана (в Windows).

Решение для Linux:

1. В терминале выполняем команду xrandr, получаем список видеоинтерфейсов и их разрешений:

Screen 0: minimum 320 x 200, current 1024 x 600, maximum 8192 x 8192
LVDS connected (normal left inverted right x axis y axis)
   1024x600       60.0 +
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  
HDMI-0 disconnected (normal left inverted right x axis y axis)
VGA-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       60.0*  
   800x600        60.3     56.2  
   848x480        60.0  
   640x480        59.9  

В данном случае интерфейс, которому подключен монитор, называется VGA-0.

2.  В терминале выполняем команду cvt 1680 1050 60 (первые два числа - разрешение, третье - частота), и узнаём, как будет называться режим 1680x1050 60 Гц:

# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
Modeline "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync

3. Создаем новый режим 1680x1050, добавляем данный режим в список режимов монитора, подключённого к интерфейсу VGA-0,  и устанавливаем его в качестве текущего (переключаем монитор в данный режим):

xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
xrandr --addmode VGA-0 1680x1050_60.00
xrandr --output VGA-0 --mode 1680x1050_60.00 

После этого монитор переключится на данное разрешение.

Для автоматизации переключения монитора в нужный режим можно создать скриптовый исполняемый файл, например, с именем и расширением 1680x1050.sh, и со следующим текстом:

#!/bin/bash
#xrandr
#cvt 1680 1050 60
xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
xrandr --addmode VGA-0 1680x1050_60.00
xrandr --output VGA-0 --mode 1680x1050_60.00

Решение для Windows

Заходим в программу управления видеокартой, например, AMD Catalyst Control Center. На вкладке Мои экраны выбираем пункт Свойства (VGA-экран). В основной части окна в разделе Свойства монитора снимаем флажок Используйте EDID (Расширенные данные идентификации дисплея) или настройки драйвера по умолчанию, на английском - Use Extended Display Identification Data (EDID) or driver defaults. Выбираем в списке Максимальное разрешение - разрешение 1680x1050. Нажимаем кнопку Применить. Скриншоты см. ниже.



1 комментарий: