23 ポイント 投稿者 GN⁺ 2026-03-25 | 2件のコメント | WhatsAppで共有
  • LinuxにおけるWindowsゲーム実行構造をカーネルレベルで全面的に再設計し、従来のwineserverベースの同期ボトルネックを解消
  • 新しいNTSYNCドライバーがNT同期オブジェクトをカーネルで直接処理し、最大8倍以上のFPS向上を記録
  • WoW64の完成により、64ビットLinuxでも32ビットWindowsアプリを追加ライブラリなしで実行可能
  • Waylandドライバー強化Vulkan 1.4対応Bluetooth・Force feedback改善など、グラフィックス・入出力全般の互換性を拡大
  • Proton、SteamOS、LutrisなどWineベースのエコシステム全体に性能と安定性向上の効果が広がる

Wine 11の主な変化

  • Wine 11は単なる年次アップデートではなく、 Linux上でWindowsゲームを実行する仕組みをカーネルレベルで書き換えた大規模な刷新版

    • 長年にわたって蓄積されたバグ修正と性能改善に加え、NTSYNC対応WoW64完成Waylandドライバー強化などの構造的変化を含む
    • Proton、SteamOSなどWineベースのプロジェクト全体に性能向上が波及

従来の限界と暫定策

  • これまでのWineは、WindowsのNT同期プリミティブ(mutex、semaphore、eventなど)をLinux上で完全には実装できていなかった
    • 各スレッド間の同期のために毎回wineserverへRPC呼び出しを行う必要があり、毎秒数千回の呼び出しがフレーム遅延や不規則なタイミングを引き起こしていた
  • Esyncはeventfdを活用してwineserver呼び出しを減らしたが、ファイルディスクリプタ上限の問題が発生
  • Fsyncはfutexベースでより高速だが、カーネル外部パッチが必要なため、一般的なディストリビューションでは使いにくい
    • Linux 5.16のfutex_waitvはFsyncの原型とは異なり、完全な代替ではない
  • どちらの方式も暫定的な解決策に過ぎず、一部のNT API(例: NtPulseEvent、NtWaitForMultipleObjectsのwait-for-allモード)は正確に実装できなかった

NTSYNC — カーネルレベルの同期再設計

  • NTSYNCはLinuxカーネルに新しい**/dev/ntsyncデバイスドライバー**を追加し、Windows NT同期オブジェクトを直接モデル化
    • ユーザー空間ではなくカーネル内部で同期処理を行い、wineserverとの往復呼び出しを排除
    • キュー管理、イベントのセマンティクス、原子的操作をすべてカーネルが直接実行
  • 開発者はEsyncとFsyncを作ったElizabeth Figuraで、2023年のLinux Plumbers Conferenceで発表後、Linux 6.14にマージ
  • 性能向上の数値

    • Dirt 3: 110.6 → 860.7 FPS(678%向上)
    • Resident Evil 2: 26 → 77 FPS
    • Call of Juarez: 99.8 → 224.1 FPS
    • Tiny Tina’s Wonderlands: 130 → 360 FPS
    • Call of Duty: Black Ops Iは完全にプレイ可能な状態に
  • fsyncとの違い

    • fsyncユーザーに対する改善は限定的だが、マルチスレッドのボトルネックがあったゲームでは劇的な改善
    • メインラインカーネルに含まれるため追加パッチが不要で、Fedora 42・Ubuntu 25.04など最新ディストリビューションで即利用可能
    • SteamOS 3.7.20ベータに標準搭載され、Proton GEでも有効化
    • NTSYNCはWine史上初めてカーネルレベルで正確な同期実装を達成した事例

WoW64完成 — 32ビット互換性の統合

  • **WoW64(Windows 32-bit on Windows 64-bit)**アーキテクチャの実装がWine 11で完成
    • 64ビットLinuxシステムで32ビットWindowsアプリ実行時に別途32ビットライブラリをインストールする必要がない
    • 単一バイナリが実行ファイルのビット数を自動検出して処理
  • OpenGLメモリマッピング、SCSIパススルー、16ビットアプリケーション対応まで含む
    • 1990年代の旧式Windowsソフトウェアも実行可能
  • 以前はディストリビューションごとのmultilib設定の違いで実行が難しかったが、現在はWineが内部的に処理

Waylandおよびその他の主な改善

  • Waylandドライバー

    • クリップボードの双方向コピー、ドラッグ&ドロップ対応解像度切り替え時のコンポジターによるスケーリングで旧式ゲームの互換性を向上
    • X11からWaylandへ移行する際のWine互換性問題の大半を解消
  • グラフィックスとメディア

    • X11でEGLがOpenGLのデフォルトバックエンドに変更され、GLXを置き換え
    • Vulkan 1.4対応Vulkan VideoベースのH.264ハードウェアアクセラレーションデコードを追加
  • 入出力と周辺機器

    • Force feedback改善により、レーシングホイール・フライトスティックへの対応を強化
    • Bluetooth BLEサービスとペアリング対応**,** MIDIサウンドフォント処理を改善

      • Zip64圧縮Unicode 17.0.0TWAIN 2.0スキャン(64ビット)IPv6 ping機能を追加
  • 性能とプラットフォーム拡張

    • Linux・macOSでスレッド優先度管理を改善し、マルチスレッド性能が向上
    • ARM64で4Kページサイズのシミュレーションに対応し、ARMベースLinux機器との互換性を確保

ゲーム互換性とバグ修正

  • Nioh 2StarCraft 2The Witcher 2Call of Duty: Black Ops IIFinal Fantasy XIBattle.netなど主要タイトルの互換性を改善
  • 数百件のバグ修正が含まれ、全体的な安定性と性能が向上

総合評価

  • NTSYNCWoW64完成Wayland改善大規模バグ修正が組み合わさったWine 11は、Proton以降で最も重要なリリース
  • Proton、Lutris、BottlesなどWineベースのすべてのプロジェクトで性能と互換性が向上
  • Linuxでゲームを楽しむユーザーなら、Wine 11はぜひ試す価値のあるバージョン

2件のコメント

 
kh0324 2026-03-28

結論としては、また古いゲーム数年分の下位互換性が壊れる結果になりそうだな..

これが等価交換ってやつだよね

 
GN⁺ 2026-03-25
Hacker Newsのコメント
  • Wine プロジェクトにはほとんど無限の敬意を抱いている
    30年にわたって Windows の文書化された/されていない挙動をそのまま再現しようとする作業は、退屈で報われにくい仕事に聞こえるが、そのおかげで Wine は実際に使える製品になった
    特に古いゲームが Windows よりもうまく動くのを見ると、その細部へのこだわりと 苦痛への忍耐力 はすごいと感じる

    • 昔は Wine がまともに動くはずがないと思っていたので、Linux でゲームするのは避けていた
      たまに簡単なゲームを動かしてみて「これ動くのか?」と思うことはあったが、信頼できるとは思っていなかった
      今ではその判断が 完全に間違っていた と認める
    • 本当に素晴らしいプロジェクトなのに、Word や Excel、Outlook のような 業務用アプリ はいまだにうまく動かないのが残念
      Excel 2010 が最後に Platinum 等級を獲得したバージョンらしい
      ゲームよりこうしたアプリのほうが難しい理由は興味深い
    • Wine はさまざまなプラットフォームで 互換性テスト を自動実行している
      テスト結果ページ を見ると、こうした体系的な検証が高い互換性を生む鍵だとわかる
    • ReactOS も言及する価値がある
      あのプロジェクトで得られた知見が Wine 開発に数多く流れ込んでいる
    • 90年代に OS/2 を使っていた頃、Windows アプリを動かすには Windows 全体を起動しなければならなかった
      当時は Wine のようなものを自分で作りたかったが、知識が足りなかった
      今は Linux をサーバー用途でしか使わないので出番がなく、Mac 向け Wine もあると聞いたが、わざわざ動かしたい Windows アプリもない
  • Proton のおかげでゲームのフレームレートが大幅に上がったのを見て驚いた
    Dirt 3 が 110FPS から 860FPS に、Resident Evil 2 が 26FPS から 77FPS に上がったというのは信じがたい
    Valve がここに資金を注ぎ込んだからだと思う

    • ただしこの数値は Wine+ntsyncWine の標準版 を比較した結果なので、やや誇張されている面がある
      既存の fsync ベースの Wine と比べると、向上幅は数パーセント程度だ
      それでも ntsync が明確な改善であることに変わりはない
      ntsync ドキュメント を見ると、Windows の同期構造を Linux でより正確に実装するためのカーネルドライバだ
    • 「esync や fsync を使っていない場合」の比較だという点にも注意が必要だ
    • Proton と Wine の関係が気になる — Proton は Valve/SteamOS 向けの名称なのか、それとも別プロジェクトなのか知りたい
  • ntsync の性能向上にあまり浮かれすぎるなという意見もある
    ほとんどの場合、性能向上は一桁パーセント台で、一部のゲームはむしろわずかに遅くなる可能性もある

    • fsync パッチのないカーネルを使っている人なら話は別かもしれない
    • Wayland と X11 の性能差も比較してみる価値があるという意見が出ている
  • こういう低レベル技術の話を見ると、自分が CRUD アプリ ばかり作っているのが恥ずかしく感じる

    • でも CRUD にも価値はあるし、精神衛生にもいい
      以前、天才開発者が極限スケジュールに苦しめられた末、単純な VB の CRUD 業務に移って「有給休暇みたいだ」と言っていたという話を聞いたことがある
    • 自分も Outlook で「ここをクリック、次はそこをクリック」みたいな単純な支援をしているが、こういう仕事も 必要不可欠な仕事
    • 逆に低レベル開発者たちも、高レベルなシステムを扱うときには自分が足りないと感じるらしい
    • コンパイラを作っている自分でさえ、個人プロジェクト向けの CRUD アプリを何度も作ろうとして失敗してきた
      Rails、Phoenix、Django を試したが簡単ではなかった
      最近は Claude の助けで少し進展がある
    • CRUD アプリも甘くはない
      企業の要求事項は複雑なので、アーキテクチャが簡単に崩れることがある
  • Valve に何千ドルも使った金が、結局 Wine 改善に使われたと思うとうれしい
    Valve がどれだけ多くの開発者や契約者を雇っているのか気になる

    • Wine 開発者の 3 分の 2 は CodeWeavers 所属で、Valve と Proton の契約を結んでいる
      つまり資金の大半はそちらに流れている
  • Wine は逆説的に 自己破壊的 かもしれない
    Linux でゲームがよく動くようになれば、開発者たちが最初から Linux 向けポートを作るようになって、Wine が不要になる可能性がある

    • しかし Wine の API は Linux より 安定している ので、むしろ Wine が第一級のターゲットになるかもしれない
    • 実際には逆だと思う
      ネイティブポートがあっても、Windows 版を Proton で動かすほうが安定している
      Windows API は馴染みがあり変化もしないので、開発者は今後もそちらを基準に開発し続ける
    • 最近の「Linux 対応」は、結局のところ Proton で問題なく動くこと を意味している
    • こういう状況は「良い問題」だと思う
    • しかも Wine はゲーム以外にもさまざまな用途で使われるので、ネイティブポートが増えても需要は続くだろう
      Windows ABI は今でもより安定しているので、性能差がごく小さい限り Windows ビルドだけを維持するほうが効率的だ
  • ユーザー空間で 共有メモリ を使って ntsync を実装できるのではないかという質問があった
    Claude は「95% のゲームでは単純なアプローチで十分だったため、複雑な共有メモリロジックを実装する動機がなく、正確性が重要になった時点ではカーネルに入れるのが自然だった」と説明している

    • しかし実際には、Linux がそのようなユーザー空間機能を提供していないため不可能だ
      ntsync は単なる API ラッパーではなく、NT カーネルの同期動作を再現する カーネルレベルのアダプタ
      ソースコード を見ると、カーネルスケジューラと密接に連携している
    • カーネル文書にも「ユーザー空間実装では Windows 水準の性能と正確性を満たせない」と明記されている
      文書リンク
  • Linux が Windows を 再実装しながら、かえってよりうまくやっている のを見るのは驚きだ
    Microsoft が自社ソフトウェアをますます使いにくくしている一方で、こうした成果は本当にすごい

    • 特に 64 ビット Windows で失われた 16 ビット対応 を Wine が維持しているのは大きな意味がある
      古いゲームには 16 ビットベースのものが多く、32 ビットゲームであってもインストーラが 16 ビットである場合が多い
  • Wine 開発者がこれを見ているなら、Carolina Code Conference 2026 で関連発表をしてほしい
    登壇者募集は 3 月 31 日まで開いている

  • macOS でも同じものが欲しいなら このリポジトリ に貢献すればよい

    • ただ正直、macOS 用ゲーム は少なすぎて、興味を持つ開発者もほとんどいないだろう
      昔、学校の Mac で Bolo という戦車ゲームを遊んだ思い出はあるが、Windows ゲーム数の 1% にも満たない気がする
    • ただ、性能上の理由でカーネルに入れる必要があったなら、なぜ Linux ではユーザー空間でやらなかったのか気になる