開発

Google ANGLEがWayland対応統合、CEFのネイティブ動作障壁が解消

Googleのグラフィックス抽象化レイヤーANGLEにWayland対応が統合され、Chromium Embedded FrameworkのネイティブWayland動作における最大の障壁がついに解消された。

7分で読める SINGULISM 編集チームが確認・編集

Google ANGLEがWayland対応統合、CEFのネイティブ動作障壁が解消
Photo by Chauncey Wilson on Unsplash

長年の待ち望まれた対応がついに実現

Linuxデスクトップ環境における次世代ディスプレイサーバープロトコル「Wayland」への移行は、ここ数年で急速に進んでいる。そんな中、Googleが開発するグラフィックス抽象化レイヤー「ANGLE」に、ついにネイティブWayland対応がマージされた。この変更は、多くのアプリケーションで利用されているChromium Embedded Framework(CEF)におけるWayland対応の最後の障壁となっていたもので、2019年11月から続く長年の課題に終止符を打つ可能性を秘めている。

ANGLEとは何か

ANGLE(Almost Native Graphics Layer Engine)は、Googleが開発・保守するグラフィックスAPI抽象化レイヤーである。その主な役割は、OpenGL ES 2および3のAPI呼び出しを、各プラットフォームでネイティブに動作するグラフィックスAPIへと変換することだ。具体的には、Windows環境ではDirect3D、Linux環境ではOpenGLやVulkan、macOS環境ではMetalへと翻訳を行う。

この仕組みにより、アプリケーション開発者はプラットフォームごとのグラフィックスAPIの差異を意識せずに、統一されたOpenGL ESインターフェースで描画処理を記述できる。Google ChromeをはじめとするChromiumベースのブラウザはもちろん、CEFを利用した多くのデスクトップアプリケーションがANGLEの恩恵を受けている。

CEFとWaylandの長い歴史

CEFはChromiumのブラウザエンジンをデスクトップアプリケーションに組み込むためのフレームワークだ。ゲーム内ブラウザ、電子メールクライアント、IDEのヘルプビューアーなど、幅広いアプリケーションがCEFを利用しており、その利用範囲は極めて広い。

Waylandは従来のX Window System(X11)に代わるディスプレイサーバープロトコルとして、FedoraやUbuntuといった主要Linuxディストリビューションで標準採用が進んでいる。セキュリティの強化、HiDPIディスプレイ対応の改善、よりスムーズな描画などを実現するWaylandは、Linuxデスクトップの未来を担う基盤技術だ。 しかし、CEFのWayland対応は長い間、完全な形では実現していなかった。Phoronixの報道によると、CEFにおけるWayland対応の進捗を追跡していたissueチケットは2019年11月にまでさかのぼる。約6年半にわたるこの課題の背景には、ANGLEがWaylandへのネイティブ対応を持っていなかったという根本的な理由があった。

なぜANGLEのWayland対応が重要だったのか

CEFがWayland上で動作するためには「Ozone」というウィンドウシステム抽象化レイヤーを経由する必要がある。OzoneはChromiumが複数のウィンドウシステムに対応するための仕組みであり、Waylandやヘッドレス環境などをサポートしている。

ただし、CEFがOzone経由でWaylandに接続する際、グラフィックス描画の部分でANGLEがネイティブなWaylandサポートを持っていないと、適切なウィンドウ管理やサーフェスの作成が行えない。これがCEFのWayland対応における最大のボトルネックとなっていたのだ。 ANGLEにWayland対応が統合されたことで、CEFはOzone/Waylandウィンドウを正しく作成し、グラフィックス描画をネイティブに行えるようになる見通しが立った。これは、CEFを利用した膨大な数のアプリケーションが、将来的にWayland環境でシームレスに動作する道を切り開くものだ。

Linuxデスクトップへの影響

今回の変更が及ぼす影響は決して小さくない。現在、主要なLinuxディストリビューションはX11からWaylandへの移行を進めており、一部のディストリビューションではWaylandがデフォルトのセッションとして採用されている。

そのような環境下で、CEFベースのアプリケーションがWaylandネイティブに動作しないことは、ユーザーにとって大きな不便を意味する。XWayland互換レイヤーを通じて動作させることは可能だが、ネイティブ対応と比較するとHiDPIスケーリングの不整合や入力遅延といった問題が生じやすい。 ANGLEのWayland対応により、今後はCEFベースのアプリケーションでもネイティブなWayland描画が可能になる。これにより、Linuxデスクトップ環境全体のWayland移行がさらに加速することが期待される。

今後の展望 ANGLEへのWayland対応がマージされたことで最大の技術的障壁は取り除かれたが、CEF側で新しいANGLEが統合され、正式にWaylandサポートが有効化されるまでには、さらに工程が必要となる。CEFのissueチケットは現時点でまだクローズされていないが、ANGLE側の対応が完了したことで、近い将来に正式対応が実現する可能性は高い。

Phoronixの記事では、新しいANGLEがCEFに組み込まれた際にissueがクローズされることへの期待感が示されている。開発者コミュニティにとっては、約6年半にわたる待ち望んだ進展であり、Linuxデスクトップエコシステム全体にとっても意義深いマイルストーンとなるだろう。 ANGLEのWayland対応統合は、単に1つのソフトウェアコンポーネントの機能追加にとどまらない。それは、LinuxデスクトップにおけるWaylandの標準化という大きな潮流の中で、重要なピースがようやくはまったことを意味している。

よくある質問

ANGLEとCEFの関係はどういうものですか?
ANGLEはGoogleが開発するグラフィックス抽象化レイヤーで、CEF(Chromium Embedded Framework)におけるグラフィックス描画の基盤として機能しています。CEFはChromiumエンジンをアプリケーションに組み込むためのフレームワークであり、その描画処理はANGLEに依存しているため、ANGLEの対応範囲がCEFの動作環境を直接左右します。
Waylandは従来のX11と比べてどのような利点がありますか?
WaylandはX Window Systemに代わるディスプレイサーバープロトコルで、セキュリティ面の強化、HiDPIディスプレイへのより適切な対応、描画のスムーズさなどの改善が特徴です。現在、FedoraやUbuntuなどの主要ディストリビューションでWaylandへの移行が進められています。
CEFベースのアプリケーションにはどのようなものがありますか?
CEFはゲーム内ブラウザ、デスクトップアプリケーションに組み込まれたヘルプビューアー、電子メールクライアントなど、幅広いソフトウェアで利用されています。CEFのWayland対応が進めば、これらのアプリケーションがLinuxのWayland環境でネイティブに動作するようになります。
出典: Phoronix

コメント

← トップへ戻る