次のページ 前のページ 目次へ

7. "cirrus" ドライバでのトラブル対策

まず最初に、XF86Config で選択したデフォルトのモードをモニタが サポートしていること、つまり水平同期の上限が正しいことを確認してくださ い。まずは標準の 25.175 MHz のクロックの 640x480x256(水平同期に 31.5 だけを指定します)から始め、お使いの設定でドライバが動作することを確認 するのが良いでしょう。使われるデフォルトのモードは常にモード行に最初に 書かれたモードで、タイミングのセクションの解像度を指定するための最も高 いドットクロック値とともに使われます。

VESA 標準モードのタイミングは、一部のモニタで問題を起こすことがあるの で注意してください(水平同期信号を増やしてみましょう。つまり真ん中の 2 つの水平タイミング値の差を大きくするか、または全ての水平タイミングのパ ラメータを 16 か 32 の倍数にします)。

ビデオ信号が届いているが、画面が同期出来ない場合。

モニターが扱えないモードを使っているのです。標準でないモードを使ってい る場合、少し数値をいじる必要があるかもしれません。モニターが取り扱える 標準モードと標準周波数の場合、似たようなモードと周波数の組合せに対する 別の異なるタイミングを見つけてください。

高いドットクロックでの水平のぶれ

この問題は、スクロールのような描画操作が行われている時に顕著になります。 542x/3x/46/6x/754x を使う場合は、 "fifo_conservative" オプションを試してください。 これでうまく行かない時は、"fast_dram" オプション を試すか、ドットクロックを下げてみてください。これでも十分でない場合は、 "noaccel" オプションか、 "no_bitblt" オプションが多分有効でしょう。546x を 使っている時は、"fifo_aggressive" オプションを試すこともでき ます。 (描画操作に依存しないで)いつも画面全体が水平方向に波打ったり、揺れたり する現象です。おそらくドットクロックが高すぎるのでしょう。また、近い MCLK 値が衝突を起こしていることも考えられます。ドットクロックを下げて みてください。また、モードのタイミングをずらしてみても良いでしょう。2 番目の水平クロック値をいくらか増やしてみてください。ドットクロックが 65 MHz の 1024x768 モード(約 60Hz)では、次の値が役に立つでしょう:

 "1024x768"     65      1024 1116 1228 1328     768  783  789  818
Clockchip "cirrus" を用いてプログラマブルクロックを使っている 場合は、これを無効にし、デフォルトのクロック値の組合せを使ってください。
起動後にクラッシュやハングしてしまう(画面が真っ暗になることもあります)。

"noaccel" オプションを試してみましょう。これで動 作すれば、多少性能が良くなる "no_bitblt" を試して ください。 BIOS の設定が大丈夫かどうか確認してください。特に 0xa0000-0xaffff をキャッシングしないようにしてください。裏 DRAM のリフ レッシュをを無効にしても良いでしょう。

グラフィック操作の後にクラッシュやハングしたり、スクリーンにゴミが残る。

この問題が起こると、アクセラレータ機能のいずれかのバグや、あるいは BitBLT エンジンの問題に関係しているかもしれません。 "noaccel" オプションや "no_bitblt" オプションを試してみてください。また、 BIOS の設定も確認しましょう。

サーバが `Blitter timeout' というメッセージを出力する。

前の項目と同じです。

画面が垂直方向に周り込んでいる。(542x/3x/46 の場合)

DRAM の構成に問題があることを示しています。カードに 2 メガバイトのメモ リを搭載している場合は、"no_2mb_banksel" オプショ ンを試してください。ただし、1 メガバイトだけを仮想スクリーンに使う場合 は、videoram "1024" を使ってください。

端末ウィンドウの文字が崩れる。

標準でないビデオの実装についてこの問題が報告されています。 "no_bitblt" オプションを使ってください。

ノート PC 用チップセットで縞が出る、あるいはハングする。

この現象が起こるのは、ドットクロック値が高すぎて描画のためのバンド幅が 十分取れない場合(例: 512K バイトのカードで 40MHz を使う場合)や、(5422 のような形式の)アクセラレーション機能を使っている場合です。

時々テキストのピクセルがおかしくなったり、ウィンドウの枠を動かすとゴミピクセルが残る。

多分、MCLK の設定が高すぎることに関係しています(バンクモードが大丈夫で も、リニアアドレッシングで問題になることがあります)。

チップセットが検出できない。

持っているチップセットに最も近いものの型を強制的に指定してみましょう。

時々、おかしな短い線分(たいてい白い)が表示される

システムからのビデオメモリに対する BitBLT 操作における問題に関係してい ます。気になる場合には、"no_imageblt" オプション を試してみましょう。

うまくテキストモードが復元しない

この現象はいくつかの構成で報告されています。XFree86 3.1 では、SVGA サー バの検出結果が Chipset 行を要求し、543x のレジスタを壊していたこともあ ります。普通は、テキストモードのフォントをセットするユーティリティ (Linux では setfont, runx, restorefont)を使っ てフォントを復元することができます。

ドットクロックを非常に高くするとシステムの動作が不規則になる

カードやマザーボードの設計が悪いために、ビデオカードのドットクロックを 高くするとシステムの他の部分(例: ディスク I/O)と衝突することがあります。 この現象は 5428 ベースの PCI カードの一部で起こっています(これは滅多に ありません。というのも、5428 チップは PCI をサポートしていないからです)。

マウスカーソルが表示されなかったり、スクリーンに 2 つ表示される

ドットクロックが高い場合、グラフィックカードのハードウェアカーソルが正 しく動作しません。"sw_cursor" オプションを試すか、スクリーン のリフレッシュレートを下げましょう。

スクリーンの右端や下端にランダムなピクセルやゴミピクセルが現われる

この問題は普通、スクリーンのディスプレイサイズよりも大きい仮想スクリー ンのサイズを使っているときに起こります。ゴミピクセルはフレームバッファ の未使用の部分で、各スキャンラインがバイト境界にまたがらないように調整 している結果として起こります。余計なピクセルを無くすには、スクリーンの ピクセル幅が 128/(bpp 値) で割り切れるような表示モードを使うことです。

スクリーンが右端に水平に回り込む(546x)

上の項目と同じです。

スクリーンが最初は正しく表示されるが、その後真っ白になってしまう(564x)。

この問題は通常、色の深さが大きい時とスクリーンが速く書き換えられている 時(長いファイルを cat で出力している時や、大きいウィンドウをぐるぐると 動かしている時)に起こります。RamBus メモリが激しく使いすぎになるのです。 まずは Option "med_dram" を使ってください。これでも問題が解決 しなければ Option "slow_dram" を使います。

これ以外のスクリーン描画関連の問題については、"noaccel" オプ ションを試してください("no_bitblt" の効果が無い場合)。

このドキュメントに載っていないようなドライバ関連の問題が生じた場合や、 アクセラレーション付き機能のバグを発見した場合は、XFree86 チームに連絡 するか(現在のドライバのメンテナである Corin Anderson には、 corina@the4cs.com で連絡できます)、Usenet のニュースグループ "comp.windows.x.i386unix" に投稿を行ってください。

実際のところ、(成功でも失敗でも)報告は大歓迎です。テストがまだ行われて いない機器構成の場合はなおさらです。報告は BetaReport フォーム (report@XFree86.org にメールを出してください)を使って行うことができま す。そのうちに www.xfree86.org で公開されるベータリリースを狙 うというのもよいでしょう。


次のページ 前のページ 目次へ