Waylandへの入門
公式ドキュメント
https://wayland.freedesktop.org/docs/html/index.html
作って学ぶWayland
https://qiita.com/maueki/items/34323b2762e3c3342c51
(コード: https://github.com/maueki/learning-wayland )
tinywl
https://gist.github.com/ddevault/ae4d1cdcca97ffeb2c35f0878d75dc17
いいのを見つけた!
X11で50行でできていたことが、Waylandでは約1000行も書く必要があるよう
Wayland自体が提供する機能は非常に部分的
Xとの違い
https://wayland.freedesktop.org/docs/html/ch03.html#sect-Wayland-Architecture-wayland_architecture
Waylandが提供するのは情報をやり取りする方法である
必要があればプロトコルの定義も自力で行う
ただし、これは公式が便利なツール(wayland-scanner)を提供している
Xサーバーでできていたこと
ウインドウの描画
入出力の処理
フォーカスの管理
複数ディスプレイの管理
これらをゼロから書く必要がある
随時KMS, evdevのような各種モジュール、あるいはカーネルそのものと通信する必要がある
それらを直接叩くのは難しく、既存のツールを使うのが得策である
wlroots
XサーバーをバックエンドとしてWaylandコンポジタを動かすこともある