2008年2月1日金曜日

nvidia-xconfigを入れてみる。

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
x11/xorg の make installが終わったので、とりあえず /etc/X11/ とか /usr/local/etc/X11/ を見てみたものの、.confファイルは無し。グラフィックボードのドライバを入れてから考えることにします。GeForce 8500GTなので
x11/nvidia-driver を入れてみました。100.14.19相当のようです。Version 169.07が出ている のですが、Update requestがsend-prされているのでそのうち新しくなるでしょう。

% cat /boot/loader.conf
nvidia_load="YES"
% kldstat
Id Refs Address Size Name
1 10 0xc0400000 93ba74 kernel
2 1 0xc0d3c000 693b3c nvidia.ko
3 2 0xc13d0000 27828 linux.ko
4 1 0xc13f8000 671f4 acpi.ko



ところが、なぜか同梱されているはずの nvidia-xconfig や nvidia-settings が入ってきません。work を見ると…


# pwd
/usr/ports/x11/nvidia-driver/work/NVIDIA-FreeBSD-x86-100.14.19/obj
# ls
libGL.so.1 libXvMCNVIDIA.so.1 libnvidia-tls.so.1 nvidia-bug-report.sh nvidia_drv.so
libGLcore.so.1 libglx.so.1 libnvidia-wfb.so.1 nvidia-settings
libXvMCNVIDIA.a libnvidia-cfg.so.1 linux nvidia-xconfig
# ldd nvidia-xconfig
nvidia-xconfig:
libm.so.3 => /usr/local/lib/compat/libm.so.3 (0x2809e000)
libc.so.5 => /usr/local/lib/compat/libc.so.5 (0x280b9000)
# ldd nvidia-settings
nvidia-settings:
libgtk-x11-2.0.so.400 => not found (0x0)
libgdk-x11-2.0.so.400 => not found (0x0)
libXrandr.so.2 => /usr/local/lib/libXrandr.so.2 (0x28115000)
libXi.so.6 => /usr/local/lib/libXi.so.6 (0x2811b000)
libXinerama.so.1 => /usr/local/lib/libXinerama.so.1 (0x28123000)
libXcursor.so.1 => /usr/local/lib/libXcursor.so.1 (0x28126000)
libatk-1.0.so.600 => not found (0x0)
libgdk_pixbuf-2.0.so.400 => not found (0x0)
libm.so.3 => /usr/local/lib/compat/libm.so.3 (0x2812f000)
libpangoxft-1.0.so.399 => not found (0x0)
libXft.so.2 => /usr/local/lib/libXft.so.2 (0x2814a000)
libfreetype.so.9 => /usr/local/lib/libfreetype.so.9 (0x2815b000)
libz.so.2 => /usr/local/lib/compat/libz.so.2 (0x281c7000)
libXrender.so.1 => /usr/local/lib/libXrender.so.1 (0x281d7000)
libXext.so.6 => /usr/local/lib/libXext.so.6 (0x281df000)
libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1 (0x281ec000)
libpangox-1.0.so.399 => not found (0x0)
libX11.so.6 => /usr/local/lib/libX11.so.6 (0x28215000)
libpango-1.0.so.399 => not found (0x0)
libgobject-2.0.so.400 => not found (0x0)
libgmodule-2.0.so.400 => not found (0x0)
libglib-2.0.so.400 => not found (0x0)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x282fd000)
libc.so.5 => /usr/local/lib/compat/libc.so.5 (0x283f3000)
libc.so.7 => /lib/libc.so.7 (0x284cd000)
libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 (0x285c4000)
libz.so.4 => /lib/libz.so.4 (0x285d2000)
libXau.so.6 => /usr/local/lib/libXau.so.6 (0x285e4000)
libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x285e7000)
libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x28606000)
librpcsvc.so.4 => /usr/lib/librpcsvc.so.4 (0x2860b000)

… compat なものとか not foundっぽいものがある… ドキュメントを読むと FreeBSD 5.3相当の環境でコンパイルしたものが入っているようです。nvidia-xconfigはそのまま使えそうですが、せっかくなので x11/nvidia-xconfig を使ってみましょう。nvidia-settingsはなんだかドツボっぽそうなので回避。


# make
===> Vulnerability check disabled, database not found
=> nvidia-xconfig-1.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://jp.download.nvidia.com/XFree86/nvidia-xconfig/.
fetch: http://jp.download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size mismatch: expected 110356, actual 110373
■(中略)
=> Attempting to fetch from ftp://download.nvidia.com/XFree86/nvidia-xconfig/.
fetch: ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size unknown
fetch: ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size of remote file is not known
nvidia-xconfig-1.0.tar.gz 107 kB 77 kBps
===> Extracting for nvidia-xconfig-1.0_2
=> MD5 Checksum mismatch for nvidia-xconfig-1.0.tar.gz.
=> SHA256 Checksum mismatch for nvidia-xconfig-1.0.tar.gz.
===> Refetch for 1 more times files: nvidia-xconfig-1.0.tar.gz nvidia-xconfig-1.0.tar.gz
===> Vulnerability check disabled, database not found
=> nvidia-xconfig-1.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://jp.download.nvidia.com/XFree86/nvidia-xconfig/.
fetch: http://jp.download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size mismatch: expected 110356, actual 110373
=> Attempting to fetch from http://us.download.nvidia.com/XFree86/nvidia-xconfig/.
fetch: http://us.download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size mismatch: expected 110356, actual 110373
■(中略)
=> Attempting to fetch from ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/bland/.
fetch: ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/bland/nvidia-xconfig-1.0.tar.gz: Unknown error: 0
=> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
fetch: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/nvidia-xconfig-1.0.tar.gz: Unknown error: 0
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/ and try again.
*** Error code 1

Stop in /usr/ports/x11/nvidia-xconfig.
*** Error code 1

Stop in /usr/ports/x11/nvidia-xconfig.


えー。
どうも 配布されているファイルと distinfo の情報にずれがあるようです。
(httpなら持ってくる前にチェックできるけどftpは持ってきてからチェックするんですね)

とりあえず distinfo を消し、distfiles にある nvidia-xconfig-1.0.tar.gz を念のため消してから再トライ。


# mv distinfo distinfo.old
# /usr/ports/distfiles/nvidia-xconfig-1.0.tar.gz
make
===> Vulnerability check disabled, database not found
=> nvidia-xconfig-1.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://jp.download.nvidia.com/XFree86/nvidia-xconfig/.
nvidia-xconfig-1.0.tar.gz 100% of 107 kB 18 MBps
===> Extracting for nvidia-xconfig-1.0_2
=> No checksum file (/usr/ports/x11/nvidia-xconfig/distinfo).
===> Patching for nvidia-xconfig-1.0_2
===> Applying FreeBSD patches for nvidia-xconfig-1.0_2
===> nvidia-xconfig-1.0_2 depends on executable: gmake - found
===> Configuring for nvidia-xconfig-1.0_2
===> Building for nvidia-xconfig-1.0_2
cc -c -O2 -pipe -march=prescott -I XF86Config-parser util.c -o util.o
■(中略)
cc -O2 -pipe -march=prescott -I XF86Config-parser gen-manpage-opts.o -lm -o gen-manpage-opts
./gen-manpage-opts > options.1.inc
m4 -D__HEADER__=".\\\" WARNING: THIS FILE IS AUTO-GENERATED! Edit nvidia-xconfig.1.m4 instead." nvidia-xconfig.1.m4 > nvidia-xconfig.1
#

オリジナルファイルもちゃんとマスターサイト(と思わしきところ)から持ってきているようなので、これでよしとしましょう。
インストールして実行。


basil# nvidia-xconfig

WARNING: Unable to locate/open X configuration file.

ps: Process environment requires procfs(5)
New X configuration file written to '/etc/X11/xorg.conf'



何故procfsが要求されるのか…なにか見たいのか?
まあいいや。とりあえずユーザに戻してstartxしてみましょう。


% startx


真っ暗。

あれ?

数分経過。

戻ってこない…何故…?
別PCから接続していたsshのコネクションも Operation timed out。
電源ボタンを押してみても無反応…
泣く泣く強制シャットダウン→再起動→絶賛fsck_ufs中

なーーーーーぜーーーーーだーーーーー??
(続く。)

0 件のコメント: