heads-up
NVIDIA Driver 195.22 for FreeBSD/amd64
release - 2009年12月3日、FreeBSD/amd64で動作するNVIDIAドライバのベータ版が 195.22(BETA)for FreeBSD x86/x86_64(7.3/8.0)released - nV News Forums において公開されました。FreeBSDで高性能グラフィックボードを活用するにはNVIDIAのグラフィックチップとNVIDIA製のデバイスドライバが必要です。しかしFreeBSD/i386向けのドライバしか提供されていなかったため、FreeBSD/amd64では高性能な3DレンダリングやCompizが利用できない状況にありました。
今回NVIDIAからFreeBSD/amd64向けのNVIDIAドライバが公開されたことで、FreeBSD/amd64においても高性能なグラフィック機能が利用できるようになりました。このベータ版ではドライバの性能改善や対応するハードウェアの追加が実施されている他、SLIのサポート機能も追加されています。SLIのサポートは実施されないと見られていましたが、どうらやサポートが実施されていくようです。
Install NVIDIA Driver 195.22 for FreeBSD/amd64
NVIDIA Driver 195.22 for FreeBSD/amd64を利用するには、次のバージョンのFreeBSDが必要です。ドライバを動作させるための変更が必要になるためです。
FreeBSD 9-CURRENT最新版
FreeBSD 8.0/amd またはこれ以降のバージョン
FreeBSD 7.3/amd またはこれ以降のバージョン(7.3がリリースされるまでは、__FreeBSD_version__ >= 702106の7-STABLEで利用できます)
Index of ftp://download.nvidia.com/XFree86/FreeBSD-x86_64/195.22/(ftp://download.nvidia.com/XFree86/FreeBSD-x86_64/195.22/)から「NVIDIA-FreeBSD-x86_64-195.22.tar.gz」をダウンロードしてきたら、たとえばx11/nvidia-driverを次のパッチのように変更します。これはあくまでも一時的なもので、最終的にはportがアップデートされてから入れ直してください。
リスト x11/nvidia-driverをNVIDIA Driver 195.22 for FreeBSD/amd64向けに書き換える例
diff -ur /usr/ports/x11/nvidia-driver.orig/Makefile /usr/ports/x11/nvidia-driver/Makefile
--- /usr/ports/x11/nvidia-driver.orig/Makefile 2009-12-06 19:42:59.000000000 +0900
+++ /usr/ports/x11/nvidia-driver/Makefile 2009-12-07 10:10:53.000000000 +0900
@@ -6,17 +6,17 @@
#
PORTNAME= nvidia-driver
-DISTVERSION?= 185.18.36
+DISTVERSION?= 195.22
PORTREVISION?= 0 # As a reminder it can be overridden
CATEGORIES= x11 kld
MASTER_SITES= ${MASTER_SITE_NVIDIA}
MASTER_SITE_SUBDIR= freebsd/${DISTVERSION}
-DISTNAME= NVIDIA-FreeBSD-x86-${DISTVERSION}
+DISTNAME= NVIDIA-FreeBSD-x86_64-${DISTVERSION}
MAINTAINER= danfe@FreeBSD.org
COMMENT= NVidia graphics card binary drivers for hardware OpenGL rendering
-ONLY_FOR_ARCHS= i386
+ONLY_FOR_ARCHS= i386 amd64
NO_PACKAGE= should be recompiled for a particular FreeBSD kernel
USE_GL= gl
diff -ur /root/nvidia-driver.orig/distinfo /root/nvidia-driver/distinfo
--- /root/nvidia-driver.orig/distinfo 2009-12-06 19:42:59.000000000 +0900
+++ /root/nvidia-driver/distinfo 2009-12-07 10:10:53.000000000 +0900
@@ -1,3 +1,6 @@
+MD5 (NVIDIA-FreeBSD-x86_64-195.22.tar.gz) = c9b0cdeb68d573556a38e16c02ffed55
+SHA256 (NVIDIA-FreeBSD-x86_64-195.22.tar.gz) = 3a6a0fc3003615c07090c04f2d5b41fa86cf8493309bf48eff8bcaa37126508c
+SIZE (NVIDIA-FreeBSD-x86_64-195.22.tar.gz) = 25503618
MD5 (NVIDIA-FreeBSD-x86-185.18.36.tar.gz) = feff4da79a8c3a2f194f46c95c545adb
SHA256 (NVIDIA-FreeBSD-x86-185.18.36.tar.gz) = 890b9543d3c81bccc72d60c653647a719c9037f8fc7a88144a18b2a012fbd4a7
SIZE (NVIDIA-FreeBSD-x86-185.18.36.tar.gz) = 19245550
Setup for NVIDIA Driver 195.22
セットアップの方法はi386版で行っていた内容と同じです。/etc/X11/xorg.confのドライバの指定を“ nv” から“ nvidia” に変更します。NVIDIA Settingsを使えばドライバの詳細な設定を簡単に生成したり書き換えることが可能です。Compiz Fusionを使えばウィンドウマネージャに対してさまざまなコンポーズ機能を提供できます。
x11/nvidia-settings - NVIDIAドライバのセッティングツール
x11-wm/compiz-fusion - Compiz Fusion
Compiz Fusionの設定にはccsmコマンド(CompizConfig設定マネージャ)を使います。設定→バックエンドの設定を「GConf」にして保存したら(設定を変更した時点で自動的に保存されています) 、「 compiz --replace gconf」のようにCompizを起動します。UIはEmeraldで設定します。Compiz起動後いタイトルバーが表示されない場合、「 ウィンドウの装飾」を有効にするとともに、コマンドに「emerald」を指定してからCompizを再起動してみてください。
図1 NVIDIAドライバのセッティングツール
図2 FreeBSD 9-CURRENT/amd64とCompiz Fusion - NVIDIA 9800GT
図3 Compiz Fusion - 展開プラグイン機能
図4 Compiz Fusion - ウィンドウの一覧表示機能
図5 ccsm CompizConfig設定マネージャ
図6 Compiz Fusion - デスクトップの壁機能
FreeBSD/amd64 for Workstation
3.2GB以上のメモリの活用やZFSの利用、2TBを越えるサイズのディスクの活用など、最新の機能を利用するにはamd64版のFreeBSDが効果的です。i386版は安定しているうえに高性能ですが、徐々にこれら最新のハードウェアやソフトウェアを活用しきれなくなりつつあります。
NVIDIAドライバはFreeBSD/amd64をワークステーションで活用するための最大の障壁のひとつでした。今回ドライバが提供されるようになったことで、FreeBSD/amd64をワークステーション用途で採用しやすくなります。またSLI機能が提供されるということから、高性能計算環境としてもFreeBSD/amd64が活用しやすくなります。