_ 前回の更新から実に3か月も経過してしまいました。後編に入ります。最近ちょうどXFree86以外のサーバーも使っているので、ちょうどよいタイミングになりました。
前編で書いたとおりにXが動くようになれば幸いです。FreeBSDや各種LinuxのCD-ROMには数え切れないほどのXアプリケーションが入っています。このところの新バージョンではハードウェアの設定やデスクトップの設定がGUIで簡単に変更できるようになってきました。中でもTurboLinuxの1.4アップグレードでは、サウンドカードの設定がGUIでできます。ちょこちょこっとIRQやIO-port addressを入力していけば、なんと再起動なしでサウンドブラスタから音が出ました。ソースリストを書き換えてコンパイルっていう、時間と労力のかかるカーネル再構築の手順を踏まなくていいなんて、PC-UNIXとしては長足の進歩だと思います。商用Linuxのサービスぶりは目を見張るものがあります。もちろん、お手軽に設定できてしまうと、深い理解は得られないという弊害はいつもついてきますが……(その最たるものが---intoshや---dowsかも)。
動けば極楽で美しいXですが、動かないときの苦労といったらありません。動くまでは当然コンソールで試行錯誤する必要がありますし、startxのあとでだんまりしてしまって、Ctrl+Alt+BackSpaceでもプロセスを殺せない状態になることもままあります。Xが立ちあがらない原因としてはいくつかありますが、
モニターのリフレッシュレートがスキャンレンジを超えている。
ビデオカードの色数と解像度が不可能な組み合わせになっている。
正しい X server のバイナリをインストールしていない。
正しい X server にシンボリックリンクが張られていない。
と、ざっとこんなところでしょう。
経験的に言って、/usr/X11R6/bin/XF86Setupなどのユーティリティを使って大まかに設定したあと、テキストエディタで/etc/(X11/)XF86Configの中の使わない解像度とか色数の部分をコメントアウト(または削除)するというのが早道だと思います。リフレッシュレートだけが合っていないときは、Xの起動失敗のメッセージの中に「水平リフレッシュレートはなんぼ以上にしてよ!」というメッセージ(もちろん英語で)が出ますから、それに合わせていくということになります。色数に関しては、ビデオカードのメモリはいまどきは4MB以上のばかりなので、1024*768のフルカラーでも問題なく設定できるかと思います。
X server バイナリの正しいインストールというのは意外に盲点です。わたしもこないだハマったばかりです。XFree86 3.3.2で S3 ViRGE/GX2が動くようになったと聞いて、早速自宅でS3Vサーバーをインストールしたんですが、どうやってもXが動かないんですね。以前にFreeBSDのカレントからサーバーだけダウンロードして組み込んだときは確かに動いたんだが……記憶違いかな、とも思いました。LinuxとBSDにはバイナリに互換のないものもあるし、Linuxでは動作確認されてないのかもと少し弱気になりました。しかしTurboLinuxのアップグレードパッケージの裏ジャケットにははっきりと「ViRGE/GX2」の文字があります。平日の夜にほとんど徹夜状態で「viで修正→X起動→失敗」のサイクルを繰り返しました。うーん。どうにもならん。こういうときはDocumentに何か書いてあるかも……ということで読みたくもない英文Documentをエディタで開いてみます。すると、むむむ、GX2はSVGAサーバーを使う?らしい、です。貧弱な英語読解力ですが、そうらしいことはなんとなく感じ取れました。
XF86_SVGAのバイナリをgzipしてtarして手動で展開しました。たまにやるとパラメータ忘れてます。そして/usr/X11R6/bin/Xを削除します。この「X」の実体はシンボリックリンクですが、普通のファイルと同じように「rm X」で消えます。そして新しく「ln -s /usr/X11R6/bin/X XF86_SVGA」でSVGAサーバーにリンクしてやります。/etc/XF86Configについては繰り返し試行錯誤したので練りこまれているはず……ということで消さずにそのまま使いましょう。さて、緊張の一瞬です。startxと入れて「Enter」。立ちあがりました! きれいなAfterStepの画面です。ドキュメントを読むのは大切なことだと思いました。BSDでやったときは何メガものバイナリをダウンロードしなくてはいけなかったので、勢い慎重になってまずはドキュメントを読んだんでしょうね。完全に忘れてました。
XFree86はバージョン3.3.1でViRGE/GX, 3.3.2でViRGE/GX2 をサポートです。ノートパソコン用のビデオチップ ViRGE/MX も動くという話です。ノートでメジャーなNeoMAGICのチップは最新の3.3.2+パッチ当てで動くらしいです。「Libretto100でXFree86」という記事でSoftware Design 7月号P.88に設定方法が紹介されています。今年の初めに富士通のノートパソコンを買わないかという話が個人的に舞い込んだのですが、チップがこのNeoMAGICだったので見送りました。X非対応のチップは苦労しますので。
VRAM4MB級のビデオカードはずっとくだんのS3 ViRGE/GX2一枚こっきりだったのですが、この六月になって職場で配転があり、PCごと引越しをしたついでに、ビデオカードを新調しました。幕張の展示会で\1,980-で買ったATIのMach64の2MBから、いよいよ乗り換えです。Mach64はCOM4とIOアドレスが必ずバッティングするという以外は、非常にソツのない標準的なビデオカードでした。95もNTもXも無難に動いてました。新しく買ったビデオカードはPermedia2の8MB-AGPです。マザーがVIAのチップセットなのでSocket7でもAGPが使える!というのが売りだったのですが、最近では珍しいことではなくなりました。はじめてのAGPビデオカードです。さぞかし速いだろう!と予想していましたが、そうでもないですね。普通です。ネスケのスクロールはたしかに引っかからなくなったような気はします。
Windows98のベータ版で使っていますが、付属してきたCD-ROMに入っていたドライバだとウィンドウのタイトルバー周辺にごみが出てしまいます。美しくないので、3D LabsのWebサイトから最新版のドライバをダウンロードして組み込んだところ、解消しました。正式版のWin98には新しいドライバがついてくるんではないかと楽観しています。 ところでこのPermedia2というビデオチップなのですが、実はXFree86 3.3.2では今のところ動かないのです。しかし、Diamond Multimediaの「Fire GL 1000」という商品などでかなりメジャーになってきましたので、次期 X のバージョンではサポートされる線が濃厚です。したがってFreeBSDではいまのところ動かす術がありません。Accelerated-X の 4.1では動くという話ですが、体験版をダウンロードしてインストールしてみましたが、どうやってもXは立ちあがらなかったです(一週間くらいをこのために費やしてみたが、だめだったっす)。
しかし、なんとしてもPermedia2でXを動かそうという気持ちのあるあなた!落胆することはありません。商用Linuxのパッケージでは「Xglint」サーバーが付いているものも存在します。標準でglintサーバーが付属しているパッケージは「Turbo Linux (1.4)」「S.u.s.e Linux 5.2」などです。わたしは両方買ってしまいました^^;。商用のUNIXというと高価なイメージがあるかもしれませんが、この二つのパッケージは格安です。数千円でLaser5などで販売されています。ほかにも Metro X というサーバーもPermedia2が動くそうです。こちらはRed Hat Linuxにバンドルされています。わたしが今のところ使っているのはOS部分はTurboLinux、サーバーだけS.u.s.eのCD-ROMからXglintサーバーをpkg_addしました。ちゃんとXが動いています。この手を使えばFreeBSDでも、Xserverのコピーでいけるのではないか?という希望的観測が生まれますよね。抜かりありませんぜ。ちゃんと試してみました。結果は……動かなかったです。BSDとLinuxではバイナリの互換がないという意味のメッセージが出てきました。ソースからコンパイルすればなんとかなるのかもしれません。でもそこまでやる気は起きないので、意欲のあるかたはチャレンジしてみてもいいんじゃないでしょうか。
Permedia2はXFree86にリストされていませんので、FreeBSDでおなじみの「XF86Setup(前編参照)」ではセッティングできません。やるならLinux(RedHat系インストーラ)のXconfiguraterを使います。テキストベースのインストーラですが、すこし慣れれば使いやすいと感じられるようになります。
セッティングが終わってからのチューニングもそれほど苦労はありませんでした。チューニングは /usr/X11R6/bin/xvidtune で行います。「Auto」のボックスをチェックしとくと楽です。移動しすぎるとスキャンレンジを超えてしまうビデオカードもたまにありますが、だいたいこれで折り返しやゆがみは調整できます。モニタの仕様をきちんとXに伝えるには、etc(/X11)/XF86Configを直接viなどのテキストエディタで直したほうが楽ですね。先述のxvidtuneも(内部的には)このファイルを書き換えているだけなんです。
後半、PermediaやS3-GX2に特化した話となりましたが、一事が万事で、Xに対応してないビデオカードの場合、似たようなものを当たれば何とかなるかもしれない……ということです。それにしても Accelerated-X の体験版がぜんぜんいうこときかないのは困りました。Accelerated-Xは何万円もするソフトウェアなんだから、さくっと動いてほしかったなぁ。
フリーのUNIXで初心者の関門となる「X window system」について2回にわたり書かせていただきました。疑問や不明な点がある人!いっしょに克服していきましょう。UNIXは努力がそのまま実ります。努力しなければ何も身につきません。ヘルプが英語だとかエディタのviが思い通りにならないだとか、いちいち引っかかってしまいますが、時間をかけてマスターしていくしかありませんね。わたしも努力します。がんばりましょう。