web-dev-qa-db-ja.com

Ubuntu 10.10:lcdhdtvの適切なモニター解像度の取得

私はUbuntu10.10 x86_64バージョンを実行しており、Nvidia 9800 GTを使用して、270.41.06Nvidiaドライバーをインストールしています このガイド 。 LG42LH30FR LCD TVがdviリンクに接続されています-> RGBPC入力

オーバースキャンなしで1024x768の解像度を取得できます(1080i = 1366x768を取得できますが、右側に隠された画面スペースがたくさんあり、どうしたらよいかわかりません)。フルHDを取得したい

WindowsでフルHD(1080p = 1920x1080)を取得できますXP 64ビット、Nvidiaコントロールパネルで作成されたカスタム解像度、xorg.conf構成を読み取ると、特定のモデリングを追加する必要があるようですモニター構成に移動しますが、このタスクに適切なオプションをどこで入手できるかわかりません

助言がありますか?

3
lurscher

これをxorg.conf画面セクションに追加することにより、画面でカスタムEDIDを使用してこれを行うことができました。

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

または、構成を生成することによって:

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

ここで大きな質問です、許容可能なEDID .binを生成する方法は?

Windows XPでは、2つのアプリケーションをインストールする必要がありました: PowerStrip (これは EDIDに関するウィキペディアの記事 で参照されています)

必要な他のアプリケーションは Phoenix EDID Designer です。

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 "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 LCD TVの場合、結果のモードラインは次のようになります。

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

これをモニターセクションに追加しましたが、機能しませんでした。そのため、カスタムEDIDを追加しました。


次にEDIDを作成します

Phoenix EDID Designerを開き、基本的にWindowsレジストリからEDIDをインポートし、それを変更のベースとして使用しました。これは、「色/確立されたタイミング」セクションにデータを入力する方法がわからなかったためです。うまくいけば賢明な値(私にとってはうまくいきました、多分それはでした)、とにかく、編集を許可する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バイトの.binEDIDファイルに変換するには、さらに1つの手順が必要です。基本的に私は 変換を説明する主要な記事 を指摘しますが、要約すると、

  1. strip数字の16進行列を除くファイルのすべて
  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サーバー設定で、カスタム解像度に設定できるはずです。

5
lurscher

Nvidiaのドライバーアプリケーションを使用するだけで、適切な解像度を設定し、HDTVへの出力を表示できるはずです。

ターミナルウィンドウを開いて、

Sudo nvidia-settings

Nvidia Xサーバー設定が開いたら、Xサーバーディスプレイ構成タブをクリックし、そこからHDTVディスプレイをセットアップします。

0
Adam Prax

これはおそらくEDIDチェックサムの問題です。もしそうなら、あなたの/etc/X11/xorg.confにこれを追加してください:

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

セクション「デバイス」。

0
aliasbody