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
> Thanks, applied as change #22936.
And thank you for applying this patch. But to be honest, I'm a little
disappointed. I expected it won't go in so easily and will trigger some
discussion here. But there was none. No typo corrections ("you mis-spelled
'floccinaucinihilipilification'"); no flames ("this patch is the worst thing
since non-sliced bread"). Nothing.
Someone should do something about it. This direction is not healthy for p5p.
Seriously.
-- Shlomi Fish
-- Post to perl5-porters ( http://www.nntp.perl.org/group/perl.perl5.porters/92352 )
Rule of Open-Source Programming #11:
When a developer says he will work on something, he or she means "maybe".
-- Shlomi Fish
-- "Rules of Open Source Programming"