Ubuntu 10.10: получение соответствующего разрешения монитора для lcd hdtv

Я бегу Ubuntu 10.10 x86_64 версия, с Nvidia 9800 GT, установлены драйверы Nvidia 270.41.06 после данное руководство. У меня есть ЖК-телевизор LG42LH30FR, подключенный к dvi link - > RGB PC input

Я могу получить разрешение 1024x768 без overscan (я могу получить 1080i = 1366x768, но справа есть много скрытого пространства экрана, и я не знаю, что с этим делать). Я хочу получить full HD

Я могу получить Full HD (1080p = 1920x1080) в Windows XP 64-бит с пользовательским разрешением, созданный с помощью Панели управления Nvidia, от чтения через xorg.конфигурации conf кажется, мне нужно добавить определенное моделирование в конфигурацию монитора, но я не знаю, где получить соответствующие параметры для этой задачи

какие предложения?

21
задан Hennes
10.03.2023 23:40 Количество просмотров материала 2775
Распечатать страницу

3 ответа

я смог сделать это, используя пользовательский EDID на экране, либо добавив это к xorg.conf раздел:

Option "CustomEDID" "DFP-0:/path/to/file/custom_edid.bin"

или путем генерации конфигурации:

sudo nvidia-xconfig --custom-edit="CRT-0:/my/monitor.bin"

теперь главный вопрос:как создать приемлемый EDID .бин?

в Windows XP мне пришлось установить два приложения:PowerStrip (который ссылается на статья Википедии о EDID)

другое применение мы понадобится Феникс EDID дизайнер.

С PowerStrip мы получим подробную информацию о времени из текущего режима отображения; в основном необходимая информация отображается в в этой статье и это подводит итог следующему:

1) в WinXP тайминги находятся где-то на вкладке advanced settings. Вам необходимо:

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.конф есть место для режим что-то как

код:

Modeline "1768x992" 74.48 1768 1336 1472 1664 992 721 724 746 -hsync +vsync

просто пример. Не используйте это устройство.

в режим, в формате

код:

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] 

простые формулы, но мне потребовались недели поиска, чтобы узнать, как преобразовать тайминги windows в модельную линию Linux.

для моего конкретного ЖК-телевизора LG42LH30FR результирующая линия:

Modeline "1080p" 172.8 1920 2040 2248 2576 1080 1081 1084 1118 -hsync +vsync

я добавил Это в свой раздел монитора, но он не работает, поэтому я пошел, чтобы добавить пользовательский EDID.


теперь создать EDID

откройте Phoenix EDID Designer, в основном я импортировал EDID из реестра Windows, и я использовал его в качестве основы для изменения, это потому, что я не знал, как заполнить раздел "цвет/ установленные тайминги", поэтому prepopulation дал мне, надеюсь, разумные значения (ну, это работает для меня, может быть, это было удачи), во всяком случае, щелкните read-only/modify кнопка которая позволяет вариант, важные вещи, чтобы изменить

общие:

добавить все, что вы хотите здесь

Основные Параметры Дисплея:

  Video Input Definition -> Digital
  Display Type -> RBG color
  sRGB -> check
  gamma value: somewhere over 250 would be ok

стандартные тайминги: (я отключил все, кроме времени id #1)

  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; в основном я буду указывать главная статья, описывающая преобразование, но подводя итог, вам придется

  1. strip все из файла, кроме шестнадцатеричной матрицы цифр
  2. скомпилировать это:

#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, объясненного в начале сообщения) и теперь на Nvidia X Server Настройки, вы должны быть в состоянии установить пользовательские разрешения.

5
отвечен lurscher 2023-03-12 07:28

вы должны быть в состоянии просто использовать приложение драйвера Nvidia, чтобы установить соответствующее разрешение и вывод на экран на HDTV.

откройте окно терминала и введите

sudo nvidia-settings

после Настройки Nvidia X Server открылся, нажмите на X Server Конфигурация Дисплея tab и настроить дисплей HDTV оттуда.

0
отвечен Adam Prax 2023-03-12 09:45

Это, вероятно, проблема контрольной суммы EDID. Если это так, просто добавьте это в свой /etc/X11 / xorg.conf:

Option     "UseEDID" "true"
Option     "IgnoreEDIDChecksum" "CRT,DFP,TV"   

В разделе "Устройство".

0
отвечен aliasbody 2023-03-12 12:02

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

1080p
hdtv
nvidia-graphics-card
ubuntu-10.10
xorg.conf
Вверх