2014-02-01 の Gentoo Linux 作業記録(その 2:x11-drivers/nvidia-drivers)
- 前:2014-02-01 の Gentoo Linux 作業記録(その 1:/etc/fstab)
- 次:2014-02-01 の Gentoo Linux 作業記録(その 3:systemd)
x11-drivers/nvidia-drivers
最初の再起動の後、nVidia のプロプライエタリドライバを入れた。ビデオカードは GeForce GTX 460。この作業までは Xorg 関連のパッケージを emerge
しない。
参考文献
インストール前の設定
カーネル設定
Device Drivers --->
Graphics support --->
< > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
<*> Support for frame buffer devices --->
- 子項目をすべて無効化
Console display driver support --->
<*> Framebuffer Console Support
/etc/portage/make.conf
以下を追加。
INPUT_DEVICES="evdev" VIDEO_CARDS="nvidia"
/etc/portage/package.use
以下を追加。
x11-base/xorg-server udev
インストール
以下を実行。X サーバーと共に nVidia ドライバがインストールされる。
emerge --quiet-build xorg-server
ドライバはカーネルに依存しているため、カーネルの make
のたびに再インストールしなければならない。再インストール時は以下を実行する。
emerge --quiet-build nvidia-drivers
インストール後の設定
パーミッション
アクセラレーションを有効にするためには、ユーザーが video
グループに属していなければならない。そうでなければ、video
グループのユーザーを追加する。
# root で gpasswd -a ochaochaocha3 video
カーネルモジュールの設定
OpenRC ならば /etc/conf.d/modules
で modules
に nvidia
を追加する(スペース区切り)。自分の環境では nvidia
のみだったので以下のようになった。
modules="nvidia"
systemd ならば(ちょっと先取り)、/etc/modules-load.d/nvidia.conf
を作成し、以下のように書く。
nvidia
ここで、新しいカーネルで起動しモジュールを読み込むため、再起動する。
reboot
再起動したら、モジュールが読み込まれていることを確認する。
lsmod | grep nvidia # nvidia 10615409 0
/etc/portage/make.conf
USE
フラグに以下を追加する。
nvidia
xvmc
- XvMCNVIDIA サポート。高解像度の動画を見る際に有用とのこと。
USE
フラグ追加後、それを反映させる。
emerge --quiet-build --update --newuse --deep @world
OpenGL と OpenCL の有効化
以下を実行する。
eselect opengl set nvidia eselect opencl set nvidia
/etc/X11/xorg.conf
Xorg の設定前だと、「NVidia/nvidia-drivers#The X Server - Gentoo Wiki」や「Xorg/Configuration#Configuring Xorg - Gentoo Wiki」に載っている設定だけを行っても X サーバーを起動できない(「no screens found(EE)
」というエラーが出る)。
設定の雛形を作るには以下のコマンドが便利。/etc/X11/xorg.conf
が生成される。
nvidia-xconfig
続いて、生成された /etc/X11/xorg.conf
を修正する。自分の環境での概要は以下の通り。
- ビデオカード用に nVidia ドライバを使う。
- ディスプレイは 1 台の ProLite E2271HDS-B1。
- キーボードは JP106 キーボード。
- マウスは自動設定(マウス設定の部分を削除)。
ファイル内容の例を示す。
# nvidia-xconfig: X configuration file generated by nvidia-xconfig # nvidia-xconfig: version 331.38 (buildmeister@swio-display-x64-rhel04-15) Wed Jan 8 19:53:14 PST 2014 Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Files" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "evdev" Option "XkbLayout" "jp" Option "XkbModel" "jp106" EndSection Section "Monitor" Identifier "Monitor0" VendorName "iiyama" ModelName "PLE2271HDS-B1" HorizSync 30 - 80 # ディスプレイの仕様を見て設定する VertRefresh 55 - 75 # ディスプレイの仕様を見て設定する Option "DPMS" EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 8 Modes "1920x1080" "1680x1050" "1440x900" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 15 Modes "1920x1080" "1680x1050" "1440x900" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 16 Modes "1920x1080" "1680x1050" "1440x900" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "1920x1080" "1680x1050" "1440x900" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection
startx
X サーバーを起動し、設定が正しいことを確認する。
テスト用ウィンドウマネージャなどのインストール
twm
と xterm
、そしてカードテスト用の mesa-progs
をインストールする。
emerge --quiet-build twm xterm mesa-progs
startx
と direct rendering の確認
以下で X サーバーを起動する。エラーが出ず複数の xterm が最大解像度で起動したら成功。
startx
複数の xterm が起動したら、その内のどれかひとつで direct rendering が有効か調べる。Yes
が出れば、ここまでの設定はおそらくすべて正常。
glxinfo | grep direct # direct rendering: Yes
No
が出たら設定(特にカーネル)を見直す必要があるかも。あと SSH ポートフォワードの場合は Yes
にならない(これで勘違いした(笑))。
- 前:2014-02-01 の Gentoo Linux 作業記録(その 1:/etc/fstab)
- 次:2014-02-01 の Gentoo Linux 作業記録(その 3:systemd)