Niri: опыт создания Wayland-композитора на Rust
Тезисы
Wayland-композитор — главный компонент современного Linux-десктопа. Он пересылает приложениям события от клавиатуры и мыши, подключает и отрисовывает мониторы, отвечает за анимации и расположение окон, готовит кадры при записи экрана.

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

Я хочу поделиться своим опытом написания композитора niri. Расскажу, как на Rust устроена работа с Wayland, в котором асинхронность сочетается с постоянным доступом к глобальному состоянию. Покажу, как поддерживать корректность логики рандомизированными тестами proptest. Познакомлю с профилировщиком Tracy и расскажу, как я измеряю задержку ввода собранным вручную тестером.
Видеозапись доклада
Появится здесь после конференции
Информация о спикере
Иван Молодецких
Разработчик свободного ПО на Rust
Аспирант и исследователь на факультете ВМК МГУ в лаборатории компьютерной графики и мультимедиа. В остальное время — разработчик свободного ПО на Rust. Помимо композитора niri, контрибьютил в GNOME, где сделал текущий встроенный интерфейс для скриншотов и уменьшил задержку ввода. Сделал быструю запись видео с помощью Vulkan для игры Half-Life; написал два графических приложения для GNOME (Identity, Video Trimmer).

Блог: https://bxt.rs
GitHub: https://github.com/YaLTeR
  • Иван Молодецких
    Разработчик свободного ПО на Rust
    Аспирант и исследователь на факультете ВМК МГУ в лаборатории компьютерной графики и мультимедиа. В остальное время — разработчик свободного ПО на Rust. Помимо композитора niri, контрибьютил в GNOME, где сделал текущий встроенный интерфейс для скриншотов и уменьшил задержку ввода. Сделал быструю запись видео с помощью Vulkan для игры Half-Life; написал два графических приложения для GNOME (Identity, Video Trimmer).

    Блог: https://bxt.rs
    GitHub: https://github.com/YaLTeR
Все доклады