私は読んだここに投稿してください投稿の内容に基づいて理解しようとしますが、まだいくつかの質問があります。
/lib/firmware
たとえば、どこにありますか?/usr/src/linux/lib/firmware
それとも/usr/lib/firmware
別の場所にありますか?投稿に記載されているアドレスから事前に構築されたEDIDを使用し、Gvimなどのエディタを使用して調整し、次の情報を使用してカーネルに渡すことはできますか?設定する解像度は1600x900 @ 60です。
1: [H PIXELS RND] : 1600.000000 2: [V LINES RND] : 450.000000 3: [V FIELD RATE RQD] : 120.000000 4: [TOP MARGIN (LINES)] : 8.000000 5: [BOT MARGIN (LINES)] : 8.000000 6: [INTERLACE] : 0.500000 7: [H PERIOD EST] : 16.648841 8: [V SYNC+BP] : 33.000000 9: [V BACK PORCH] : 30.000000 10: [TOTAL V LINES] : 500.500000 11: [V FIELD RATE EST] : 120.008471 12: [H PERIOD] : 16.650017 13: [V FIELD RATE] : 120.000000 14: [V FRAME RATE] : 60.000000 15: [LEFT MARGIN (PIXELS)] : 32.000000 16: [RIGHT MARGIN (PIXELS)] : 32.000000 17: [TOTAL ACTIVE PIXELS] : 1664.000000 18: [IDEAL DUTY CYCLE] : 25.004995 19: [H BLANK (PIXELS)] : 560.000000 20: [TOTAL PIXELS] : 2224.000000 21: [PIXEL FREQ] : 133.573440 22: [H FREQ] : 60.060000 17: [H SYNC (PIXELS)] : 176.000000 18: [H FRONT PORCH (PIXELS)] : 104.000000 36: [V ODD FRONT PORCH(LINES)] : 1.500000
それでは、
edid.bin
ファイルはどこで入手できますか?それとも最初からEDIDファイルを作成する必要がありますか?では、EDIDファイルを作成する方法は?
ベストアンサー1
/lib/firmwareはどこにありますか?
EDIDモードファームウェアの最終位置はにある必要があります/lib/firmware/edid
。ただし、多くのLinuxディストリビューションでは、サンプルのEDIDモード設定ファームウェアソースとMakefileをLinuxカーネルドキュメントディレクトリに配置します。 Fedoraの場合、これはkernel-doc
パッケージで提供され、/usr/share/doc/kernel-doc-3.11.4/Documentation/EDID
モニター用のファームウェアをコンパイルした後、起動時にgrubがアクセスできる任意の場所にedidバイナリを配置できますが、ルールはです/lib/firmware/edid/
。
私のモニターの解像度に合わせて既存のedid.binファイルのサイズを変更できますか?
これらのedid.bin
ファイルはバイナリ形式なので、正しい調整方法は直感的ではありません。
EDIDファイルを最初から作成する方法は?
あなたが提供した投稿は、カスタムedidファイルを構築するための公式カーネル文書へのリンクを提供します。HOWTO.txt
上記で参照したカーネル文書ディレクトリのファイルにも同じ手順があります。たとえば、デフォルトでサンプルファームウェアファイルの1つを編集して、1024x768.S
モニターのパラメータを提供します。次に、提供されているものを使用してコンパイルし、Makefile
新しいファームウェアを使用するようにgrubを設定します。
私には、これを行うには2つのトリッキーなことがあります。 1つ目は、コンパイルする必要があるedidソースファイルを見つける場所です。 Fedoraはすでに上記の質問に答えています。
1024x768.S
2番目のトリッキーな点は、モニターに適した値を見つけることです。これはcvt
、必要なモデル行を生成する実行を実行し、いくつかの数学を実行することによって達成されます。 1600×900の解像度、60Hzのリフレッシュレート、およびブランキングを減らす(LCDに推奨)、次の利点があります。
[user@host ~]$ cvt 1600 900 60 -r
# 1600x900 59.82 Hz (CVT 1.44M9-R) hsync: 55.40 kHz; pclk: 97.50 MHz
Modeline "1600x900R" 97.50 1600 1648 1680 1760 900 903 908 926 +hsync -vsync
この出力の最後の行を次のガイドラインと一致させることができますHOWTO.txt
。
Please note that the EDID data structure expects the timing
values in a different way as compared to the standard X11 format.
X11:
HTimings: hdisp hsyncstart hsyncend htotal
VTimings: vdisp vsyncstart vsyncend vtotal
EDID:
#define XPIX hdisp
#define XBLANK htotal-hdisp
#define XOFFSET hsyncstart-hdisp
#define XPULSE hsyncend-hsyncstart
#define YPIX vdisp
#define YBLANK vtotal-vdisp
#define YOFFSET (63+(vsyncstart-vdisp))
#define YPULSE (63+(vsyncend-vsyncstart))
出力の最後の行の数字2 - 5 cvt
()1600 1648 1680 1760
は4つの「HTimings」パラメーター(hdisp hsyncstart hsyncend htotal
)、数字6 - 9(900 903 908 926
)は4つの「VTimings」パラメーター(vdisp vsyncstart vsyncend vtotal
)です。
最後に、最後の行に正しいCRC値が設定されるようにファームウェアを再コンパイルする必要があります(HOWTO.txt
詳細については参考資料を参照)。