FreeBSD 9.0でxorg-server 1.10.6を試す
先頃FreeBSDのportsからインストール可能なxorg-serverの既定のバージョンが更新されました.この更新のついで(かどうかは分かりませんが)により新しいxorg-server 1.10.6をインストールするためのKNOBが追加されたとのことですので,今日はこれを試してみます.ちなみに,この新しいxorg-serverを利用するにはNvidiaのGPUかIntelの内蔵GPUが必要なようです.また,後者の場合,さらにKMS (Kernel Mode Setting)のサポートが必要です.
今日はFreeBSD 9.0上で,Sandy Bridgeの内蔵GPUについて試すつもりですので,KMSのサポートを追加するところからはじめます.まず,カーネルのソースコードを/usr/src
に展開しておきます.Subversionをインストールしないのであればベースシステムのcsup
を使えば良いでしょう.
csup -g -L 2 /etc/csup/standard-supfile
ただし,/etc/csup/standard-supfile
を以下の内容で記述しておきます.
*default host=cvsup.jp.FreeBSD.org *default base=/var/db *default prefix=/usr *default release=cvs tag=RELENG_9_0 *default delete use-rel-suffix src-sys src-sys-crypto
続いて,ソースコードに若干の修正を加えます.
--- i915_suspend.c.orig 2012-04-25 22:24:20.000000000 +0900 +++ i915_suspend.c 2012-04-25 22:25:11.000000000 +0900 @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/drm/i915_suspend.c,v 1.4.4.1.2.1 2011/11/11 04:20:22 kensmith Exp $"); +__FBSDID("$FreeBSD$"); #include "dev/drm/drmP.h" #include "dev/drm/drm.h"
KMSのサポートを追加するために,Intel GPU patch 13.7 for stable/9 and releng/9.0より9.0向けのパッチを入手し,以下のように適用します.
cd /usr/src patch -sp1 < /tmp/drm-all.13.7-releng9.0.patch
カーネルを再構築,インストールして再起動します.
make buildkernel make installkernel shutdown -r now
続いてXorgをインストールします.安全のためには新規インストールをすべきでしょう.新しいxorg-serverのインストールにはx11-servers/xorg-server
にWITH_NEW_XORG
なるKNOBを.KMSのサポート追加にはgraphics/libdrm
をWITH_KMS
なるKNOBを与えてインストールする必要がありますので,これらを/etc/make.conf
にでも追加しておきましょう.
# for xorg-server 1.10.6 and KMS support WITH_NEW_XORG=yes WITH_KMS=yes
新規インストールの場合はmeta portのインストールを行えば良いでしょう.
cd /usr/ports/x11/xorg make install clean cd /usr/ports/x11-drivers/xf86-video-intel make install clean
インストールが成功すればxorg.conf
でintel
ドライバを選択することでXorgを利用できます.著者の環境では以下のようになりました.
[ 145.925] (II) Module intel: vendor="X.Org Foundation" [ 145.925] compiled for 1.10.6, module version = 2.17.0 [ 145.925] Module class: X.Org Video Driver [ 145.925] ABI class: X.Org Video Driver, version 10.0 [ 145.925] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, 915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45, 4 Series, G45/G43, Q45/Q43, G41, B43, B43, Clarkdale, Arrandale, Sandybridge Desktop (GT1), Sandybridge Desktop (GT2), Sandybridge Desktop (GT2+), Sandybridge Mobile (GT1), Sandybridge Mobile (GT2), Sandybridge Mobile (GT2+), Sandybridge Server, Ivybridge Mobile (GT1), Ivybridge Mobile (GT2), Ivybridge Desktop (GT1), Ivybridge Desktop (GT2), Ivybridge Server
これを見る限り,まだ入手できないCPUの内蔵GPUもサポートされているようです.
Sandy Bridgeの内蔵GPUを使うにはカーネルに手を入れる必要があり,それが面倒でNvidiaのGPUを使って来ましたが,実際に行ってみるとそこそこ簡単であるという印象です.著者の場合,Full HDの画面が写れば何でも良いという使い方をしているので,問題がないようであればNvidiaのカードを外すことができるかもしれません.