Skip to main content

100Hz и nVidia в Linux

Имеем: Debian 5.0.1 с ядром 2.6.29-2-amd64 + nVidia GeForce 8800GT с последними драйверами с сайта производителя (180.51) + 22″ ЭЛТ монитор hp p1230, отлично работающий в разрешении 1600*1200@100Hz. Проблема: невозможность выставить в NVIDIA X Server Settings частоту, большую 85Гц.

01В положении Auto так же получаем 85Гц.

Лезем во всеми любимый /etc/X11/xorg.conf, в секцию Monitor

Section «Monitor»
Identifier     «Monitor0»
VendorName     «Unknown»
ModelName      «Unknown»
HorizSync       28.0 — 33.0
VertRefresh     43.0 — 72.0
Option         «DPMS»
EndSection

Обнаруживаем, что сие абсолютно не соответствует нашему монитору. Гуглим частоты вертикальной и горизонтальной синхронизации под конкретную модель, подставляем их вместо имеющихся, заодно прописываем модель монитора (для удобства и красоты):

Section «Monitor»
Identifier     «Monitor0»
VendorName     «hp»
ModelName      «hp p1230»
HorizSync       30.0 — 140.0
VertRefresh     50.0 — 160.0
Option         «DPMS»
EndSection

Перезапускаем Х-сервер (или комп, хе-хе), обнаруживаем желанные 100Гц в настройках:

02

Применяем — видим, что добились желаемого. Но, увы, при перезапуске иксов или компьютера снова получаем рябь в глазах и 85Гц. Чтобы этого не повторилось, делаем следующее- в консоли набираем:

gtf <x> <y> <@>

где x- разрешение по горизонтали, y- по вертикали и @ — частота в герцах.

Например, для стандартного 19″ 100Гц монитора получим

:~$ gtf 1280 1024 100

# 1280×1024 @ 100.00 Hz (GTF) hsync: 108.50 kHz; pclk: 190.96 MHz
Modeline «1280x1024_100.00»  190.96  1280 1376 1520 1760  1024 1025 1028 1085  -HSync +Vsync

в моем случае:

:~$ gtf 1600 1200 100

# 1600×1200 @ 100.00 Hz (GTF) hsync: 127.10 kHz; pclk: 280.64 MHz
Modeline «1600x1200_100.00»  280.64  1600 1728 1904 2208  1200 1201 1204 1271  -HSync +Vsync

Получившуюся строчку «Modeline» мы и запишем в секцию «Monitor»:

Section «Monitor»
Identifier     «Monitor0»
VendorName     «hp»
ModelName      «hp p1230»
HorizSync       30.0 — 140.0
VertRefresh     50.0 — 160.0
ModeLine       «1600x1200_100.00» 280.64 1600 1728 1904 2208 1200 1201 1204 1271 -hsync +vsync
Option         «DPMS»
EndSection

Но и это не всё (: Теперь смотрим на секцию «Screen»:

Section «Screen»
Identifier     «Screen0»
Device         «Device0»
Monitor        «Monitor0»
DefaultDepth    24
SubSection «Display»
Depth       24
EndSubSection
EndSection

Если она выглядит именно так, меняем ее на следующее:

Section «Screen»
Identifier     «Screen0»
Device         «Device0»
Monitor        «Monitor0»
DefaultDepth    24
Option         «TwinView» «0»
Option         «TwinViewXineramaInfoOrder» «CRT-0»
Option         «metamodes» «1600x1200_100.00 +0+0; 1600×1200 +0+0»
SubSection «Display»
Depth       24
EndSubSection
EndSection

В «metamodes» вписываем, естественно, свои собственные значения. То есть для 1280*1024@100Гц это будет «1280x1024_100.00 +0+0; 1280×1024 +0+0»
и аналогично для других разрешений и частот. Для наглядности — весь мой xorg.conf целиком.

2 thoughts to “100Hz и nVidia в Linux”

Добавить комментарий

Авторизация через: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.