VAIO SZ70のGeForceGo7400を有効にする

FluxboxをInstallした状態で使ってみても動作が遅かったのでnvidia-driversを適用してみました。

手順はGentooLinux nVidiaガイドを参考にしました。

1.kernel作成

# genkernel --menuconfig all

menuconfigで以下の設定を有効にする。

Loadable module support --->
[*] Enable loadable module support
Processor and Features --->
[*] MTRR (Memory Type Range Register) support
Device Drivers --->
Graphics Support ---><*> VESA VGA graphics support
Device Drivers --->
Character devices ---><*> /dev/agpgart (AGP Support)

以下の項目にチェックが入っていたらはずす。

Device Drivers --->
Graphics Support --->< > nVidia Framebuffer Support< > nVidia Riva support

Vesa driver typeはvesafb-tngに変更しました。

( ) vesafb
(X) vesafb-tng

2.nvidia-driverのインストール

# emerge nvidia-drivers

(genkernelできちんとパラメーターをあわせていないとbuild中にErrorが表示されます)

important項目に

Important: 新しいカーネルコンパイル(日本語訳)したり、または現在のカーネルを再コンパイルする度に、emerge nvidia-kernelを実行し、nVidiaモジュールを再インストールする必要があります。 nvidia-glxはカーネルの変更に影響されず、Xの再コンパイルや更新時でさえも再構築する必要はありません。なお、新しいドライバを使用している場合には、emerge nvidia-driversあるいはemerge nvidia-legacy-driversを実行して、 nVidiaモジュールを再インストールする必要があるでしょう。

とあったのですが、まだ未検証です。

3.カーネルモジュールの読み込み

# lsmod | grep nvidia && rmmod nvidia
# modprobe nvidia
# vi /etc/modules.autoload.d/kernel-2.6
nvidiaを追記
# modules-update

4.xorg.confの編集

# vi /etc/X11/xorg.conf
Section "Device"
Identifier "nVidia Inc. GeForce Go7400"
#Driver "nv"     #コメントアウト
Driver "nvidia"   #追加
VideoRam 131072    #128MBのVRAM設定
EndSection

Section "Module"
(...)
# Load "dri"      #コメントアウト
Load "glx"       #glxを追加
(...)
EndSection

Section "Screen"
(...)
DefaultDepth 16     #たぶんこの項目だけないので追記(16 or 24)
Subsection "Display"
(...)
EndSection

Depth16の項目も解像度を1280 800にしてみたけどそれは必要かどうか不明。。。

5.eselectの実行

# eselect opengl set nvidia
# gpasswd -a root video  #rootではなく普段使っているuserを入力してください

6.再起動


gtk-+2.4のエラーがでるとき

nvidia-driversをXより先にいれるとエラーがでてきてしまうみたい。
なので先にXをemergeするか、USEflagにXをいれてemerge cairoしなきゃだめみたいです。

nvidia-driversはVersionによって古いCardをサポートしていないです

当然のことなんですが、GentooLinux nVidiaガイドに書いてあるとおりにnvidia-driversをインストールしても1.0-9639ではなく100.14.11が入ってしまうためGeForce4シリーズはサポートされていませんでした。なので手順通りにやっても時期によってはうまくいかなくなるかもしれません。
とはいえ"nv"を使えばいいだけだし、3Dを使う必要も特にないのでできなくてもいいんだけどね…