/note/tech

loss32: let's build a Win32/Linux

要約:

■ 1. loss32プロジェクトの概要

  • コンセプト:
    • デスクトップ環境全体がWINE上で動作するWin32ソフトウェアで構成されるLinuxディストリビューション
    • 完全にフリーかつオープンソースのOS
    • exeファイルをダウンロードしてそのまま実行できる
  • 想定ユーザー:
    • 必ずしもUnix愛好家ではないパワーユーザー
    • このコンセプトを面白いと思う人

■ 2. ReactOSとの違い

  • ReactOSの問題点:
    • Windows NTカーネルの再実装を試みている
    • これがアキレス腱となりハードウェア互換性と安定性の面で足を引っ張っている
  • loss32のアプローチ:
    • ReactOSと似た最終結果を目指す
    • より使いやすい基盤の上に構築
    • 動作実績のあるコンポーネントを使用:
      • Linuxカーネル
      • WINE
      • それらを結合する各種ツール
      • ReactOSユーザーランドの便利な機能
  • loss32の利点:
    • 技術的にはLinuxディストリビューションのため必要に応じてLinuxソフトウェアも実行可能
    • ReactOSではLinuxソフトウェアを実行できない

■ 3. プロジェクトの目標

  • ユーザーランド全体を可能な限りWINEで置き換える

■ 4. プロジェクトを構築する理由

  • 90年代後半から2010年代初頭のPCデスクトップ体験はパワーユーザー特にクリエイティブユーザーにとって素晴らしかった
    • その夢を維持したい
  • WINEには残念な荒削りな部分が多くユーザーは最後の手段としてのみWINEを使用するため許容している
    • 全てがWINE上で動作するデスクトップ環境はWINEの改善を促進する
    • このプロジェクトを使うかどうかに関わらず全員にとって有益
  • Win32は安定したLinux ABIである
  • 技術的に可能だから

■ 5. Win32が安定したLinux ABIである理由

  • exeファイルをダウンロードしてWINEで実行できることで何度も助けられた経験がある
  • クリエイティブプロジェクトでは以下のようなソフトウェアが必要になることが多い:
    • 自分で再ビルドするのが不可能または非現実的
    • LinuxやmacOS版が動作しないまたは存在しない
  • Win32ソフトウェアには30年以上の歴史がある
    • WINEまたはWindows上で実行可能
    • 他のABIにはこれほどの互換性実績がない
    • WINEはWin16のソフトウェアも実行可能
  • Win32は世界の安定したABIでもある:
    • GNU/LinuxやPOSIX系の選択肢が限られており品質が低い分野が多い
    • 例としてクリエイティブソフトウェアやゲーム
    • Win32により人類の文化遺産のより大きな部分にアクセス可能

■ 6. 現在の状態

  • スクリーンショットは実際のもの
  • Debian 13上で安定版WINEを実行している状態
  • スクリーンショットには映らない多くの荒削りな部分があり現時点では使用が快適ではない
  • プロジェクトの目標:
    • 多くの荒削りな部分を修正
    • この環境を簡単にインストールできる形でパッケージ化

■ 7. 協力者の募集

  • 特に求めている知識や協力:
    • デスクトップ環境を強制しないWaylandコンポジター
      • 現在はスタンドアロン版のmutterを使用
      • WINEとの連携改善
    • WINE関連:
      • explorer.exe
      • shell32.dll関連
      • HiDPIスケーリング
      • パッケージング
    • ReactOS関連:
      • explorer.exe
      • shell32.dll関連
      • ReactOSユーザーランドとWINEの非互換性
    • GNU/Linuxデスクトップスタックの複雑な詳細全般

■ 8. リリース予定

  • ビジョンの完全な実現時期:
    • 不明
  • 2026年1月中に初期の概念実証版をリリース予定:
    • /etc/apt/sources.listに追加してsudo apt installで導入可能
    • 欠落や不具合の長いリストが付属
    • そこから反復的に改善していく