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

15. SVGA Tseng ドライバに関するトラブルシューティング

まず最初に、XF86Config で指定した中から選択したデフォルトのモー ドが、お使いのディスプレイでサポートされていることを確かめてください。 つまり、水平同期の範囲が正しいことを確かめます。最初は(水平周波数 31.5 だけを指定することにより)クロック値 25.175MHz で標準の 640x480x256 を 使い、お使いの機器構成でドライバが動作することを確かめるとよいでしょう。 使用されるデフォルトのモードは必ず、モード行に最初に書かれている行で、 タイミングのセクションに書かれている、その解像度に対してリストされた最 も高いドットクロック値を持つものになります。

一般的なヒントをいくつか挙げておきます:

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

ビデオ信号は出ていますが、画面が同期しない

モニタが扱えないモードを使っています。これが非標準のモードであれば、タ イミングを少しずらす必要があるかもしれません。モニタが扱えるはずである 標準のモードと周波数であれば、同様のモードと組み合わせに対する別のタイ ミングを見つけてください。

ドットクロック値を高くすると水平方向にぶれる

この問題は、スクロールや blit 操作のような描画機能の動作中に特に顕著に なります。現時点ではこの問題の簡単な解決方法はありませんが、 "fast_dram" オプションを試したり、ドットクロック値を下げるな どしてみてください。それでも不十分であれば、"noaccel" オプショ ンを使えばほぼ確実に問題が解決するでしょう(RAMDAC が使えるバンド幅が多 くなるためです)。ほとんどの場合、この原因は RAMDAC に十分速くピクセル データを送ることができないビデオメモリにあり、そのためにゴミが出るので す。

画面が「波打つ」

画面全体が(描画操作とは無関係に)ずっと水平に揺れたり震えたりします。た ぶんドットクロック値が高すぎるのでしょう。また、近い MCLK 値が衝突して いることも考えられます。このような場合には、ドットクロック値を低くして みましょう(0.5MHz だけ下げればうまく動作することもあります)。モードの タイミングをずらしてみてもよいでしょう。水平方向の 2 番目の値を少し増 やしてみてください。うまく動作すると思われる、ドットクロック値が 65MHz の 1024x768 (約 60Hz)の例を以下に示します:

 "1024x768"     65      1024 1116 1228 1328     768  783  789  818
起動の後にクラッシュやハングする(たぶん画面は真っ暗になります)

"noaccel" オプションを試してください。BIOS の設定が正しいこと を確認してください。特に、0xa0000-0xaffff のキャッシュは無効にしてくだ さい。裏 DRAM のリフレッシュを無効にしても問題が解決するかもしれません。

Linux システムの場合は、カーネルで「APM」(電源管理)のサポートを有効に していると、X サーバが省電力モードや画面が真っ暗な状態で起動することが あります。APM のサポートを無効にしてカーネルを再構築してください。

グラフィックス操作を行った後にクラッシュやハングしたり、画面にゴミが表示される

これはアクセラレーション付きの機能のいずれかのバグか、BitBLT エンジン の問題に関係するかもしれません。"noaccel" オプションを試して ください。また、BIOS の設定も確かめてください。

サーバが `ACL: TIMEOUT' というメッセージを出力する

前の項目と同じです。しかし一部のシステムでは、問題はどうやっても解決で きません。これは使っているオペレーティングシステムに関連しているかもし れません(この問題は Linux だけで見られ、カーネルのバージョンにまで依存 します)。MemBase 値を変えると問題が解決することもあります。

テキスト中のピクセルが時々狂ったり、ウィンドウの枠を動かした時にゴミピクセルが出る

おそらく MCLK 値の設定が高すぎることに関係しています(バンク切り替えモー ドで OK であっても、リニアアドレッシングモードで問題が起こることがあり ます)。(全てでなくとも)ほとんどの ET6000 カードは性能を出すために MCLK を少しオーバークロックして売っており(現在の標準値は 90 か 92 MHz で す)、これにより問題が起こることがあります。現時点ではこれを解決する方 法はありません。ゴミピクセルが一時的なもの(スクリーン上で動くものが無 くなるとすぐ消える)であれば、おそらくメモリのバンド幅が原因です。唯一 の解決方法はアクセラレーションを無効にすることか、(これで解決しなけれ ば)ピクセルクロック値を低くすることです。

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

この問題は一部の機器で報告されています。Chipset 行の設定で問題が解決す ることがあります。通常はテキストモードのフォントをセットするユーティリ ティを使えば、うまく復元ができるはずです(Linux の場合は setfont, runx, restorefont)。

ドライバのアクセラレーション付きの機能を使うと、画面が真っ暗や真っ青になる

アイコン(ピックスマップ)をいくつか表示しただけで画面が真っ暗や真っ青に なるになる場合には、このセクションの内容が当てはまります。

この現象には原因がいくつかあります。

原因の 1 つはメモリの量が正しく検出(指定)されていないことです。サーバ の自動検出機構が検出した値が多すぎる場合、アクセラレーション付きの機能 は動作しないでしょう。この場合には XF86Config ファイルでメモ リの量を定義してください。この問題はメモリ 2.25 MB の ET6000 カードの 一部で時々起こり、サーバが 2.25MB ではなく 2.5MB と検出するようです(こ の場合に限れば、videoram "2304" を追加してください)。

これでうまくいかない場合には、アクセラレーションを無効にする(オプショ ン "noaccel")しか解決方法はありません。

DMA ハードウェアに関する問題(フロッピー、テープ)

一部のシステムでは、アクセラレーション付きのサーバは ISA DMA を使う他 のハードウェアと衝突します。最も顕著なのは、PC のフロッピーコントロー ラとサウンドカードです。フロッピーインタフェースは、バスを長く占有され すぎるとうまく動作できません。このような状態はアクセラレーション付きの 大量の操作を行った時に起こります。例えば、Linux-ftape モジュール(フロッ ピー-テープのドライバ)は、X サーバの使用中にバックアップの作成や書き戻 しの操作を行うと、大量の「書き込みエラー」メッセージを出力します。 このエラーは致命的なものではありませんが、それはオペレーティングシステ ムがこういった情報をいかにうまく処理するかにかかっています。Linux はう まく処理するようですが。

解決法は 2 通り考えられます。"noaccel" オプションを使ってアク セラレーションを無効にするか、"pci_retry" を削除して PCI のリ トライ機能(この機能はバスの遅延を大きくします)を無効にすることです。 これにより、アクセラレーション付きの操作が少しだけ遅くなります。

"pci_retry" が適用されるのは PCI バスのシステムだけではなく、 他のバスの場合にも同様の影響を与えます。

"Cannot read colourmap from VGA. Will restore with default" というエラーが出る

このエラーメッセージが出た場合、サーバは RAMDAC を正しく初期化できず、 デフォルトのカラーマップを復元しようとしています。 一部のサポートされていない RAMDAC の場合、この動作は全ての色がまとめて 削除されてしまうという悪影響を及ぼし、色がおかしくなってしまったり、画 面が完全に真っ黒になってしまうでしょう。こうなった場合には、XF86Config ファイルの Device セクションに ramdac "normal" という行を追加 しましょう。大抵の場合、色の問題はこれで解決します。

サーバが報告する ModeLine の値がピクセルクロックの半分だけなのですが?

ET4000W32p カードを 8bpp で使う場合、75MHz 以上のクロックを使う一部の モード(例: ピクセルクロック値が 95MHz の 1152x910 モード)では、X サー バの出力に以下のメッセージが含まれます。

(--) SVGA: Mode "1152x910" will use pixel multiplexing

And later, when the accepted modelines are reported:

(**) SVGA: Mode "1152x910": mode clock = 47.500

ピクセルの多重化が行われているので、これは正常な動作です。クロックパル スごとにピクセル 2 つが RAMDAC に送られるため、半分のクロックしか必要 としません。

他に画面描画関連の問題があれば、"noaccel" オプションを試して ください。

このドキュメントに書かれていないドライバ関連の問題に出会ったり、アクセ ラレーション付きの機能にバグを見つけた場合には、XFree86 チームに連絡し てください。

実際のところ、報告(成功・失敗のいずれでも)は大歓迎です。特に、今までテ ストが行われていない機器構成の場合は助かります。報告を行うには、 BetaReport フォーム を使います(report@XFree86.org 宛にメールで送ってく ださい)。www.xfree86.org に現われるベータリリースを待つのも良 いでしょう。


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