2.4 KiB
2.4 KiB
Smithay Changelog
version 0.3.0 (to be released)
Large parts of Smithay were changed with numerous API changes. It is thus recommended to approach version 0.3 as if it was a new crate altogether compared to 0.2.
The most notable changes are:
- Deep refactor of the graphics backends around a workflows centered on allocating graphics buffers, and a Gles2-based renderer abstraction is provided.
- Support for DRM atomic modesetting as well as client-provided DMABUF
- Most backends are now
calloop
event sources generating events. The recommended organization for your smithay-based compositor is thus to centralize most of your logic on a global state struct, and delegate event handling to it via the shared data mechanism ofcalloop
. Most of the callbacks you provide to Smithay are given mutable access to this shared data. - The
wayland::compositor
handling logic now automatically handles state tracking and delayed commit for wayland surfaces.
Many thanks to the new contributors to Smithay, who contributed the following:
- Support for
libseat
as a session backend, by @PolyMeilex - Support for graphics tablets via the
tablet
protocol extension, by @PolyMeilex - Support for running Smithay on
aarch64
architectures, by @cmeissl - A rework of the
xdg-shell
handlers to better fit the protocol logic and correctly track configure events, by @cmeissl - Basic Xwayland support, by @psychon
version 0.2.0 (2019-01-03)
General
- [Breaking] Upgrade to wayland-rs 0.21
- [Breaking] Moving the public dependencies to a
reexports
module - Migrate the codebase to Rust 2018
Backends
- [Breaking] WinitBackend: Upgrade to winit 0.18
- [Breaking] Global refactor of the DRM & Session backends
- [Breaking] Restructuration of the backends around the
calloop
event-loop
Clients & Protocol
- Basic XWayland support
- Data device & Drag'n'Drop support
- Custom client pointers support
version 0.1.0 (2017-10-01)
Protocol handling
- Low-level handling routines for several wayland globals:
wayland::shm
handleswl_shm
wayland::compositor
handleswl_compositor
andwl_subcompositor
wayland::shell
handleswl_shell
andxdg_shell
wayland::seat
handleswl_seat
wayland::output
handleswl_output
Backend
- Winit backend (EGL context & input)
- DRM backend
- libinput backend
- glium integration