- WinBoatは、設定の自動化と直感的なユーザーインターフェースにより、従来のWinAppsより使いやすさを重視
- WineやCrossOverで互換性のないAdobe製品群、Affinity Photoなどの主要アプリをサポート
- 実験的なUSBパススルー機能により、Windows専用ハードウェアの構成が可能
- GPU仮想化およびFlatpak、Podmanのサポート予定により拡張性が高い
- Office 365など代表的なWindowsアプリを自由に使用可能
WinBoatとは何か
- WinBoatは、Linux環境でWindowsアプリを円滑に実行できるよう支援するツール
- ユーザーは煩雑な手動設定なしに、必要な準備だけ整えれば一度の設定で統合された体験を利用できる
- 別途設定ファイルの修正や複雑なCLIコマンドの習得なしに、単一のインターフェースからすぐ利用可能
WinAppsとの比較
- WinAppsは複数の設定作業を手動で処理し、TUIやタスクバーウィジェット、CLIコマンドの利用が必要
- WinBoatはインストール後、一度で全構成を自動化し、直感的なUIを提供することで全体的なユーザー体験を完成
- 構成ファイルの直接管理やCLI暗記なしで、手軽な使い勝手を保証
CrossOverやWINEに対する利点
- Wine、CrossOverで動作が難しいさまざまなアプリ(例: Affinity Photo、Adobe全スイート、Paint Tool Sai、AeroChat、Acrobat、Officeなど)も動作
- 完全なWindowsデスクトップ環境を提供し、多様なソフトウェア互換性を確保
周辺機器/ハードウェアおよびパススルー対応
- USBベースの機器については、WinBoat 0.8.0からUSBパススルーをサポート(実験的)し、Windows用ソフトウェアで設定可能
- WinBoat旧バージョンの利用者は、docker-compose.ymlを直接修正する方法でUSB機器を追加可能
- 0.8.0以降では内蔵方式のみ対応
GPUパススルーおよびグラフィックス仮想化
- 現時点ではGPUパススルーは未対応
- 今後はpara-virtualizedドライバー、Indirect Display Driverなどを活用したGPUアクセラレーションおよびLooking Glassとの連携を計画
- テストの結果、一部ドライバーは実運用段階に不適と判断されており、準備が整い次第統合予定
ゲームおよびセキュリティ
- カーネルレベルのアンチチートが適用されたゲームは、仮想化環境の制約により実行不可
拡張性および配布計画
- Podman(Docker代替)のサポートを予定しているが、ネットワーキングの問題により機能は未完成
- Flatpakパッケージ化も計画中だが、システム・アプリのインターフェースやツール公開など技術的課題が存在
Windows SWおよびOffice対応
- Microsoft Office 365など主要なWindowsアプリは正常に動作
結論
- WinBoatは、ユーザーフレンドリーな自動化、互換性、拡張性といったさまざまな強みを基盤に、Linux上でWindowsアプリケーションをスムーズに利用できるよう支援するソリューション
1件のコメント
Hacker Newsの意見
これまでもゲーム分野では Looking Glass のような類似プロジェクトが存在し、あれも KVM 上の Windows VM を活用している(Docker コンテナの中で直接 Windows が動いているように見せているが、実際には KVM 上で動作する構成)
ユーザー体験(UX)の面では RAIL に近い
だからといってこのプロジェクトが悪いというわけではないが、結局は従来どおり API のシミュレーション/再実装か、OS 自体を動かす(Windows)かの二択の一つであり、完全に新しいものではない
もし第3の方法、たとえば in-place ABI 変換なら本当に大ニュースになると思う
プロジェクトページはたいてい、自分が何をしているのかを正確に語っていない
半分くらいは「Plorglewurzle がビッグデータ・ブロックチェーンを活用して Azure Cloud インフラにサブリニアなマイクロサービスを提供」みたいな説明ばかりだ
それでもこのプロジェクトは、少なくとも Windows のインストールが必要だということは示している
最後の部分が不要なら、dockur/windows イメージと FreeRDP だけを使うほうがよいかもしれない
常にネイティブアプリを使うこと。WINE も使わず、基本的に敵対的なものとの互換性を取ろうとしないこと
VM も使わないし、特にデュアルブートは絶対に勧めない。本当にひどい
完全に Linux に移行して、振り返らないのが一番いい
Proton は少し特別なケースで、Valve が毎日ものすごいエネルギーを注いでいるからこそ、あれだけうまく動く
良い知らせは、Linux の API/ABI の高度化に投資することは必ず実を結ぶということだ
Valve の MESA と amdgpu への貢献は本当にすばらしい
Valve には Linux の AAA タイトルやインディー作品を Steam の独占タイトル同然に厚遇してほしい
ゲーム開発者たちも「Linux 向けポートは必ず Linux 開発者に任せるべきだ」と感じてほしい
PS: 長いあいだ Counter-Strike が Linux で動かなかったのは本当に残念だったが、Valve がネイティブ移植してからは完全によくなった
PPS: Garmin Express と Zwift という互換性のない2つのアプリのせいで Mac も使っているが、Windows よりは保守の手間が少なく、Linux よりはできることが少ない
ファイルブラウザは本当にひどいし、ウィンドウ管理もいらいらする
それでも一日中頭を抱えさせられることはない
Counter-Strike 2 は Mac では動かないので、この部分は Linux の担当だ
反対意見として、Wine は本当によく動く(特に古いソフトウェアで)
人がこういうルールで自分を無駄に縛ると、多くの人が Linux を使えなくなってしまう
私の考え: 「根本的に不安定な API に合わせようとするな」が正しいと思う
関連記事: Win32 is the stable Linux userland ABI and the consequences
参考ブログ: Win32 the only stable ABI
正確に言えば、GNU/Linux 向けのネイティブアプリを使うのがよいとは思うが、まず第一に API を非常に長期間(少なくとも20年)安定して維持することが必要だ
自分の経験では、Linux ネイティブ版が本当にうまくできていた例はほとんどなかった
Windows-on-Proton 版のほうが、むしろ品質が良いことも多かった
BG3 を最近出した Larian のようにネイティブ版を見事に仕上げた会社には感謝している
Proton がうまくいく理由が Valve の継続的な努力のおかげだという点には完全に同意する
ゲーム開発者にネイティブ移植を叫んでも、現実にはなかなか進まない
結局、Steam Deck、Valve、Proton のおかげで市場が少しずつ Linux に移っていくことが可能になった
たとえば編み物パターン設計用アプリのような小さな専用ツールで、オープンソースでもない
こういう場面では、無理なく互換動作する環境がどうしても必要になることがある
(ゲームは Proton のおかげである程度解決している)
これはあまり良い助言ではないと思う
多くの人は Linux を使いながらも Windows アプリを動かしたいのであり、Wine もよく動く
Wine で動かないアプリは、デュアルブートでも十分使える
Office アプリを実行できると言うだけでなく、実際にどう見えるのかを見せてほしい
「シームレス」な体験を強調しているのに、肝心のデモがない
こういう点は本当に理解できない
個々の Windows ウィンドウが Linux デスクトップ(Alt-Tab、Ubuntu Dock など)にどう統合されるのか、それとも単に巨大な VM ウィンドウが1つ開くだけなのかについて、情報がまったくない
なぜこういうものをサイトで見せないのか不思議だ
残念ながら、基本的な使用すらうまく動かなかった
Edge ブラウザを起動するとウィンドウは開くがフリーズした状態で、復旧方法もなさそうだった
ウィンドウを閉じても枠が消えずに残る
「Desktop」オプションで接続しようとするとフリーズする
内蔵 WebView 経由でセッションに接続することはできたが、RDP 接続の許可を求めているように見えた
それ以上深くは掘らず、配偶者が必要としていた用途には合わなかったので、ノート PC を再び Windows に戻してしまった
今後、Windows 側のアプリ/システム連携がもう少し改善されることを願っている
多くの Windows アプリは Wine でよく動き、少し調整するだけで済むことも多いので、その選択肢も悪くないかもしれない
同じように、macOS アプリを Linux で動かせるようにするプロジェクトもあればいいのにと思う
そのため、macOS アプリ + Linux の組み合わせが一般的になるまでには、まだ時間がかかりそうだ
完全な macOS VM が必要なら、dockur のプロジェクトを参考にできる: dockur/macos
ただし、どちらも現時点では「シームレス」モードは未対応だ
どうせデスクトップ全体を使うなら、RDP よりもハードウェアアクセラレーション付きのグラフィックビューを使うほうが良いと思う
ここ数年、主に仕事で WSL を使っているが、GUI アプリをまるで Windows 上で直接作業しているかのように立ち上げて使えるので、生産性が上がる
少し変な点もあるが、かなり良いレベルだ
逆に Linux 側にも似たようなものがないか、ずっと気になっていた
実際のところ、Linux で Windows プログラムを使う必要はほとんどなかった
昔、Wine で GTA:Vice City をほぼ完璧に動かした経験があるくらいだ
最近は「Linux Subsystem for Windows」のようなものがあって、どんなプログラムでもすぐ動かせたらいいのにとよく思う
娘のノート PC に Debian を入れてあげたので、今後学校の課題で Microsoft 製品がどうしても必要になったときに WinBoat が代替手段になるのではないかと期待している
Wayland サポートはまだ開発中だが(Wayland 関連 Issue)、当面は xwayland でもある程度使える
IDD が出れば Looking Glass が iGPU 構成でも動くようになり(3D アクセラレーションはないが)、そこに意味がある
Looking Glass はもともと、ゲスト Windows のコンポジタとホスト側に表示されるクライアントプログラムの間でビデオメモリを共有できるようにしたのが大きな成果だった(qemu を利用)
残念ながら、まだカーネル外ドライバ(kvmfr)を別途インストールする必要があるが、それでもビデオメモリ以外の通常メモリも共有できるので、ある程度の性能向上が期待できる
デモ動画: YouTube リンク
Web サイトのトップで Discord をあまり前面に出さないでほしい
Discord は C2 サーバーとしてもよく使われるため、セキュリティが強化された環境ではアクセス時に警告が出る
うちの会社では警告がすぐ私に届くのでまだいいが、いずれにせよ不要な警告を誘発する
少なくともリンクの先に隠しておくほうがよい