Track B
14:15 - 14:40 (JST)
In this talk, we'll explore how to build an Wayland compositor in Rust, which is a core component of Linux GUI environment.
(PC) GUI environment in UNIX started with X Window System in the 1980s and developped over years. In recent years, Linux ecosystem is trying to replace it with Wayland. For example, Ubuntu 22.04 LTS adopted Wayland as a default GUI protocol.
Wayland is a protocol for GUI. Like HTTP, there are concepts of servers and clients. An Wayland client is an application that wants to display an window. (E.g. web browsers, text editors, terminals.) An Wayland server (compositor) draws these windows on a display in the appropriate position and order, and feeds keyboard and mouse events to the applications. There are lots of implementations, e.g. Gnome (Mutter), KDE (KWin), Hyprland, niri, etc.
Like ones rarely handle raw HTTP protocol by their own, it's common to use libraries/frameworks to handle Wayland protocol. smithay
crate provides features for it, e.g. low layer protocol handling, storing window information, driving event loop, etc. It's very convenient but requires some prerequisits to start to use. This talk will provide them through building a very small, simple, tiling Wayland compositor.
Let's build your own Wayland compositor! It's a fun!
keno, a small sawagani/Loves math, coffee, Emacs, Lisp, Rust, software talk
Copyright © Rust.Tokyo 2024 all rights reserved.