Для чего нужен 915resolution в 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Смотрим что может утилита и что для этого надо сделать
# 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
# 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То что она выдала - вставляете в xorg.conf на место старого Modeline:
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, не стесняйтесь, пишите.
Тебе дается право первого комментария
