試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Sun xVM VirtualBoxの覚え書き(2008/12/19現在)

Sun xVM VirtualBoxのバージョンが2.1.0になり、幾つかの変更点がある。全ての変更点は扱わないので公式サイトの変更点一覧を参照。

  1. libcap.so.1が見つからない?
  2. ブリッジ接続が簡単に
  3. 3Dアクセラレーションのサポートについて

libcap.so.1が見つからない?

手元のMandriva Linux 2009.0に.runファイルのインストーラを使用してインストールした*1のだが

$ VirtualBox 
/opt/VirtualBox-2.1.0/VirtualBox: error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directory

となって起動に失敗した。
このlibcap.so.1という共有ライブラリは

libcap.so.1を含むパッケージ
ディストリとアーキテクチャパッケージ名
Mandriva x86_64版lib64cap1
Mandriva(i586)/Debian(etch/lenny/sidで確認)/Ubuntu(dapperからjauntyまでで確認)libcap1
というパッケージに含まれている。Gentooの状況を調べたが、バージョン1系はPortageツリーからなくなっていて
bugs.gentoo.org/show_bug.cgi?id=251335
でバージョン1系(1.10-r11)のebuildとその関連ファイルをまとめたlibcap.tar.bz2がアップロードされている。これをローカルOverlayに入れて使用することになりそう。上記URLにはSun xVM VirtualBox本体のebuildもアップロードされている。

ブリッジ接続が簡単に

これまでは、ゲストOSをホストOSのネットワークに参加させたいときにはLinuxカーネルのTUN/TAPという仕組みと(同じくカーネルの)ブリッジ接続機能をツールで利用して面倒な設定を行う必要があった。しかし、バージョン2.1系からはその必要がなくなり

「割り当て」の種類を「ホスト インターフェース」にしてから下のホストOS上の使用したいネットワークデバイスを選択するだけになった。「GNU/LinuxホストにおけるSun xVM VirtualBoxのブリッジ接続の設定を見直し」で作成したスクリプトも不要になる。
動作的には、VMware製品のように、仮想マシンが起動してから終了するまでの間、全てのマシン向けのデータを拾う「プロミスキャス・モード」にネットワークカードの動作モードを切り換える方式になっているようだ。*2以前のブリッジインターフェースを作成する方式と異なり、必要なときだけこのモードになる。

3Dアクセラレーションのサポートについて

仮想マシンの設定ダイアログ内「一般」の「基本」タブに「3Dアクセラレーションを有効化」というチェックがあるが、これはゲストOSがWindows XPもしくは32bit版Windows VistaでGuest Additionsをインストールした後、OpenGLのみホストOSのハードウェアアクセラレーションが有効になるというもののようで、ゲストOSがそれ以外の場合は使えない(ホストOSに制限はない)。WindowsゲストのDirect3Dについては、マニュアルによると今後対応予定らしい。
[引用]ユーザマニュアル内「Hardware 3D acceleration (OpenGL)」より

Direct3D is not yet supported and will be added in a future release.

参考として、VMware Playerでは、バージョン2.5系から32bit版Windows XPのゲストで既に対応しているようだ(要VMware Tools)。一方でOpenGLはソフトウェアで遅いらしい。

GNU/LinuxなどのゲストOSで3Dアクセラレーションを使用したい場合はVMGL(以下の関連記事を参照)が使えるかもしれないが、ホストOSもGNU/Linuxなど、(広い意味での)UNIX系OSである必要がある。
(2009/4/10)Guest AdditionsのインストールされたGNU/LinuxゲストにおけるOpenGLについてのハードウェアアクセラレーションはバージョン2.2系からサポートされた。OS環境についての要件は
[引用]バージョン2.2.0のユーザマニュアルより

Linux guests must have kernel 2.6.27 and higher as well as X.org server
version 1.5 and higher. Ubuntu 8.10 and Fedora 10 have been tested and
confirmed as working.

とのこと。
(2009/4/13)実際に試してみた。関連記事を参照。
(2009/7/3)バージョン3.0.0からWindows XPもしくはWindows Vista(いずれも32bit版のみ)におけるハードウェアアクセラレーションがサポートされ、OpenGLとバージョン8と9のDirect3Dが使用できるようになった。マニュアルも参照。

使用したバージョン:

*1:Mandriva向けx86_64版RPMパッケージがないため

*2:dmesgで出るメッセージを見ると切り替わったことが分かる