ニュース

「Wine 8.0」がリリース ~LinuxでWindowsのGUIアプリを直接実行できる互換レイヤー

4年越しのPE移行が完了、グラフィックス・ゲームの対応強化や文字欠けへの対策も

「Wine」の公式サイト

 「Wine」の最新版「Wine 8.0」が、1月24日に公開された。毎年1回実施されているメジャーバージョンアップとなる。

 「Wine」(「Wine Is Not an Emulator」の頭文字とされる)は、Linux環境やMac環境などでWindowsのGUIアプリケーションを直接実行できる互換レイヤー。仮想マシンやエミュレーターのようにWindowsの内部ロジックをシミュレートするのではなく、WindowsのAPIコールをPOSIXコールにオンザフライで変換するため、パフォーマンスやメモリーのペナルティが少ないのが特徴。人気のWindowsアプリケーションをLinuxデスクトップへきれいに統合できる。ライセンスは「LGPLv2.1」。

 今回リリースされた「Wine 8.0」には、この1年間に寄せられた8,600以上もの変更が反映されている。なかでも注目は、4年間にわたり取り組んできたPE(Portable Executable:Windowsの実行ファイル形式)フォーマットへの変換が完了し、すべてのモジュールがPEフォーマットでビルドできるようになったこと。

 これは「Wine」がコピープロテクト、64bit環境における32bitアプリの実行、Windows デバッガー、ARMデバイスでのx86アプリ実行といった機能をサポートするための重要なマイルストーンだという。一部のモジュールはまだNTのシステムコールインタフェースを介さず、PEとUnixの間でダイレクトコールを行っているが、これも「Wine 9.0」までには削除されそうだ。

 また、64bit OSでWin32アプリを動作させるための互換レイヤー「WOW64」に関してもさらなる改善が進められた。「WOW64」サンクがほぼすべてのUnixライブラリに対して実装され、32bitのPEモジュールが64bit Unixライブラリを呼び出せるようになっている。残ったダイレクトコールの部分が削除されれば、32bit Unixライブラリがなくても32bit Windowsアプリを完全に実行できるようになる。

 ただし、この機能はまだ開発中の段階にある、今のところ非推奨となっている。あえて利用したい場合は、「-enable-archs」オプション付きでビルドしなければならない。

 そのほかにも、「ライト」テーマの導入やグラフィックスの改善、「Direct3D」対応の強化が行われた。とくにゲーム対応には力が入っているようで、コントローラーのホットプラグ対応が大幅に改善。ジョイスティックコントロールパネルのデザインも刷新された。「Windows.Gaming.Input」モジュールも追加されているが、これは「Wine」で初めての「WinRT」モジュールとなる。

 日本語関連で期待できそうな改善としては、ほとんどのシステムフォントでフォントリンクがサポートされたことがある。グリフがない場合は他のフォントへフォールバック(代替)されるため、文字が表示されないといったトラブルが減るだろう。