■Vine Linuxすれっど■

このエントリーをはてなブックマークに追加
354300
>350
Vine2.1+XFree86 4.0.2にて、NVidia提供のドライバ(0.9.6)
でGeForce2がグリグリ動いてます。はまった部分だけ書きます。

カーネルドライバについてはソースに手を加える必要があるので
tarボールから構築する必要があります。makeして失敗させると
解りますがos-interface.c内のINTEL_I840とVIA_MVP4を含む
2行をコメントアウトするとmakeが通ります。
検索して/* */でコメントアウトするか大胆に行ごと削除します。

XFree86の4.0.xにはMesaが一部含まれていますがglu・glutが
含まれていません(くそ〜)。なんでOpenGL関係のプログラムを
実行or開発するのであればwww.mesa.orgからMesaのtarボール
を持ってきてglu・glutを入れる(もしくは面倒なんで全部入れる)
必要があります。

GLXドライバについてはバイナリ配布のみなので特に悩む必要は
ありません。ただし/usr/libと/usr/X11R6/lib内のlibGL.so
がNVidia提供のものとMesa版のものとがバッティングします。
そのためMesa版のsoファイルに張っているシンボリックリンク
をNvidia版へと張り直す必要があります。
 タイムスタンプで大体検討がつきますがlibGL.so.1.0.xが
NVidia版、libGL.so.1.2.xxxxがMesa版です。

他にもNVidia版とMesa版とで衝突するする可能性のある
ファイルはありますがこれはNVidia提供のFAQの該当項目、
http://www.nvidia.com/Products/OpenLinuxDwn.nsf/096readmefaq#GLX Install
を参考にしてください。個人的にはXFree86 4.0.1の時に
libglx.aがバッティングしてはまりました。これについては
/var/log/XF86なんちゃらログでglxモジュールが読み込まれた
時にベンダーがXFree86 Projectになっているので判明します。

あと事情があってinitrdを作り直したときにagpgartの忘れて
読み込まないままXを起動すると何故かSPECviewperf等々で
パフォーマンスがえらく向上しました。なんで今はagpgartを
知らないふりして組み込んでいませんがkonで画面が化けます。
 NVidiaのFAQを読む限りはもっと気の利いた素敵な方法が
ありそうです。面倒なんで試していませんが。

 最後にOpenGLでもEXTやARB等々のいわゆるExtensionsに該当
する関数等々を利用したプログラムはmakeが上手く通りませんし
実行も出来ません。NVidia提供のパッケージにはgl.h・glx.h
等々が含まれ無いためこれらのファイルはMesaのものを間借り
する形になっているのが原因かなとも思いますがそもそもEXT
なんか使いませんし面倒なんで解決策は探していません。
これについても気の利いたやり方を希望。

こんなところです。書くの疲れた(^^;)。