【爆速】Wine 11がカーネルレベルで刷新!LinuxでのWindowsゲーム性能が大幅向上
Wine 11 rewrites how Linux runs Windows games at kernel with massive speed gains
Wine 11 rewrites how Linux runs Windows games at kernel with massive speed gains
Wine 11が、Linux上でWindowsゲームを実行する仕組みをカーネルレベルで根本から書き直しました。この大規模なアップデートにより、ゲームの実行速度が劇的に向上。Linuxゲーミングのパフォーマンスが次なるステージへ進化します。
macOSでも同じことをしたいなら、ここにコントリビュートするのが良さそうだね:https://github.com/Alien4042x/Wine-NTsync-Userspace-macOS-backend
Wineって、妙に自己完結的というか、ある種自滅的なところがあるかも。Linuxでのゲームサポートが広がればデスクトップOSとしての実用性が上がってシェアも伸びる。そうなると、開発者がLinux版を最優先事項として作るようになって、結局Wineが不要になるっていうサイクルなんだよね。
こういう投稿を読んでると、いつも自分が偽物(インポスター)みたいに感じちゃうよ。みんなこんな低レイヤーなことやってるのに、自分はただのシンプルなCRUDアプリを作ってるだけだもんな。
「Dirt 3が110.6 FPSから860.7 FPSへ」「Resident Evil 2が26 FPSから77 FPSへ」「Call of Juarezが99.8 FPSから224.1 FPSへ」「Tiny Tina's Wonderlandsが130 FPSから360 FPSへ」...すごいな。これほど大幅な速度向上のチャンスが眠ってたなんて、低レイヤーの詳細はよくわからないけど大歓迎だよ!Protonに資金を注ぎ込んでくれたValveに感謝だね。
Wineは本当に無限にリスペクトしているプロジェクトだよ。確信はないけど、Wineの開発作業の多くは退屈で報われないものなんじゃないかと思う。過去30年間のWindowsのドキュメント化されている挙動もされていない挙動も、すべて完全に一致させようと掘り下げるのは楽しそうじゃない。でも、そういう細かいエッジケースを全部潰していくからこそ、Wineは実用的な製品になってるんだよね。今や多くのゲーム(特に古い作品)がWindowsよりWineの方が快適に動くっていう事実は、細部への凄まじいこだわりと忍耐力の賜物だと思う。彼らには称賛しかないよ。
もしWineの開発者がこれを読んでいたら、2026年のCarolina Code Conferenceでこのトピックについて話してほしいな。登壇者の募集(CfS)は3月31日までだよ。
ntsyncにワクワクしすぎる前に言っておくと、パフォーマンスの向上は(数少ない例外を除いて)緩やかで、だいたい数パーセント程度だよ。この極端な伸びは、fsyncなしのバニラなWineと比較した結果なんだ。Linuxで重いゲームを遊んでる人なら、普通はfsyncを使ってるはず。これは記事でも触れられてるけど、おまけ程度に扱われてる。両方でベンチを取ってみたけど、向上は本物だけど期待しすぎないように。タイトルによっては、少しパフォーマンスが落ちることもある。
これは本当に素晴らしい成果だよ!LinuxがWindowsを実質的に再実装して、しかも本家よりうまくやってるのを見るのは本当に痛快だね。一方でMSは、自社ソフトのあらゆる面を改悪することに必死みたいだけど。
データ構造の保存に共有メモリを使って、スレッドの待機に1スレッドあたり1つのeventfd(他を待機しないならfutex)を使えば、ユーザー空間でも実装できそうな気がするんだよね。それなら正確で、パフォーマンスも同等かそれ以上になるはず。プロセスが落ちた時の堅牢性やセキュリティは犠牲になるけど、Wineの用途なら大きな問題じゃない。でもesyncもfsyncもこれをやっていないのはなぜ?Claudeによれば「95%のゲームでシンプル(だけど正確さは劣る)なアプローチが機能していたから、誰も複雑な共有メモリのウェイターリストのロジックをデバッグする気が起きなかった。そして正確さが本当に重要になったときには、カーネルが最適な場所だった」らしい。これって本当かな?
これまで何年もValveに払ってきた何千ドルかの一部が、巡り巡ってみんなのためにWineを改良することに使われているのは嬉しいな。このプロジェクトのデベロッパーやコントラクターのうち、どれくらいがValveから給料をもらっているんだろう。