世界を動かす技術を、日本語で。

Xfwl4 – Xfce Waylandコンポジタのロードマップ

概要

  • Xfceチーム がWayland向け新コンポジタ xfwl4 の開発を発表
  • Brian Tarricone が主要開発者として資金提供を受けて開発担当
  • xfwm4 と同等の機能・操作性を目指し、設定も引き継ぎ予定
  • Rust+smithay でゼロから実装、既存コードは流用せず
  • 開発の詳細や進捗は MatrixチャンネルOpen Collective で案内

XfceのWaylandコンポジタ「xfwl4」開発ロードマップ

  • Xfceチーム がコミュニティからの寄付金を活用し、新Waylandコンポジタ「 xfwl4」の開発開始
  • Brian Tarricone が長期的なコア開発者としてプロジェクトをリード
  • xfwl4 は現行の xfwm4 と同等の機能・操作性を提供することを目標
  • xfwm4 の設定ダイアログや xfconf 設定を再利用し、ユーザーの移行負担を軽減
  • 既存の xfwm4 コードは流用せず、 Rustsmithay の技術スタックで完全新規実装

なぜ新規実装が必要か

  • 既存 xfwm4 コードの構造が X11 依存であり、Wayland対応のための抽象化が困難
  • X11 との互換性維持のためのリファクタリングは、既存X11環境に新たなバグを招くリスク
  • 並行して2つのコードベースを持つことで、Wayland側の開発・実験が迅速かつ安全に実施可能
  • Wayland 未対応のウィンドウ管理機能を既存コードで扱うのは困難
  • 既存コード利用では C言語wlroots が必須となり、より良い選択肢の活用が難しい

smithayベース採用の理由

  • smithay はWayland公式プロトコル拡張や wlroots ・KDEプロトコルも広くサポート
  • 高レベル抽象化が無く、グラフィック・入力・プロトコル処理の深いカスタマイズが可能
  • ドキュメントが充実 し、開発効率・品質向上に寄与
  • Rust 利用によりメモリ関連バグの回避や安定性向上
  • 開発者の Brian がRustを好み、 wlroots のRustバインディング作成が困難なため

プロジェクトの範囲と今後の展望

  • xfwm4 との機能同等性の確保が最重要課題
  • Wayland環境では compositor がセッションのルートとなるため、 session-startup の大幅改修が必要
  • xdg-session-management プロトコル対応も目標
  • XWayland 対応もロードマップに含む
  • Xfce CI コンテナのビルドシステムも meson+Rust 対応へアップグレード予定
  • 既に開発が始まっており、 年央に初期開発リリース を目指す計画
  • 詳細な技術的議論・進捗は Matrix #xfce-devOpen Collective で公開
  • Open Collective US/EU の支援者への感謝の意

コミュニケーションと情報源

  • 技術的な詳細や議論は Matrixチャンネル #xfce-dev で展開
  • 進捗やコードは Open Collective およびGitリポジトリで随時公開
  • 支援者・コミュニティへの感謝と今後の協力の呼びかけ

Hackerたちの意見

Xfceを約10年間、日常的に使ってるんだ。Waylandのサポートが進んでるのは嬉しいね。Rustで書かれてるのも、プロジェクトにもっと貢献者が集まる助けになると思う。Xfceを使ってるなら、彼らのオープンコレクティブに寄付することをおすすめするよ: https://opencollective.com/xfce https://opencollective.com/xfce-eu

俺はxfceを約5年間使ってる。先月、月々の寄付を設定したばかりで、今日はいいニュースを見たよ:)

XFCEが軽量デスクトップの選択肢としてしっかりしていてほしいな。ここ数年でKDEの大ファンになったけど、軽量とかミニマルって感じじゃないしね。個人的にはWaylandの大ファンだし、Rustにはあまり否定的じゃないから、これには問題ないと思ってる。ただ、長年のXFCEファンやこのプロジェクトにお金を寄付した人たちがどう感じるかは気になるな。理由はしっかりしてると思うよ:Waylandは未来っぽいし、Rustを使うことでコンポジタのクラッシュを減らせるのはいいことだと思う。ただ、XFCEのユーザー層は「伝統的」で技術に保守的な人が多いから、WaylandやRustに対して懐疑的な人も多いんじゃないかな。複雑で無駄だと思ってるかも。もちろん、正しい選択をしたなら、すぐに結果が出るはずだから、頑張ってほしいね。

ただ、XFCEのユーザー層は「伝統的」で技術に保守的な人が多いから、WaylandやRustに対して懐疑的な人も多いと思う。 2007年からのXFCEユーザーだけど、これは正確じゃないと思う。私たちは物事が「ただ動いてほしい」し、無意味に変わるのは嫌なんだ。プロジェクトがどの言語で実装されてるかなんて、ユーザーは気にしないよ。退屈してて、ウェブフォーラムで無駄な議論を楽しむ人以外はね。Waylandには勢いがあるし、変化には不満が出るのは当然だけど、移行は起こるし、ネイティブサポートが増えればそれほど痛みもないはず。X11の信者たちはSysV-initの信者と同じ道をたどるだろうし、昔の良き時代を叫ぶ少数派で、実際には誰も気にしてない。Waylandに切り替える理由はちゃんとあるし、XFCEチームがこの移行をうまくやると信じてる。XFCEチームからの素晴らしいニュースだね、彼らがこれを成功させるのが楽しみだよ。

Waylandが「未来のように感じる」ってどういうこと?俺や他の多くの人にとっては、使い勝手の問題が深刻で、むしろ後退してるように感じるよ。せっかく動いてたGUIがあったのに、時間とリソースの大きな無駄遣いに思える。 (もしかしたらそれが意図だったのかもね。)支持者の主張は「俺より古いコードは嫌だ」っていう、商業Linuxベンダーに雇われたプロらしい意見に集約されてるし、Androidみたいな分離もない — 誰も本当に望んでない機能だよね。「プロトコルだから」っていうマントラも、回避策が必要な機能が多すぎるとあんまり安心できない。結局、断片化や一般的な非互換性につながるし。複雑で悪いプロトコルなんてたくさんあるけど、生き残るのは本質的に「シンプル」(例えばSMTP)か「トリビアル」(例えばTFTP)なもの。Waylandの後継が、X400に対するSMTPみたいになるかもしれないけど、俺にとってWaylandは未来じゃなくて過去の妥協に見えるな(開発にほぼ16年かかってるし)。

確か、X11とWaylandしか存在しないし、X11は死にかけてるか、もう死んでる。rustについては、デスクトップユーザーが使われている言語を気にする理由が見当たらないよ、十分に良ければね。

そうだね、「壊れてないものを直そうとするな」っていうのを強く支持してる。今のXFCEは速くて軽量で使いやすいし、大きな問題もなく動いてる。XFCEがXの代わりにWaylandを使う利点や欠点は完全には理解してないけど、もし他の誰かがHNで指摘してたように、Wayland上でXFCEを動かすと遅くなるなら、開発者たちはXFCEの一番の強みを弱めることになるよね。そうなると、他の小さな利点は俺みたいなユーザーには無意味に思える。

それなら、未来は高遅延でいっぱいだね。

ちなみに、今のところほとんどのwlrootsベースのコンポジタはXFCEで使えるよ。俺はGentooでHyprlandとXFCEを使ってる。 https://github.com/bergutman/dots

レトロテーマ、いいね!HyprlandとXFCE4を「呪われた組み合わせ」と表現した理由をもう少し詳しく教えてくれない?公式のXFCEプロジェクトが自分たちのコンポジタを作ることにした理由がわかるかもしれないよ。

もしWaylandのサポートがあったら、今すぐXFCEを使ってると思う。ほんとに素晴らしいと思うし、こういう進展があるのは嬉しい。プロジェクトがスピーディーに進むことを願ってる。DEがハードなsystemdサポートを要求する中、XFCEみたいなものがあればいいな。

WaylandはLinux以外のシステム(例えば*BSD)でも動くの?Wayland用に書かれたアプリケーションのウィンドウを、X11からXQuartzみたいにMacに送る方法はあるのかな?

Hacker Newsで議論の続きを見る