Поиск

Для чего нужен 915resolution в linux

915resolution in linuxПри поиске информации по этому поводу встречал много всякого, но оно  неполное какое то. В основном это «как настраивать нестандартные разрешения». Но вот мне интересно почему 1280х800 это нестандартное разрешение? Ведь для ноутбуков это самое что ни есть родное разрешение (ну или для большинства ноутбуков).

Итак есть такой пакет 915resolution, который является инструментом для изменения video BIOS-а (915Resolution: Intel Video BIOS Hack) графических чипсетов Intel 800 и 900 серии. А в частности — 830, 845G, 855G и 865G чипсеты, а также 915G, 915GM, 945G, 946GZ, G965 и Q965 чипсеты. Изменения которые вносит эта утилита необходимы что бы разрешить отображение некоторых специфических (нестандартных) разрешение для Xorg или XFree86.

Модификации BIOS которые вносит 915resolution являются текущими, то есть нету прямого вмешательства в биос чипсета. Это также означает, что 915resolution необходимо будет запускать каждый раз, когда компьютер будет загружается для того что бы изменения вступили в силу. Это можно делать вручную или поручить это скрипту.

Оборудование
— подопытный комп с установленной fedora на борту
— встроенная видеокарта которая определилась как Intel 915 работает на драйвере i810
— 50″ плазма с FullHD разрешением

Задача
— заставить работать эту связку что бы выдавало разрешение 1280х720

В общем решается очень просто, приступим

Устанавливаем 915resolution

Кому как удобно — мне например через консоль, выполняем команду

yum install 915resolution

Смотрим что может утилита и что для этого надо сделать

localhost$ 915resolution --help
Intel 800/900 Series VBIOS Hack : version 0.5.3

Usage: 915resolution [-f file] [-c chipset] [-l] [mode X Y] [bits/pixel] [htotal] [vtotal]
  Set the resolution to XxY for a video mode
  Bits per pixel are optional.  htotal/vtotal settings are additionally optional.
  Options:
    -f use an alternate file (THIS IS USED FOR DEBUG PURPOSES)
    -c force chipset type (THIS IS USED FOR DEBUG PURPOSES)
    -l display the modes found in the video BIOS
    -r display the modes found in the video BIOS in raw mode (THIS IS USED FOR DEBUG PURPOSES)

Можно выбрать файл с настройками, чипсет, количество пикселей по вертикали и горизонтали, глубину цвета. Ну этого нам, наверное, должно хватить с головой.

Узнаем что может наша видеокарта, запускаем утилиту с опцией -l display the modes found in the video BIOS

localhost$ 915resolution -l
 Intel 800/900 Series VBIOS Hack : version 0.5.3

Mode 30 : 640x480, 8 bits/pixel
Mode 32 : 800x600, 8 bits/pixel
Mode 34 : 1024x768, 8 bits/pixel
Mode 38 : 1280x1024, 8 bits/pixel
Mode 3a : 1600x1200, 8 bits/pixel
Mode 3c : 1920x1440, 8 bits/pixel
Mode 41 : 640x480, 16 bits/pixel
Mode 43 : 800x600, 16 bits/pixel
Mode 45 : 1024x768, 16 bits/pixel
Mode 49 : 1280x1024, 16 bits/pixel
Mode 4b : 1600x1200, 16 bits/pixel
Mode 4d : 1920x1440, 16 bits/pixel
Mode 50 : 640x480, 32 bits/pixel
Mode 52 : 800x600, 32 bits/pixel
Mode 54 : 1024x768, 32 bits/pixel
Mode 58 : 1280x1024, 32 bits/pixel
Mode 5a : 1600x1200, 32 bits/pixel
Mode 5c : 1920x1440, 32 bits/pixel

Подменяем значение разрешений

Делать это нужно в чистой консоли без запущенных иксов.

Например, я хочу заменить разрешение с кодом 58 ( для меньшей возни выбирайте то разрешение которое у вас сечас стоит — у меня было 1280×1024) на 1280х720, пишем

915resolution 58 1280 720

формат команды —

915resolution код_заменяемого разрешение_по_горизонтали разрешение_по_вертикали

Запускаем иксы — должно работать на выбранном нами разрешении 1280х720.

Но это все работает до перезагрузки, а потом вновь надо это все повторить. Нас это конечно не устраивает, продолжаем наши поиски
Выполняем команду что бы утилита запускалась во время загрузки

chkconfig --level 35 915resolution on

Потом ищем файлик /etc/sysconfig/915resolution (в fedora лежит здесь), который внутри содержит

# Mode to overwrite
# RESOLUTION="58 1680 1050"

то есть он пустой. Заполняем его под свои нужды, ну к примеру

# Mode to overwrite
# RESOLUTION="58 1680 1050"  

RESOLUTION="54 1280 720"
RESOLUTION="45 1280 720"
RESOLUTION="34 1280 720"

Перезагружаем компьютер и наслаждаемся правильным ну или нужным нам разрешением.

Если не заработало тогда возможны следующие шаги (скопипастено из без проверки)

— смотрим внимательно на то, правильно ли вы указали разрешение (возможно ваш ноутбук его просто не поддерживает).
Если правильно, и все равно разрешение не изменилось — тогда прибегаем к шаманству.

— Открываем /etc/X11/xorg.conf, ищем там строчки с Modeline и Modes, и безжалостно комментируем их (или попросту удаляем — только backup файла не забудьте сделать на всякий случай). Пробуем запустить иксы.
— Если же опять ничего не вышло, то надо сгенерировать Modeline.
Делается это командой gtf. Пример команды:

gtf 1280 720 75</pre>
То что она выдала - вставляете в xorg.conf на место старого Modeline:
<pre lang="ini">
Section "Modes"
   Identifier "Modes[0]"
   # 1280x720 @ 75.00 Hz (GTF) hsync: 62.62 kHz; pclk: 107.21 MHz
   Modeline "1280x720" 107.21 1280 1360 1496 1712 800 801 804 835 -HSync +Vsync
EndSection

В секцию «Monitor» добавляем опцию

UseModes     "Modes[0]"

А также, добавляем Modes вот сюда:

SubSection "Display"
           Viewport 0 0
           Modes "1280x720"
           Depth 24
EndSubSection

После этого уж обязательно должно заработать.

Адрес утилиты — http://www.geocities.com/stomljen/

PS: Но к великому сожалению поставленная задача — заставить мою связку оборудования работать, не выполнена. Потому что, как я понял, для такого разрешения для плазмы создается виртуальный графические сервер и она ни за какие пряники не захотела показывать данное разрешение. Пишет «Режим не поддерживается» и все тут. Пришлось доставать внешнюю видеокарту.
Если кто знает как можно победить плазму и заставить ее работать на встроенной видяхе и на разрешении 1280х720, не стесняйтесь, пишите.

  • 1

    Весьма познавательно. Спасибо :)
    Таким образом мне удалось прикрутить монитор 16:9 и 1600х900 к thinstation

  • 2

    Я рад, что пригодилось. Пользуйтесь на здоровье.

  • 3

    Привет
    У меня такая же проблема — подключить плазму Samsung PPM50M5H (50″) ко встроенной видеокарте Intel 945GM (OS ASP Linux 11.2 /Fedora 4/) на разрешении 1280х720. 915resolution не помогла. На черном экране надпись «Режим не поддерживается».
    Кстати, команда xrandr не показывает в списке доступных этот режим (1280х720),
    хотя в списке 915resolution он есть (для всех битностей).
    А у вас?
    А режим 1280х768 Вы не пробовали?

  • 4

    Ну тогда у меня не получилось, а сейчас нету на чем пробовать. На мониторах отлично работает — а вот плазма оказалась капризулей!
    А потом позвонили из ГО и сказали — у вас картинка на плазме не тех размеров и пропорция фигня, надо что то думать. Придумали внешней видяхой :)

Оставить комментарий