CrossOver Macは、オープンソースのWin32API互換レイヤー「Wine」をベースに、米CrossWeaver社が独自の機能を加えたWindows用アプリケーションの実行環境。動作環境はIntel Mac/Mac OS X 10.4.4以降で、CPUコードを変換するエミュレータとしての機能は持たないためPowerPC Macでは実行できないが、Windows用アプリケーションをMac OS X上でそのまま実行できる。
Mac向けにはすでに2つの仮想化ソフト -- Parallels DesktopとVMware Fusion、後者は現在プレリリース段階 -- がリリースされているが、CrossOver Macは仮想化ソフトとは実装の方法がまったく異なる。Windowsアプリケーションを実行する場合、仮想化ソフトではWindowsをゲストOSとしてインストールし、その上でアプリケーションを動作させるが、CrossOver MacではWindowsをインストールする必要がない。
その仕掛けは、Win32 API互換レイヤー「Wine」にある。WineはWindowsアプリケーションが大きく依存するライブラリ(Win32 API)と高い互換性を持ち、描画にX Window Systemを使うことを除けば特定のシステムに依存しない、オープンソースの実装だ。Wine環境下でWindowsアプリケーションを実行すると、Win32 APIのコールをWineに置き換えるよう振る舞うため、WindowsなしでもWindowsアプリケーションが動作するという仕組み。長年Wineプロジェクトのスポンサーを務めてきたCodeWeaversが、Wineに独自の機能を加え使いやすくした製品がこのCrossOver Macなのだ。
ただし、CrossOver Macではユーザモードで動作するWin32 API互換のレイヤーを提供するにすぎないため、カーネルモードで動作するWindows用のドライバは機能しない。DirectXを利用したアプリケーションは動作するが、対応するDirectXのバージョンは9.0系、最新の10系は未サポート。現状.NET Frameworkをインストールする手段がないことから、.NETアプリケーションも動作しない。Win32 API相当のフレームワークも完璧な互換性を持つわけではなく、まったく動作しない / 動作に問題を抱えるアプリケーションも少なくない。仮想化ソフトほど完璧に近い形で動作しないことは、導入前に認識しておくべきだろう。
表1: 仮想化ソフトとCrossOver Mac(Wine)の比較
仮想化ソフト | CrossOver Mac | |
Windowsのインストール | 必要 | 不要 |
---|---|---|
ウインドウの描画 | ゲストOS | ホストOS(X Window System) |
システムへの負荷 | 重め | 軽め |
ドライバの動作 | ○ | × |
DirectX | ○ | △(DirectX 9.0c) |
.NETアプリケーション | ○ | △(インストール可能、一部サポート) |