Я выполняю версию Ubuntu 10.10 x86_64 с Nvidia 9800 GT, установил 270.41.06 драйвера Nvidia после этого руководства. Мне подключили ЖК-ТЕЛЕВИЗОР LG42LH30FR со ссылкой dvi-> вход для ПК RGB
Я могу добраться 1024x768 разрешение без сверхсканирования (я могу добраться 1080i = 1366x768, но существует много скрытого экранного пространства направо, и я не знаю, что делать с этим). Я хочу получить full HD
Я могу получить full HD (1 080 пунктов = 1920x1080) на Windows XP, 64-разрядном с другим разрешением, созданным с Панелью управления Nvidia от перечитывания по xorg.conf конфигурациям, кажется, что я должен добавить определенное моделирование к конфигурации монитора, но я не знаю, где получить подходящие варианты для этой задачи
какие-либо предложения?
Я смог сделать это использование пользовательского EDID на экране, любом путем добавления этого к xorg.conf
экранный раздел:
Option "CustomEDID" "DFP-0:/path/to/file/custom_edid.bin"
Или путем генерации конфигурации:
sudo nvidia-xconfig --custom-edit="CRT-0:/my/monitor.bin"
Теперь большой вопрос, Как произвести приемлемый EDID .bin?
На Windows XP я должен был установить два приложения: PowerStrip (на который ссылаются на статье Wikipedia о EDID),
Другим приложением, в котором мы будем нуждаться, является Финикс Разработчик EDID.
С PowerStrip мы будем детализированы, синхронизируя информацию от текущего режима отображения; в основном запрошенную информацию показывают в этой статье, и она суммирует до следующего:
1) В WinXP синхронизации находятся где-нибудь на вкладке расширенных настроек. Вам нужно:
Horiz Front Porch, Vert Front Porch,
Horiz Back Porch, Vert Back Porch,
Horiz Front Active, Vert Front Active,
Horiz Scan (or Sync) Width, Vert Scan Width,
Horiz Sync Polarity, Vert Sync Polarity,
and Pixel Clock.
2) В Вашем/etc/X11/xorg.conf существует место для modeline, который смотрит что-то как
Код:
Modeline "1768x992" 74.48 1768 1336 1472 1664 992 721 724 746 -hsync +vsync
Просто пример. Не используйте этого.
modeline находится в формате
Код:
Modeline "somenamehere" <dotclock> <H1> <H2> <H3> <H4> <V1> <V2> <V3> <V4> <HP> <VP>
where dotclock = Pixel Clock
H1=Horiz Front Active
H2=H1+Horiz Front Porch
H3=H2+Horiz Sync Width
H4=H3+Horiz Back Porch
V1=Vert Front Active
V2=V1+Vert Front Porch
V3=V2+Vert Sync Width
V4=V3+Vert Back Porch
HP=Horiz Sync Polarity [-hsync/+hsync]
VP=Vert Sync Polarity [-vsync/+vsync]
Простые формулы, но мне потребовались недели поиска, чтобы узнать, как преобразовать синхронизации окон в Linux modeline.
Для моего конкретного ЖК-ТЕЛЕВИЗОРА LG42LH30FR получающийся modeline:
Modeline "1080p" 172.8 1920 2040 2248 2576 1080 1081 1084 1118 -hsync +vsync
Я добавил это к своему разделу монитора, но он не работал, который является, почему я пошел для добавления пользовательского EDID.
Теперь создать EDID
Откройте Phoenix EDID Designer, в основном я импортировал EDID из Windows Registry, и я использовал это в качестве основы для изменения, это вызвано тем, что я не знал, как заполнить раздел "Color / Established Timings", таким образом, предварительное население дало мне, надо надеяться, разумные значения (хорошо его работа для меня, возможно, это была удача), во всяком случае, нажмите read-only/modify
кнопка, которая позволяет выпуск, важные вещи изменить
Добавьте, что Вы хотите здесь
Video Input Definition -> Digital
Display Type -> RBG color
sRGB -> check
gamma value: somewhere over 250 would be ok
H. Active Pixels (use the value obtained from PowerStrip, for full hd it should be 1920)
refresh rate (for me its 60Hz)
set all blocks to "unused" except block #1:
Pixel Clock: (use from PS obtained info)
H/V Active Pixel : from PS info
H/V Blank : from PS info. this is actually **Front Porch**
H/V Sync Offset: from PS info. this is actually **Back Porch**
H/V Sync width: from PS info
Готово. Теперь сохраните получающийся файл где-нибудь, можно открыть его, это - текстовый файл.
Вам нужен один дополнительный шаг для преобразования его в необходимые 128 байтов .bin EDID файл; в основном я укажу на основную статью, описывающую преобразование, но подводящий итог Вы будете иметь к
strip
все из файла кроме шестнадцатеричной матрицы цифр#include <stdio.h>
int main()
{
while (!feof(stdin))
{
unsigned char i;
scanf("%02X ", &i);
printf("%c", i);
}
return 0;
}
И выполненный:
# gcc comp.c -o comp
# ./comp < custom_edid.dat > custom_edid.bin
Готово! Перезапустите свою Ubuntu (после того, как добавление пользовательского edid параметра конфигурации объяснило в начале сообщения), и теперь на Настройках X-сервера Nvidia, необходимо смочь установить на другое разрешение.
Необходимо смочь просто использовать приложение драйвера Nvidia, чтобы установить соответствующее разрешение и отобразить вывод к HDTV.
Откройте окно терминала и войдите
sudo nvidia-settings
После Настроек X-сервера Nvidia открыл, нажимают на вкладку X Server Display Configuration и настраивают Ваш дисплей HDTV оттуда.