NVIDIAなグラボの使い方

あまり知られていないと思いますが(単に私が知らないだけです)、Solarisを含めてUnix用の
グラフィックカードのドライバとして、NVIDIAさんはけっこうがんばってドライバを提供してくれていると思います。

NVIDIA:Unix Drivers

普段のデスクトップはWindowsSolaris/Linuxなんて、sshで触るとか、ちょっと設定さわる時しかGUI使わない!という人が大半なんだろうとは思います。

まぁ大体はOSに含まれているドライバでなんとかなるのですが、、、今回少しハマッタのでその作業メモも兼ねて。

nVidia Solaris x64/x86用ドライバ
上記のリンク先から辿れますが、ドライバのパッケージが3種類に分かれています。(2011/04)


Latest Version: 270.41.06
Latest Legacy GPU version (96.43.xx series): 96.43.19
Latest Legacy GPU version (173.14.xx series): 173.14.28
なので、自分が使おうと思っているH/Wから、使用するドライバを選びます。
今回は、"GeForce FX5700"という化石のようなグラボを頂いたので、それぞれのリンク先の"Supported products" を調べます。
=> Legacy GPU version 173.14.28 で使えることがわかります。


○Solaris11 Express にデフォルトで入っているドライバ


$ pkginfo |grep -i nvd
system NVDAgraphics NVIDIA Graphics System Software
system NVDAgraphicsr NVIDIA Graphics System Device Driver
$ pkginfo -l NVDAgraphicsr
PKGINST: NVDAgraphicsr
NAME: NVIDIA Graphics System Device Driver
CATEGORY: system,graphics
ARCH: i386
VERSION: 190.53,REV=2010.01.20.20.57
BASEDIR: /
VENDOR: NVIDIA Corporation
DESC: Kernel Drivers for NVIDIA Quadro graphics
INSTDATE: Mar 02 2010 12:51
HOTLINE: Please contact your local service provider
STATUS: completely installed
こんな感じ。まぁ、そこそこ新しいカードなら素のドライバでも動きそうです。
今回のものは、Legacyドライバなので動きませんでしたが。


○ドライバの入れ替えなどなど

  1. 新しいドライバの展開
  2. 新しいBEの作成
  3. 新しいBEのNVIDIAドライバの入れ替え
  4. 新しいBEでブート

という感じで実施しました。ここを参考に


$ wget http://us.download.nvidia.com/solaris/173.14.28/NVIDIA-Solaris-x86-173.14.28.run
$ sh NVIDIA-Solaris-x86-173.14.28.run -x
$ ls NVIDIA-Solaris-x86-173.14.28/
NVDAgraphics NVDAgraphicsr gfx_private install


$ pfexec beadm create -a solaris11-151a_nvidia
$ pfexec beadm mount solaris11-151a_nvidia /mnt


$ pfexec pkgrm -R /mnt NVDAgraphics
(失敗した)
$ pfexec pkgrm -R /mnt NVDAgraphicsr
(失敗した)
$ pfexec pkgadd -R /mnt -d .
...
Installation of was successful.
...
Installation of was successful.
$
$ cp -p gfx_private/SunOS-5.11/gfx_private /mnt/kernel/misc/
$ cp -p gfx_private/SunOS-5.11/amd64/gfx_private /mnt/kernel/amd64/
(chown とかは適時忘れないように)
$ pfexec beadm umount solaris11-151a_nvidia
$ pfexec init 6

※昔はpkgrmとか成功した記憶があったんですが、さっき試したら失敗した。(別H/W)
 まぁ上書きするので実害はないと思いますが、気持ち悪い。

リブート前に、/etc/X11/xorg.conf が存在するならrenameして置いて、デフォルト状態で立ち上がるようにしといたほうがいいと思います。