トラック B
14:15 - 14:40 (JST)
本発表では Linux の GUI の中核に位置する Wayland compositor を Rust で作ることについてお話します.
Unix での GUI は1980年代に X Window System が登場してからそれをベースとして発展してきました. Linux では近年, それを Wayland で置き換える取り組みが増えてきています. 例えば Ubuntu 22.04 LTS では Wayland がデフォルトになりました.
Wayland は GUI のためのプロトコルです. HTTP などと同じく, それを喋るサーバーとクライアントがいます. Wayland クライアントはウインドウを表示してほしいアプリケーションです. (E.g. ブラウザ, テキストエディタ, ターミナル) Wayland サーバー (compositor) はこれらのウインドウを適切な位置, 順序でディスプレイに描画したり, キーボードやマウスをアプリケーションに繋げるものです. GNOME (Mutter), KDE (KWin), Hyprland, niriなど色々な Wayland compositor の実装があります.
都度都度 HTTP を直に処理することが少ないように, Wayland も扱いを容易にするためのライブラリ/フレームワークを通じて扱うのが一般的です.smithay
crate は下層のハンドリング, 登録されたウインドウ情報の保持, イベントループの駆動などをサポートしてくれるライブラリです. かなり便利なのですがあまり情報がないため少しとっつきづらい面もあります. 本発表では smithay を用いてシンプルなタイル型 Wayland compositor を作成し, 面白さを伝えたいと思います.
皆さんも Wayland compositor 自作しましょう!!
(Rust 以外の事前知識は仮定しません. 非 Linux ユーザーでも楽しんで聞けるようにしようと思っています. 但し自分で動かしてみたい場合は Linux を触ってみてください.)
keno, a small sawagani/Loves math, coffee, Emacs, Lisp, Rust, software talk
Copyright © Rust.Tokyo 2024 all rights reserved.