Wayback: X11とWaylandを統合するレイヤー

帰り道

数日前、Alpine Linuxディストリビューションの開発チームは、 Waylandインフラストラクチャ上でX11ベースのデスクトップ環境を実行するために設計されたプロジェクトの最初の実験版であるWayback 0.1のリリースを発表しました。

この提案は、従来のX.orgサーバーからより近代的で軽量なアーキテクチャへの移行を促進することを目的としており、リポジトリ内に別途Xサーバーを維持する必要性をなくすことで、レガシーアプリケーションのメンテナンスコストを削減します。

Waybackは、最小限の機能を備えたWaylandコンポジットサーバーとして機能し、Xwaylandを介してフルスクリーンX11セッションを実行するために必要な機能のみをサポートします。Xwaylandは、X11アプリケーションをWayland環境で実行できるようにするDDXコンポーネントです。

tinywl から Xorg の代替候補へ

Waybackの中核部分は、 wlrootsライブラリのリファレンスコンポジタであるtinywlに着想を得ていますが、Xwaylandが自律的に動作するために必要な最小限の機能に絞り込まれています。このプロジェクトの目標は明確です。将来的には、WaybackはXorg実行ファイル(/usr/bin/X)の完全な代替となり、X11デスクトップ環境との互換性を維持しながら、Waylandを基盤として動作することを目指しています。

Alpine Linuxでは、WaylandとXwaylandの必須コンポーネントのみを残し、それらの上にX11環境を直接起動するように実装し、別途X.orgサーバーを不要にすることを目標としている。

Wayback Machineは、最初の発表以来、大きく進化を遂げてきました。プロジェクトのアーキテクチャは、主に3つのコンポーネントに再編成されました。

  • wayback-compositor(グラフィック構成の管理を担当)
  • Xwaybackは、コンポジターと一緒にXwaylandを起動するためのXorg互換のコマンドラインインターフェースを提供します。
  • wayback-session は、startx に似たインターフェースを持つセッション マネージャーとして機能します。

集中型ログシステム、getoptにヒントを得た新しいオプションパーサー、そしてclang-formatを用いた標準化されたコーディングスタイルも導入されました。さらに、プロジェクトはGitHubからfreedesktop.orgのインフラストラクチャに移行し、開発コミュニティとの連携を強化しました。

現状と限界

Waybackはすでに日常的なシンプルな環境で使用できますが、まだアルファ版であり、一部の機能は未実装です。マルチモニター設定やDPMSによる電源管理はサポートされておらず、多くの従来のXorgオプションもまだプレースホルダーのままです。特定のビデオゲームやXScreenSaverのようなセキュリティアプリケーションで不可欠なマウスポインターのキャプチャも、まだできません。

これらの制限にもかかわらず、チームと複数の貢献者は既にこれを定期的に使用し、エラーの検出と修正を行っています。コミュニティの皆様には、テスト、バグの報告、さらには貢献の提出をお願いしており、これにより開発が強化されています。

もう一つの新機能は、Waybackに公式ロゴが採用されたことです。これはX.orgのエンブレムから直接インスピレーションを得たもので、後継者であり技術的な架け橋としての役割を視覚的に強調するものです。また、Libera.Chat上のIRCチャンネルにリンクされたMatrixチャンネルが開設されたことで、開発者との直接的な連携が容易になり、プロジェクト間のコミュニケーションも改善されました。

最後に、 Waybackはあらゆる場面でXorgを即座に置き換えることを目的としたものではなく、 X11環境のみを使い続ける必要があるユーザー向けに、軽量でモダン、かつメンテナンスの手間がかからない代替手段を提供するものであることを述べておく価値がある。モジュール式の設計とWaylandおよびXwaylandとの直接的な統合により、X11のレガシーとの互換性を維持しながらWaylandの普及を加速させるための重要なコンポーネントとなっている。

Waybackを試してみたい方は、Alpine Linux、Nix、Arch Linux (AUR)、Fedora、T2、ALT Linuxなど、複数のディストリビューション向けに既にパッケージ化されているため、さまざまな環境で簡単にインストールしてテストできることを覚えておくと良いでしょう。インストール方法の詳細は、こちらのページをご覧ください。

最後に、すべてのコードはC言語で記述され、MITライセンスの下で配布されているため、オープン性と様々なシナリオへの適応性が保証されていることを付け加えておきます。さらに詳しく知りたい場合は、以下のリンクをご覧ください。


Googleで優先ソースとして追加する