« ubuntu 7.10のtex環境 | メイン | Gutsyのフォルダ名を日本語から英語に直す »

ubuntu GutsyでXGLからAIGLXへ移行

Ubuntu Gutsyはデフォルトでかっこいい3Dエフェクトが(対応するVGAを使用していれば)有効になっている。
こいつは格好良くてかつ実用的なのでとてもよいのだが、いかんせん重たい。本当に重たい。
GeForce 8400GSのマシンでももっさりして気持ち悪い。
というか3Dエフェクトを切ってもFeistyより重たいので、これは何か別の理由がある気がした。

あまり3Dデスクトップ関係は詳しくないのだけれど、少し調べてみると以下のページが。
http://roganpalm.com/archives/558
http://piro.sakura.ne.jp/latest/blosxom/system/2007-10-28_ubuntu.htm

つまり要約すると、
・GutsyではデフォルトでXGLが使用されるが、こいつが重い原因である。代わりにAIGLXを使うと良い。
・XGLとかAIGLXとか言うのは、Xに置き換わるものだったりXの拡張機能だったりする。(よく分からない)

以下の手順でこれを実現する。実験したのはGeForce 8400GS搭載のマシン。
1. XGLを切る。~/.config/xserver-xglにdisableという空ファイルを作る。
2. AIGLXを使用可能にする。以下のように/etc/X11/xorg.confを修正する。
あ、もちろんnvidiaドライバは「制限つきドライバの管理」からインストール済みという前提で。


Section "Device"
>-------Identifier>-----"nVidia Corporation G80 [GeForce 8400 GS]"
>-------Driver>->-------"nvidia"    
>-------Busid>-->-------"PCI:3:0:0"
>-------Option>->-------"AddARGBVisuals">-------"True"
>-------Option>->-------"AddARGBGLXVisuals">----"True"     #trueであることを確認
>-------Option>->-------"NoLogo">-------"True"
EndSection
Section "Extensions" >->------->------->-------#セクションごと追加
Option "Composite" "Enable"
EndSection

Section "ServerLayout"
>-------Option>->-------"AIGLX">>-------"true">->-------#追加
>-------Identifier>-----"Default Layout"
screen "Default Screen"
>-------Inputdevice>----"Generic Keyboard"
>-------Inputdevice>----"Configured Mouse"
>-------
>-------# Uncomment if you have a wacom tablet
>-------#>------InputDevice "stylus">-------"SendCoreEvents"
>-------#>------InputDevice "cursor">-------"SendCoreEvents"
>-------#>------InputDevice "eraser">-------"SendCoreEvents"
EndSection

Section "Module"
>-------Load>--->-------"glx"
>-------Load>--->-------"dri">-->-------#追加
EndSection


以上のような変更を加えたら、Xを再起動する。
明らかに描画が早くなったが...XGLじゃなくてはいけない理由とかってあったのだろうか?
やっぱり3Dデスクトップ関係は仕様がコロコロ変わるので、ついていけないな....。

xorg.confの設定は自信が無いので、ツッコミ等ありましたらよろしくおねがいします。