床井研究室

Vine Linux 6

Vine Linux 6.0 がリリースされました。Project Vine および協力者のみなさま、本当にありがとうございます。お世話になりながらなんの協力もしないで申し訳ありません。私も手元のマシンを移行しました。演習室のマシンも更新できないか、現在検討しています。

Nouveau ドライバ

移行の際にいくつか悩んだことがあったので、今後のためにメモしておきます。Vine Linux 6.0 (kernel 2.6.35) では、NVIDIA のビデオカードに対して、Nouveau ドライバが使用されます。現時点で Nouvaeu ドライバは、OpenGL 2.1 の範囲内では確実に、そして十分に速く動きます。Full HD モニタへの表示も問題ありませんでした。ただ、OpenGL 自体は MESA に依存しているので、このドライバを使っても OpenGL のバージョンは 2.1 のようです。MESA も積極的に拡張機能を追加していますが(すごいエネルギーだと思う)、OpenGL 3.0 以降で標準となるジオメトリシェーダをはじめ、宿題プログラム等で使用しているいくつかの拡張機能がサポートされていないので、申し訳ないんですけどプロプライエタリドライバに変更します。

プロプライエタリドライバへの変更

NVIDIA のプロプライエタリドライバ (xorg-x11-drv-nvidia) は「アプリケーションの追加と削除」からもインストールできますが、これだと xorg.conf を作ってくれなかったり、他にもいくつか追加の作業があったので、NVIDIA が提供している Linux 用のインストーラを使うことにします。

まず、初期状態です。Nouveau ドライバが使用されています。Nouveau ドライバでも、講義の宿題プログラムなどで使っているいくつかの拡張機能はサポートされています(”OpenGL extensions” は抜粋です)。

OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NV86
OpenGL version string: 2.1 Mesa 7.10.3
OpenGL shading language version string: 1.20
OpenGL extensions:
    GL_ARB_vertex_array_object, GL_APPLE_vertex_array_object
    GL_ARB_framebuffer_object, GL_EXT_framebuffer_object

Nouveau ドライバの無効化

/boot/grub/menu.lst のカーネルの引数に nouveau.modeset=0 を追加します。

kernel /vmlinuz ro root=/dev/VolGroup00/LogVol00 resume=swap:/dev/VolGroup00/LogVol01 vga=0x314 splash=silent quiet nouveau.modeset=0

その後、再起動します。再起動しても、initrd に Nouveau ドライバが残っているせいか、Nouveau ドライバが動いています。ただし、OpenGL のバージョンは 1.4 になっています。GLSL コンパイラが使えなくなったということでしょうか。

OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NV86
OpenGL version string: 1.4 (2.1 Mesa 7.10.3)

本当は /etc/modprobe.d/blacklist.conf に blacklist nouveau を追加し、/etc/modprobe.d/modprobe.conf に alias nouveau off を追加して、rpm -e xorg-x11-drv-nouveau でパッケージを削除した後、initrd を作り直すべきなのかもしれません

ドライバのインストール

NVIDIA からダウンロードしてきたインストーラを起動します。その前に、X サーバを止めます。gdm が動いている場合は、run level を変更します。これは X でログインしたまま実行しても問題ないと思いますが、気になるなら Ctrl-Alt-F2 で仮想コンソールに切り替えて行います(が、もしかしたら仮想コンソールのビデオ出力がおかしくなっているかもしれないので、その場合は Ctrl-Alt-F7 で X に戻ります)。

% sudo telinit 3
% sudo sh NVIDIA-Linux-なんとか.run

ドライバのアンインストールは “chmod +x NVIDIA-Linux-なんとか.run; sudo ./NVIDIA-Linux-なんとか.run –uninstall” で行うことができます。

質問には適当に答えて、最後の「xorg.conf を作るか」とかいう質問に「Yes」と答えます。ただ、ここで作られる xorg.conf では、矢印キー等が正常に動作しません。これは Vine Linux BTS によれば、「InputDevice “Keyboard0” “CoreKeyboard”」をコメントアウトすればよいとのことです。最初 NVIDIA のドライバを使うことだけ教えてやればいいのではないかと書いていましたけど、いろいろ不具合があったので、結局インストーラが作ったものを使うことにしました。

その後、xinit コマンドで X サーバを立ち上げて、正常に動くかどうかを確認します。

% xinit

X サーバを終了して(クライアントの xterm のウィンドウを閉じて)出力されているメッセージや /var/log/Xorg.0.log を確認します。問題がなければ gdm を起動します。

% sudo telinit 5

今のところ、これで問題なく動いています。宿題プログラムは一通り動きました。

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 8500 GT/PCI/SSE2
OpenGL version string: 3.3.0 NVIDIA 280.13
OpenGL shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL extensions:
    GL_ARB_texture_float, GL_ATI_texture_float,
    GL_ARB_vertex_array_object,
    GL_NV_transform_feedback,
    GL_ARB_framebuffer_object, GL_EXT_framebuffer_object,
    GL_ARB_geometry_shader4, GL_EXT_geometry_shader4, GL_NV_geometry_shader4

dovecot

dovecot が使う SSL の証明書のパスが変わっていて、最初 dovecot が動きませんでした。

mod_perl2

mod_perl2 パッケージが入っていると、apache が「libperl.so が無い」と言って起動しませんでした。mod_perl は使っていないので、これは削除しました。

preview-latex

preview-latex パッケージが入っていると、emacs を起動したときに “Cannot open load file: vine-default-preview-latex” と言われてしまうので、これも削除しました。すると auctex パッケージまで削除されてしまいました。あとで synaptic で yatex のところを見たら対処方法が書いてありました。

texlive

texlive で日本語の dvi ファイルを表示するには、xdvi ではなく pxdvi を使うんですね。最初 xdvi で日本語を表示しようと四苦八苦してしまいました。

Opera, Blender

Opera と Blender が synaptic/apt-get でインストールできたのが微妙にうれしかったです。でも Blender は 2.5x に替えてしまうと思います。

VirtualBox

VirtualBox をインストールしていると、起動時に kernel panic を起こしました。講義で QEMU を使うと聞いているので、こっちだけ入れることにしました。

ext4

現在はまだ ext3 で動かしています。ext4 はかなり速いと聞いていますので、そのうち移行したいと考えていますが、現在はまだ保留しています。tune2fs でできそうな気がしますけど、もしかしたらファイルシステムを作り直すべきなのかも知れないと思って躊躇しています。どうなんでしょう?

Vine Linux について

教育用の Linux として、Vine Linux はとても優れたものだと考えています。ただ、Vine Linux 5.2 では Firefox 4 以降のオフィシャルバイナリがそのままでは動かなかったりしたので、将来は CentOS に変更しようかと考えていたのですが、Vine Linux 6 を見て、まだまだ使い続ける気になりました。CentOS もなんだか雲行きが怪しいという話を聞きましたし(Vine Linux の前はアニメ「巨人の星」の主題歌の歌詞に出てくるキーワードを冠したディストリビューションを使っていたのですが、いきなりプロジェクトが解散してしまって涙目になったことがあるので…)。