
私は1920x1200
最大96kHz HorizSync
、76Hz VertRefresh
、205MHzのピクセルクロックを備えた最新のLEDディスプレイを持っています。
基本解像度に加えて、モニターは1600x1200
75Hzで(4:3)解像度で実行できます。
1600x1200 (0xa1) 202.500MHz +HSync +VSync
h: width 1600 start 1664 end 1856 total 2160 skew 0 clock 93.75KHz
v: height 1200 start 1201 end 1204 total 1250 clock 75.00Hz
800x600
さて、上記のモードと同じデュアルスキャンモードに切り替えました1600x1200
(また、75Hz;すべてのモデルラインは以下から得られます)。ここ):
xrandr --newmode "800x600d" 101.25 800 832 928 1080 600 600 602 625 DoubleScan +HSync +VSync
xrandr --addmode DP1 800x600d
結果ビデオパターンが正常に追加され、出力にはっきりと表示されますxrandr
。
800x600d (0x1f7) 101.250MHz +HSync +VSync DoubleScan
h: width 800 start 832 end 928 total 1080 skew 0 clock 93.75KHz
v: height 600 start 600 end 602 total 625 clock 75.00Hz
ただし、新しいモードに切り替えようとするとすぐにエラーが発生します。
# Mode by name
$ xrandr --output DP1 --mode 800x600d
xrandr: cannot find mode 800x600d
# Mode by id
$ xrandr --output DP1 --mode 0x1f7
xrandr: Configure crtc 0 failed
最新のグラフィックカードはデュアルスキャンモードでは動作できませんか?それともモニターのせいでいいですか?
答え1
部分的な答え、速い答え:
グラフィックカードは、もともとCRTC(CRTコントローラ)をベースにした従来のモデルで発展しました。6845、インデックス、データレジスタを使用して内部レジスタを変更します。これは、主要なグラフィックハードウェアスイート(Intel、Nvidia、ATI / AMDなど)とはまったく異なります。
従来のVGAでは、レジスタの1つの一般的なビットです。なぜなら、伝統的なVGAはまだデフォルトでは、すべてのグラフィックカードがサポートされ、これはまだ有効です。ただし、特にデジタル出力を駆動する回路が変更されたため、グラフィックカードの正確なモデルが必要であり、サポートされているかどうかを確認するにはデータシートを検索する必要があります。時にはモデルなどのデータシートが役に立ちますが、実験が必要です。
たとえば、次のように見てください。インテルG35データシート(すでに古いもの)を使用すると、セクション2.7に2つの「ディスプレイパイプ」が表示されますが、レジスタには従来のデュアルスキャンが表示されますCR09
。
VGAを使用して古いハードウェアを復元する場合は、カードに適したバージョンを取得できれば、2回の検索が行われます。
デュアルスキャンでModeLine
ビアを追加するxrandr
ことは、基本的にモデル行データ構造にフラグを設定することです。ドライバはこのフラグを解釈し、それを使用してレジスタを正しく設定する必要があり、これは(上記のデータシートに示すように)ハードウェアに大きく依存します。