web-dev-qa-db-ja.com

偽のモニターEDID情報

私のモニターはちょっと気難しいです。解像度を循環するプログラムを実行すると、モニターが数日間EDID情報の提供を拒否することがあります。

(/var/log/Xorg.0.log)
[   239.653] (II) fglrx(0): Restoring Recent Mode via PCS is not supported in RANDR 1.2 capable environments
[   260.113] (II) fglrx(0): Cannot get EDID information for CRT1
[   271.166] (II) fglrx(0): Cannot get EDID information for CRT1
(^ ran xrandr, this happens)

これにより、ビデオカードはサポートする最大解像度が1600x1200であると見なしますが、モニターのマニュアルに記載されている最適な1680x1050で実行していました。 xrandrは、そのモードをサポートされているものとしてリストしていません。

Wine を試していたため、Xorgがクラッシュし、再起動を余儀なくされたため、同じ問題が再び発生しています。

時々私はそれを取り戻す方法を理解し(私はちょうどその方法を忘れました)、そして時々それはそれ自身を修正します。

これが初めて発生したとき、ハードドライブの128バイトファイルに保存した read-edid を使用してバイナリEDID情報のバックアップを作成する方がよいと考えました。これは私の質問につながります:

ファイルからEDID情報を読み取り、モニターから取得しようとしないようにfglrxに指示するにはどうすればよいですか?


追加情報:

以前はこれがビデオカードの問題だと思っていましたが、新しいビデオカード(まだfglrxドライバー)と新しいVGAケーブルでも発生しています。

モニターは、グラフィックカードのVGAポートであるATI Radeon HD3200に接続されたWestinghouseLCM-22w3です。

私はそれについていくつかの調査を行いました、そして明らかにこれはLCM-22w3のいくぶん一般的な不満です、しかし誰も問題を解決する方法について何の考えも持っていないようです。

fglrx 8.92、xorg-server 1.9.5、kernel 2.6.38.7 x86_64Arch。

9
amphetamachine

EDIDブロッキングVGA KVMスイッチを使用したとき、ログイン後に小さなスクリプトを使用して解像度を修正しました。

xrandr --newmode "1600x1200_60.00"  162.00  1600 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync
xrandr --addmode VGA-1 1600x1200_60.00
xrandr --output VGA-1 --mode 1600x1200_60.00

どういうわけかxrandrからモードラインを取得したと思います(モニターを直接接続した状態で)。 X構成ファイルに入れてみましたが、バカなXサーバーがいろいろな理由で無視し続けていました。

4
fstx

あなたは試すかもしれません

Option "IgnoreEDID" "TRUE"

次に、モニターの情報を手動で指定します。 IgnoreEDIDが機能しない場合は、試してください

Option "UseEDIDFreqs" "FALSE"
Option "UseEDIDDpi" "FALSE"
1
Dr. JKL

無料ではない(大丈夫、かなり高価な)オプションの1つは、 GefenのDVI Detective を使用することです。これは、デバイスからEDID情報をキャッシュし、それを常にPCに提供するデバイスです。

KVMポートを切り替えた後、ディスプレイを再初期化しないDVI KVMに接続されたPCで以前にそれらを使用する必要がありました。それらはそのためにうまく機能し、あなたの使用にも機能するはずです。

0
afrazier