Wayland-композитор — главный компонент современного Linux-десктопа. Он пересылает приложениям события от клавиатуры и мыши, подключает и отрисовывает мониторы, отвечает за анимации и расположение окон, готовит кадры при записи экрана.
Я хочу поделиться своим опытом написания композитора niri. Расскажу, как на Rust устроена работа с Wayland, в котором асинхронность сочетается с постоянным доступом к глобальному состоянию. Покажу, как поддерживать корректность логики рандомизированными тестами proptest. Познакомлю с профилировщиком Tracy и расскажу, как я измеряю задержку ввода собранным вручную тестером.