デュアルスキャンX11モデルラインに切り替えようとすると、「crtc 0設定失敗」メッセージで失敗します。

デュアルスキャンX11モデルラインに切り替えようとすると、「crtc 0設定失敗」メッセージで失敗します。

私は1920x1200最大96kHz HorizSync、76Hz VertRefresh、205MHzのピクセルクロックを備えた最新のLEDディスプレイを持っています。

基本解像度に加えて、モニターは1600x120075Hzで(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ことは、基本的にモデル行データ構造にフラグを設定することです。ドライバはこのフラグを解釈し、それを使用してレジスタを正しく設定する必要があり、これは(上記のデータシートに示すように)ハードウェアに大きく依存します。

おすすめ記事