今流行りの Wayland について、基本的な事が分かってなかったので調べてみた。
特徴
Wayland とは、X11 の置き換えになるプロジェクト。各アプリケーションからの画面表示依頼を合成して一つの画面にまとめる。Wayland Architecture によると、特徴はこんな感じ。
- X11 では Compositor (Window Manager の事?) に実際の合成を移譲していたが、Wayland 自身が Compositor 相当の機能も担当する。
- X11 ではクライアントが描画コマンドを X サーバに投げて X サーバが描画していたが、Wayland ではクライアントが描画を行う。
- Weston とは、Wayland を使った単純な Window Manager。
疑問
- Wayland が X11 の置き換えというよりは、X11 そもそも無くなってしまって Gnome や Enlightenment 等の各 Window Manager が Wayland ライブラリを使って画面の制御を行うという事なのかな?
- 普通のアプリ開発者は Gtk 等のツールキットを使うので、あまり意識しなくても良い?
Ubuntu 16 で試す
インストール
$ apt install weston
使い方
-
既存の Unity (X11) の上に新しい Weston の画面を開く
$ weston
-
Weston を全画面で使う 1
- 一旦 Unity からログアウトする。
- ログイン画面で Unity アイコンを押すと Select desktop environment メニューが出るので Weston を選択。
- 抜ける時は alt + ctrl + Delete
-
Weston を全画面で使う 2
- alt+ctrl+F1 でバーチャルコンソール
$ weston-launch - 抜ける時は alt + ctrl + Delete
- alt+ctrl+F1 でバーチャルコンソール
XWayland で X のアプリを Wayland 上で動かす
https://wiki.archlinuxjp.org/index.php/Wayland#XWayland によると .config/weston.ini の編集で動くらしいが動かなかった。
また、バーチャルコンソールから weston-launch -- --modules=xwayland.so
はエラーになった。
参考
- Waylandプログラミング入門: http://d.hatena.ne.jp/devm33/20140422/1398182440
- Wayland の Client と Compositor の概念を理解する: http://qiita.com/naohikowatanabe/items/06a8b988b89b4b1ec899