$Id: xf86-gf-dvi-2001fp.html,v 1.4 2008-07-03 03:25:27+09 taka Exp $

FreeBSD 上の XFree86 4.3.0 で DELL 2001FP HAS を DVI-D 接続して使う

使えたのでメモ. XFree86 4.3.0 上で GeForce を NVIDIA Driver を使って利用するメモも兼ねる。

環境

ハードウェア

ソフトウェア

上記はいずれも cvsup によりソースを取得し自前ビルドしたもの。 /etc/make.conf による最適化チューニングは行っていない。

下準備

4.9-RELEASE で NVIDIA Driver を使うには, kernel config file に

options USER_LDT
が入っている必要があるようだ。 また GENERIC kernel が推奨される(らしい)。

よって, $src/sys/i386/conf/GENERIC の末尾に

options USER_LDT
を追加し kernel を再作成。再起動する。

この作業は 5.1-RELEASE, 5.2-RELEASE 上の GENERIC kernel を利用している場合は要求されなかった。

NVIDIA Driver の有効化

NVIDIA Driver をインストールする。linux_base も同時にインストールされる。 $ports/x11/nvidia-driver で

make WITH_FREEBSD_AGP=YES clean install clean

/boot/loder.conf ファイルに追記。

linux_load="YES"
nvidia_load="YES"
なお, FreeBSD 5.2-RELEASE 環境においては ACPI の無効化が必要となるために
hint.acpi.0.disabled="1"
も必要になるようだ。5.1-RELEASE 環境では必要なかった。

XF86Config の修正

Section "Module" に Load "glx", Section "Device" に Driver "nvidia" を書く。

root で xinit してみる。X サーバ起動時に NVIDIA のロゴが出れば成功。

DELL 2001FP は 1600x1200 の液晶パネルなので, 1600x1200 リフレッシュレート 60Hz の設定をつくる。 以前の XFree86 は Modeline の調整が必要だったはずだが、今のバージョンでは標準的な解像度であれば 適当にデータベースから情報を拾ってきて調整してくれるようだ。 よって Section "Screen" に Modes "1600x1200" と書いて終了。

接続変更

以上までの工程を CRT モニタで設定。 CRT モニタのオンスクリーン情報で 1600x1200, 垂直同期 60Hz で動作していることを確認。

一端shutdownして CRT モニタから DELL 2001FP に変更。添付の DVI-D ケーブルにて GeForceFX5200 の DVI コネクタと DELL 2001FP を接続。起動。BIOS 画面等は問題なく表示される。

ログインして startx すると無事 DVI-D にて表示された。 2001FP は DVD-I ではなく DVD-D (デジタル接続のみ) であるため、 問題なくデジタル出力・接続されていることが確認できた。

資料

動作中の /etc/X11/XF86Config を以下に示す。

Section "Module"
    SubSection  "extmod"
      Option    "omit xfree86-dga"   # don't initialise the DGA extension
    EndSubSection
	Load	"dbe"
	Load 	"type1"
	Load	"bitmap"
	Load	"speedo"
	Load	"pex5"
	Load	"xie"
	Load	"xtt"
    Load       "glx"
EndSection
Section "Files"
    RgbPath	"/usr/X11R6/lib/X11/rgb"
    FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
	FontPath	"/usr/local/lib/fonts/TrueType/"
    FontPath   "/usr/X11R6/lib/X11/fonts/local/"
    ModulePath "/usr/X11R6/lib/modules"
EndSection
Section "ServerFlags"
	Option	"StandbyTime"	"10"
	Option	"Suspendtime"	"15"
	Option	"OffTime"	"20"
EndSection
Section "InputDevice"
    Identifier	"Keyboard1"
    Driver	"Keyboard"
    Option "AutoRepeat" "500 30"
    Option "LeftAlt"     "Meta"
    Option "XkbRules"	"xfree86"
	Option	"XkbModel"	"pc101"
    Option "XkbLayout"	"us"
    Option "XkbCompat"	""
	Option	"XkbOptions"	"ctrl:nocaps"
EndSection
Section "InputDevice"
    Identifier	"Mouse1"
    Driver	"mouse"
    Option "Device"      "/dev/sysmouse"
EndSection
Section "Monitor"
    Identifier  "CV821X"
    HorizSync   30-107
    VertRefresh 50-180
#	Modeline "1536x1152" 210 1536 1600 1744 2056 1152 1154 1158 1188
#	Modeline "1600x1200" 162 1600 1664 1856 2160 1200 1201 1204 1250
#	Option	"DPMS"
EndSection
Section	"Monitor"
	Identifier	"2001FP"
	HorizSync	31-80
	VertRefresh	56-76
EndSection
Section "Device"
    Identifier	"Standard VGA"
    VendorName	"Unknown"
    BoardName	"Unknown"
    Driver     "vga"
EndSection
Section "Device"
    Identifier  "Millenium2"
    Driver      "mga"
    VideoRam    8192
    # Insert Clocks lines here if appropriate
EndSection
Section "Device"
	Identifier	"GeForceFX5200"
	Driver	"nvidia"	# NVidia Driver
#	Option	"DigitalScreen"	"yes"
#	Option	"Hw cursor" "off"
EndSection
Section "Screen"
    Identifier  "Screen 1"
	Device	"GeForceFX5200"
#    Monitor     "CV821X"
	Monitor	"2001FP"
    DefaultDepth 24
    Subsection "Display"
        Depth       24
#	Modes	"1536x1152"
	Modes	"1600x1200"
        ViewPort    0 0
    EndSubsection
EndSection
Section "ServerLayout"
    Identifier  "Simple Layout"
    Screen "Screen 1"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
EndSection

参考情報


WelcomePage
高山 啓介 taka at magic.uinet.or.jp