2009年5月29日金曜日

NVIDIAドライバ

自分のビデオカードはGeForce3ですが、今まで汎用ドライバのまま使用していました。しかし、Debian5.0 (Lenny)でもNVIDIAのドライバがパッケージ(non-free)として用意されていることを知りインストールしてみました。
専用ドライバではビデオカードに最適化されているため描画速度がアップしたり、使用できる解像度やリフレッシュレートが増えます。
自分の環境ではビデオカードも大分古いこともあってか速度的には「多少スクロールが速くなったかな?」程度でしたが、リフレッシュレートは50hzから85hzに設定出来るようになったのでチラつきが減り見やすように思います。
上記の様にビデオ環境は少なからず改善しますが、導入には少々危険を伴います。ドライバのインストール自体は通常のパッケージと変わりは無いのですが、X Serverの設定ファイルである「xorg.conf」を弄る必要があるので最悪の場合X Window Systemが起動せずにGUIが使用出来なくなる恐れがあります。
以下にインストールと設定の手順を記しますが、実効する場合は慎重かつ、あくまで自己責任でお願いします。

インストールパッケージ

「nvidia-glx」または「nvidia-glx-legacy-96xx」
ドライバーはカード別に新旧あります。使用しているカードにあったものを選択します。
「Synapticパッケージマネージャ」で検索し、パッケージの説明を見れば対応カードを確認できます。
検索してもヒットしない場合は設定が「non-free」のパッケージに対応していないのでメニューの 設定>リポジトリ「Debian Software」で「DFSGに適合しないソフトウェア(non-free)」にチェックを入れます。

「nvidia-kernel-2.6.26-2-686」もしくは「nvidia-kernel-legacy-96xx-2.6.26-2-686」等。
使用しているドライバ及びカーネルに合ったものを選択します。

「nvidia-xconfig」
NVIDIAのカード、ドライバに合った「xorg.conf」を自動作成してくれます。

「nvidia-settings」
GUIで解像度等の設定が行えます。Macで言うとコントロールパネルです。

インストールが終了したら「xorg.conf」のコピーを取っておきます。これは設定を書き換えた後X Window Systemが起動しなくなった場合に設定を元に戻すために使用します。

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.copy

次に「xorg.conf」の設定をします。「Root Terminal」もしくはsuで以下を実行します。
実行するとNVIDIAのカード、ドライバ向けに「xorg.conf」を自動で書き換え、バックアップファイル(xorg.conf.backup)を作成します。

# nvidia-xconfig

PCを再起動します。

再起動後、X Window Systemが起動せずにコマンドラインで起動してしまった場合はrootでログインし、コピーしておいた「xorg.conf.copy」で「xorg.conf」を元に戻しますが、その前に今の状態の「xorg.conf」をコピーしておくと後の解決に役立つと思います。

「nvidia-xconfig」で設定された「xorg.conf」をコピーします。
# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.nvidia

コピーしておいた「xorg.conf.copy」で「xorg.conf」を元に戻します。
# cp /etc/X11/xorg.conf.copy /etc/X11/xorg.conf

PCを終了します。
# shutdown -h now

これで環境は「nvidia-xconfig」を実行する以前の状態に戻ります。
他にも「vi」というコマンドライン上で使用出来るテキストエディタで「xorg.conf」を修正する方法もあります。
「vi」の使用方法は「vi コマンド」等で検索すれば詳しい解説ページを見つけられます。

ドライバのインストール及び設定が成功した場合は起動時にNVIDIAのロゴが表示されます。
「nvidia-settings」を使用すればGUIで解像度等を設定出来ますが、root権限が無いと設定を書き換えることが出来ないので注意が必要です。
一般ユーザの場合アプリケーションメニューからでなく「Root Terminal」もしくはsuで「nvidia-settings」を呼び出します。

# nvidia-settings (root権限が無いとxorg.confに設定を書き込めません)

「xorg.conf」はビデオカードの設定の他にキーボードの設定も含んでいます。「nvidia-xconfig」の実行によりキーボードの設定が変更されてしまうので「xorg.conf」を直接開いてコピーしておいた以前の設定からキーボードの設定部分をコピー&ペーストします。

$ gedit /etc/X11/xorg.conf.copy (コピーしておいた「xorg.conf」を開きます)

$ gksu gedit /etc/X11/xorg.conf (現在の「xorg.conf」を編集可能な状態で開きます)

自分の場合だと以下の部分を

Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection

下記のように書き換えました。

Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "jp106"
Option "XkbLayout" "jp"
EndSection

参考までに自分の現在の「xorg.conf」を張っておきます。

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 1.0 (buildd@ninsei) Tue Jun 24 18:11:48 UTC 2008

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildd@ninsei) Fri Sep 5 22:23:08 UTC 2008

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection

Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "jp106"
Option "XkbLayout" "jp"
EndSection

Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
EndSection

Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
EndSection

Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
EndSection

Section "ServerFlags"
Option "Xinerama" "0"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Sony"
HorizSync 31.0 - 79.0
VertRefresh 56.0 - 85.0
Option "DPMS"
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection

Section "Device"
Identifier "Videocard0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce3"
EndSection

Section "Screen"

# Removed Option "metamodes" "1152x864_85 +0+0"
# Removed Option "metamodes" "1280x960 +0+0"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "1152x864_85 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

0 件のコメント:

コメントを投稿