グラフィックドライバの不具合のために ASTEC-X がフリーズする。または、起動できない
Windows に設定されているグラフィックドライバの不具合のために、 ASTEC-X が起動できなかったり、 動作中の ASTEC-X が不意に Windows ごとフリーズするなどの現象が発生する場合があります。
具体的なエラーメッセージが出ている場合以外にも、 以下のような現象が発生する場合には、 グラフィックドライバの不具合に当たっている場合があります。 特に、nVidia 製のドライバで、 OpenGL関連のドライバのバグに当たってしまうケースの報告が寄せられています。
- UNIX ホストへのログインや、 UNIX アプリケーションの起動などは問題なく実行できるのに、 アプリケーションのプルダウンメニューを表示するなど特定の操作をすると、 Windows ごとフリーズする。 (同じ操作で毎回発生するわけではなく、フリーズしない場合もある。)
- ASTEC-X の起動後直ちに、Windows のシステムエラーを出して ASTEC-X が異常終了する
- 単純な描画を連続して行っているときに不意に異常終了する。または、Windows ごとフリーズする。
(ファイルがたくさんあるディレクトリで ls -l を実行した結果を表示している場合など) - ASTEC-X のプロセスが常に CPU を 100% 近く占有する
グラフィックドライバの不具合が疑われる場合には、
- グラフィックドライバのバージョンアップを行う
- グラフィックドライバのアクセラレーションを無効にする
- GLX エクステンションを無効にする、または MesaGL に切り替える
などの対処を行ってみてください。
対処方法
ビデオドライバのバージョンアップを行う
グラフィックカードメーカーの Web サイトから最新版のドライバを入手したり、 Windows Update を利用して新しいドライバの入手を試みてください。
グラフィックドライバのアクセラレーションを無効にする
ドライバにもよりますが、
もし「ハードウェアアクセラレータ」に関する設定が行える場合は、
アクセラレーションのレベルを OFFにしたり、
パフォーマンスを最低にしてみてください。
「ハードウェアアクセラレータ」の設定を切り替えるには以下のようにします。
- Windows の壁紙のところで右クリックをして、 表示されるメニューから "プロパティ" を選び、 "画面のプロパティ" というパネルを開きます。
- "画面のプロパティ" パネルの [設定] タブを開いて、 右下の [詳細設定] ボタンを押すと、タイトルバーに 「プラグ アンド プレイ モニタと〜」と書かれたパネルが開きます。
- その中の [トラブルシューティング] のタブを開きます。 ここで、ハードウェアアクセラレータの設定を行ってください。
GLX エクステンションを無効にする、または MesaGL に切り替える
特に、nVidia のグラフィックカードで、 OpenGL 関連機能のバグにあたって ASTEC-X が起動できないという報告がいくつかございました。 もし、お使いの X アプリケーションが OpenGL を必要としない場合は、 GLX エクステンションを無効にするか、 GLX エクステンションのオプションを "MesaGL を使用する" に切り替えて試してみてください。
GLX エクステンションを切り替えるには、 ASTEC-X のコントロールパネルの "エクステンション" のパネルの "GLX" のチェックをはずしたり、 "WinGLを使用する" から、"MesaGLを使用する" に切り替えます。
ASTEC-Xでよくグラフィックカードのバグに遭遇する理由
ASTEC-Xの描画では、見ためは通常のWindowsアプリケーションと同じように文字列を書いたり線を書いたりしていますが、
必ずしも、単純にWindowsの文字列描画APIや線分描画APIを使っているわけではありません。
ASTEC-XはXの規約に従った描画を行いますが、
Windowsの描画機能はあまりXの規約とマッチしていないうえに、
できる限り高速に描画する必要があるため、
ASTEC-Xの場合、WindowsのAPIを複雑に組み合わせて使っています。
この結果、Xアプリケーションは普通に描画しているだけなのに、
めったに使われないパラメータの組み合わせで Windows API が使われることになり、
ディスプレイドライバの不具合が顕在化することがあります。