Linux&FreeBSD ハードウェア設定

YAMAMORI Takenori ●yamamori

■グラフィックカードの変更

グラフィックカードを変更した場合,Xサーバの再設定が必要です. Xサーバの設定ツールとしては,XFree86を使用したPC UNIX一般では, XF86Setupがよく用いられます .

一方,Vineなどのredhat系Linuxでは,XF86Setupももちろん使えますが, 標準的にはXconfiguratorが用いられ,インストール時にインストーラ内部から 起動されているのも,このXconfiguratorです.
(参考:Xconfigurator の攻略

Xconfigurator については,本誌夏号Vol.1 P.6に,「特製フローチャート」として 全体の流れを書いていますので,こちらも御参照下さい.

Xconfiguratorは通常,コンソール上で起動しますが,日本語表示のため, 先にkonの起動が必要です.konが使えない環境などの場合は, Xconfiguratorを英語モードで起動しますが,その場合,Vineでは, 環境変数LANGより優先されるLANGUAGEの方をC に変更します.

Xconfiguratorは,それ自体はXサーバを使わず, ターミナルモードで動作しますので,kterm上でも動作可能です. すでに設定済みのXサーバを再設定するような場合はこれでもOKです.

また,別のマシンのkterm上などから,rloginなどで入って, そこでXconfiguratorを実行することも実はできます. ただしこの場合は,最後の部分の「Xの起動テスト」の画面が見えず, エラーとして扱われて面倒なことになりますので, 最後の「Xの起動テスト」 図(x11-test.gif)は, スキップを選んで完了させることになります.


すでにXF86Setupの方の使い方に慣れていて,Xconfigurator を使う場合の注意を書きます.

Xconfiguratorは既存のXF86Config を自動的にはバックアップせず, 警告なしに上書きします.そして,そのセーブのタイミングは, 図(x11-test.gif)の「Xの起動テスト」の前なのです. 「Xの起動テスト」のあと,正常に起動した場合のみ 「設定ファイルを保存しました」と,あたかもここでセーブしているような 表示が出ますが,実はそうではないのです.

以上のことから,Xconfiguratorの起動前には,必ず自分で XF86Configのバックアップを取っておいて下さい.

また,XF86Setupの場合,XF86Config ファイルのセーブ先のデフォルトは,通常は/etc/XF86Config で,また,/etc/XF86Configが無く,/etc/X11/XF86Config がすでに存在する場合は /etc/X11/XF86Configとなるようですが,Xconfigurator の場合は,セーブ場所は/etc/X11/XF86Configに固定されています.

そして,Xサーバ自体は,/etc/XF86Config/etc/X11/XF86Config の両方が存在する場合,/etc/XF86Configを優先します.

このため,以前にXF86Setupで設定したことがあって, /etc/XF86Configが存在している場合,その後にいくらXconfigurator で設定し直しても設定が変わらないという状態にもなり得ますので,注意が必要です.

もうひとつ,Xサーバへのシンボリックリンクについての注意が必要です. /etc/X11/Xからは,たとえば/usr/X11R6/bin/XF86_SVGAなどの, 実際に使用するXサーバへのシンボリックリンクが張られていなければなりませんが, XF86Setupの場合は,/etc/X11/Xが存在していない場合に, 最後にシンボリックリンクを作る旨の確認メニューが出ます.

一方,Xconfiguratorの場合は,最初の方の,カードの自動検出,または Xサーバの手動選択のあと,そのXサーバが実際に存在していると, 次の「モニタセットアップ」の画面に移る直前で, 暗黙のうちにシンボリックリンクが張り直されます. ということで,こちらも注意が必要です.


それでは,実際にグラフィックカードを交換してみた時の様子を書きます. 使用したカードは,機材の都合で,以下のようなものです.

最初は,Matrox Millenniumを挿した状態で,Vine 1.1をインストールしました. こちらは,Xconfiguratorで自動認識され,図(x11-svga.gif) 特に何も考えずにそのまま画面を進めれば設定できてしまいました.

ちなみに,/usr/X11R6/bin/SuperProbeの出力は以下のようになっています.

Matrox Millennium
SuperProbeの出力
----
First video: Super-VGA
        Chipset: Matrox Millennium (PCI Probed)
        RAMDAC:  TI ViewPoint3026 24-bit TrueColor DAC w/cursor,pixel-mux,clock
                 (with 6-bit wide lookup tables (or in 6-bit mode))
----

次に,以下のようなカードに交換してブートしてみました.

S3 Vision 968
SuperProbeの出力
----
First video: Super-VGA
        Chipset: S3 Vision968 (PCI Probed)
        Memory:  4096 Kbytes
        RAMDAC:  IBM RGB524 24-bit TrueColor DAC w/cursor,pixel-mux,clock
                 (with 6-bit wide lookup tables (or in 6-bit mode))
                 (programmable for 6/8-bit wide lookup tables)
----

このカードは,標準ではXF86_S3サーバを使用するはずなので, 設定変更前にstartxしても,立ち上がるわけが無いと思っていましたが, 恐いもの見たさにstartxしてみると,何と立ち上がってしまいました. XFree86では,いずれは各種XサーバをXF86_SVGAサーバに統合する方向 だそうですし,現状でもある程度の互換性はあるのでしょう.

しかし,ここで改めてXconfiguratorで設定しようとすると, 図(x11-s3.gif)のようにXF86_S3サーバが自動的に選択され, その後,インストール時とは違って,以下のエラーメッセージを出して 終了してしまいます.

 Server doesn't exist, can't continue.
../../usr/X11R6/bin/XF86_S3 を試しました

Xconfiguratorは,インストール時なら,必要なXサーバを自動的に インストールしてくれますが,インストール後の場合は面倒を 見てくれないのです.

そこで,Vine 1.1のCD-ROMをドライブに入れて, 以下のようにしてインストールし,再びXconfiguratorを実行し直しました.

# mount /mnt/cdrom
# cd /mnt/cdrom/Vine/RPMS
# rpm -ivh XFree86-S3-3.3.3.1_jp-1.i386.rpm

これで,問題なく設定できました.

ところで,この例のように,カードがXF86_SVGAでも使える場合で, あえてXF86_SVGAを選択したいという場合は,

Xconfigurator --expert

とオプションをつけて起動します.

すると,カードは通常通り自動検出されますが, そのあとの画面でカードを選ぶことができ, ここで「不明なカード」を選んで, 図(x11-unknown.gif) 次の画面でSVGAを選ぶことができます. 図(x11-select.gif)

なお,カードによっては,図(x11-unknown.gif)が出ずに, すぐに図(x11-select.gif)に行くこともあるようです.


もうひとつ,以下のようなカードに交換してみました.

ATI Mach64
SuperProbeの出力
----
First video: Super-VGA
        Chipset: ATI 88800GX-D (Port Probed)
        Memory:  2048 Kbytes
        RAMDAC:  ATI 68860 15/15/24-bit DAC w/pixel-mux
                 (with 6-bit wide lookup tables (or in 6-bit mode))
                 (programmable for 6/8-bit wide lookup tables)
        Attached graphics coprocessor:
                Chipset: ATI Mach64
                Memory:  2048 Kbytes
----

Xconfiguratorを実行すると, 図(x11-mach64.gif) のように検出されました.そこでいったんXconfiguratorを終了し, 以下のようにXF86_Mach64をインストールしました.

# mount /mnt/cdrom
# cd /mnt/cdrom/Vine/RPMS
# rpm -ivh XFree86-Mach64-3.3.3.1_jp-1.i386.rpm

これであとは特に問題なく設定できてしまいました.

今回の場合,幸か不幸かすんなりとXサーバの設定変更ができてしまったため, 逆にあまりトラブルシューティングのスキルが上がらなかったかも知れませんが, あと,いくつか思いつくポイントを上げておきます.


To「Linux&FreeBSD ハードウェア設定」index


このページは、技術評論社 Linux×BSD HYPER PRESS Vol.2秋号、『もう困らない!Linux&FreeBSD ハードウェア設定テクニック』 の原稿を元に、Web 用に再構成したものです。
To 謎の処理系 SunOS 4.1.4 Home
yamamori