Wayland Display Server

Linuxなどで長らく使われてきたGUI環境のXサーバ。このXサーバに変わるものとしてWaylandというものがあるようです。
そもそもGUI画面がなぜサーバなのか、と一番最初は疑問に思いましたが、OSやWindows Managerと切り離せることにより、Windowsとは違って画面デザインが柔軟に変更できるのを見て納得したものでした。
そんなXサーバにかわるWaylandをちょっと試してみました。

環境: Fedora 25


上のように開発用パッケージとWestonコンポジッタを追加します。

参考サイト: https://github.com/hdante/hello_wayland
このサイトにあるソースを表示に関する部分だけを使い、この動作を研究しました。
画像データはこのブログのロゴで、このサイトにあるPythonのツールを使ってファイル変換しました。

コンパイル

cc -o wl_client wl_client.c -lwayland-client

westonコマンドで、Westonコンポジッタを立ち上げ、その中のコンソールから実行しました。

Fedora25はデフォルトでWaylandが使われていので、Westonコンポジッタがなくても表示するようです。

これだけのことしかやっていないのですが、コードのボリュームがかなりあります。
初期設定のsetup_wayland関数では、接続処理やリスナーの登録があり、サーバ、クライアント間の通信プログラムらしいです。
registry_global関数では、どのような呼び出し方をされているのか知りたかったので、内容を表示しました。

とりあえず入口にたったところです。

参考: https://fedoraproject.org/wiki/How_to_debug_Wayland_problems