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
Perilous to all of us are the devices of an art deeper than we ourselves
possess.
-- Gandalf the Grey [J.R.R. Tolkien, "Lord of the Rings"]
<rindolf> Deiu: which editor are you using?
<Deiu> Ugh, let me catch up with the convo first
<Deiu> And yeah, I use vim too
<rindolf> Deiu: ah good. If you were using Eight Megabytes And
Continuously Swapping , I would have to swap you with it!
<rindolf> I have a column of vim tips on one of my blogs.
<rindolf> I also like Escape-Meta-Alt-Control-Shift.
<rindolf> There are a lot of jokes about Emacs.
<Zuu> There are lots of jokes about your mom too ;)
<rindolf> Zuu: eMom
<Zuu> eh?
<rindolf> e-Macs -> eMum
<rindolf> "Your Mom is so fat, only Emacs takes more memory than her."
<Zuu> nope, doesnt work
<rindolf> Zuu: :-(
<Zuu> Your emacs is so fat that your mom could fit in it
<rindolf> Heh.
<Zuu> ahhh, yes, much better
<rindolf> Zuu++
<Zuu> :P
--> dbm has joined ##programming
* rindolf stores some key/value pairs in dbm
* Zuu stores some moms in dbm
<dbm> lol
<rindolf> Zuu: you overflowed him.
<Zuu> :>
<dbm> ;)
<rindolf> Or her, don't know.
<rindolf> them.
<dbm> 'him'
<rindolf> OK.
<rindolf> dbm: I don't recall your nick.
<dbm> dbm= dont bother me
<rindolf> don't be mean.
<dbm> ;)
<Zuu> or: do bother me
-- Your Emacs is so fat
-- ##programming, Freenode