Linux 2.6が出てから結構経ちますが、昔の3Dカードのサポートは段々減ってくるようで、ちょっと寂しいですね。
自分の持っている機械のグラフィックは、ATI 3D Rage Proというもので、まだまだ
現役ですが、GLX/Xvideoのドライバはもう配布されていないようです。
そこで、昔
Unified DRI and XVideo Support for Mach64で手にいれたLinux 2.4用のドライバをちょっと書き直して、
Linux 2.6で使えるようにしました。バグなどがあったら報告いただけると
幸です。
Mach64 Linux 2.2.x/2.4.x
Mach64 Linux 2.6.0-testx
上のドライバはXFree86のバージョンが4.3.0のためのものです。自分の使っているSlackware-9.0などではそのまま使えましたが、 それ以外の場合は1からコンパイルする必要があるかもしれません。 (Xを立ち上げられなければもちろんだが、立ち上げてglxinfoとターミナルから入力した時に
という表示がされず
であれば立ち上がっていてもDRIはできていません。
)
その場合の手順を説明します。
まずXのソースをすべて手に入れます。(もしかしたら必要ないかもしれません。
distributionの状態によって異るようです。)
次に、以下のコマンドでCVSからファイルをとってきます。
まずlogonします。
次にファイルを取ります。
これでカレントディレクトリに./xc/xcとしてダウンロードされます。
次にpatchをdownloadします。
Unified DRI and XVideo Support for Mach64
で、下のほうの
からdownloadします。次に ./xc/programs/Xserver/hw/xfree86/drivers/atiに移動して
なりします。
あとは./xc/xcに移動して適当にXのソースのパスを設定して
make Worldしてmake installすればいいはずです。設定は
必要ないかもしれません。(もしエラーが起きたなら、make -i
で一通りインストールして後述のパッチつきのモジュールを
組み込めば良いでしょう。)
何か問題があれば、configなどを探して直すしかありません。
distributionによって違うことがあるので一概にはいえません。
どうしてもわからない時はメールを下さればお答え出来るかもしれません。
ところで、先ほどはmach64-0-0-5-branchをダウンロードしましたが、
最新はmach64-0-0-6-branchなので、書き換えれば
最新のが手に入ります。しかし、この2つは似ているようで
DRIマネージャの書き方が大きく違うために同じDRMカーネルモジュールでは
動きません。
附属しているものを基本的には使って下さい。
(make installでinstallされるが念のため
言っておくと./xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel
にある。ここでコンパイルされる。)
Linux-2.6.Xでは
最新でもDRMカーネルモジュールはコンパイルできなかったので
そのためにちょっと書換えたファイルを置いておきます。
つかいかたは両方共に、ディレクトリに入ってmake -f Makefile.mach64で
済むようにしてあります。できたmach64.koを
insmodしてやればあとはXを立ち上げるだけです。
directoryには別のcardのdriverもありますがcompileは保証しません。
また、注意点として、mach64-0-0-5では実行できるOpenGLプログラムがmach64-0-0-6では実行できない事があります。
このため前者の使用を推薦しますが、これはおそらくメモリがたりないからなのでしょう。
Linux-2.6.Xのためのmach64-0-0-X-branchのpatched kernel drm driver
for mach64-0-0-5
for mach64-0-0-6
Hello, mein kinder.
While both Gilad and yours truly are indubitably and inalienably right, it is
often that clients in their infinite (the hands - they have a life of their
own and will not type "wisdom") perversity will ask for such wonderful
contraptions as RTAI kernel running in RedHat 7.2 distribution with Mozilla
1.5 backported into it, the whole thing shouldred a-la the Tokya Underground
at 7am into a 16MB NAND flash running with a proprietary driver (Gilad - we
know the culprits, do we not?)...
What should the indie, the consultant, the Gitche Manitou of the right
solution, do in such a case? Shove the right thing down the client's gullet (I
did that, it is very trying to shove a 48-node cluster down ANYONE's gullet
and, truth be told, not very hygienic)? Let the client blithfully trundle
towards his/her/its doom? Lie outright, say you do this, do the other? What?
Jonathan? Gilad? Gil? Shahar? Oron? Danny? Lior?
-- Marc A. Volovic
-- Post to Linux-IL ( http://www.mail-archive.com/linux-il%40cs.huji.ac.il/msg44324.html )
Hindsight is always 20:20
-- One of Nadav Har'El's Email Signatures.