Linux などで Windows の実行モジュールを実行できる Wine の最新版 Wine 8.0 がリリースされました
Linux など,POSIX 準拠の OS 上で Windows の実行ファイルを実行できる Wine の最新版 Wine 8.0 がリリースされました.メジャーバージョンが上がり,同プロジェクトにとっては大きなマイルストーンとなります.
Wine プロジェクトは,これまで,2週間おきに開発版をリリースしてきました.その集大成として,Wine 8.0 がリリースされました.リリースノートによると,主要な変更点は以下の通りです.
- 4年の歳月を経て,ついに PE の変換が全て終わりました(後に詳述).これは同プロジェクトにとって,非常に大きな成果です.
- Mono エンジン(クロスプラットフォームで動作する OSS 版の .NET Framework)のバージョンを7.4にアップデートしました.
- コントローラのホットプラグ機能が大きく改善しました.
- ソニーのゲームコントローラである,デュアルショックとデュアルセンスをサポートしました.
- ロケールに関するデータベースが,基本的に最新の Windows にある locale.nls と同じものになりました.これは Unicode CLDR データベース(共通ロケールデータリポジトリ)から生成されます.
- Direct2D および Direct3D まわりのパフォーマンスを引き続き改善しています.
- 32-bit版の Windows アプリケーションを,32-bit版の Unix ライブラリなしで動作させる機能(Windows における WoW64 のような機能)は,継続的に作業しているもののまだ実験段階です.
Wine は,Windows の実行バイナリを,POSIX 準拠の OS (Linux, *BSD, macOS, …) で実行することを目的にしたプログラムです.
他のプラットフォームの実行モジュールを実行するというと,Docker のようなコンテナや,Xen のようなエミュレータが思い浮かぶかもしれません.これらは,コンピュータ上に Windows OS を実行できる環境を用意(エミュレート)し,その仮想空間上で実行ファイルを実行します.
一方,Wine は,Windows 用の実行ファイルに記録されている命令を,実行時にその場で POSIX の命令に変換して実行します.Windows で使われている実行ファイルの形式は PE (Portable Executable) と呼ばれますが,これを Linux などが準拠している命令群(POSIX)に置き換えながら実行しているというわけです.このため,Wine を使えば,Linux だけでなく POSIX に準拠した OS 上で Wiindows 用の実行ファイルを実行することができます.
Wine の開発の歴史は長く,PC-UNIX が流行し始めた1990年代後半頃から存在しました.当時は,Windows に膨大なアプリケーション資産があるのに対して,PC-UNIX には,オフィスソフトひとつありませんでした.特に,ゲームの数が少ないことは,非常に深刻な問題でした.そこで,PC-UNIX の世界で Windows のソフトウェア資産を使えるようにしてほしいという需要が高まったというわけです.
現在は,ブラウザベースのウェブアプリケーションが使えるようになり,Steam などを経由すれば,多くのゲームタイトルで遊べるようにもなりました.しかし,Windows 環境と併用している Unix ユーザの中には,まだまだ Wine が手離せない方も多いのではないかと思います.
Wine の今後の更なる進展に期待しましょう.