| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2025-01-23 | 6.4 kB | |
| v0.4.0 Gathering raw ores source code.tar.gz | 2025-01-23 | 764.5 kB | |
| v0.4.0 Gathering raw ores source code.zip | 2025-01-23 | 968.3 kB | |
| Totals: 3 Items | 1.7 MB | 0 | |
So... It's been 3.5 years since the last release, but by no means has the project lost its steam, it's quite the opposite, it's more lively than ever. The reason for the release gap is simply the fact that we all got used to using cargo git dependencies, for the constant stream of latest and greatest features.
Wayland-rs 0.30
The big highlight of 0.4 is the development of wayland-rs 0.30 by @elinorbgr followed by the porting of Smithay to it by @PolyMeilex @i509VCB and @Drakulix which changed the design direction of the project significantly and opened a lot of new possibilities when it comes to Smithay's API design.
Desktop & Rendering Abstractions
Introduced by @Drakulix desktop abstractions solve a lot of the busy work needed for a typical desktop shell, they introduce 2D Spaces that elements like TopLevels and Layers can be mapped onto for easier tracking of popups, z-order and most importantly, full damage tracking via RenderElements.
As a cherry on top, you can combine this with the new DrmCompositor abstraction by @cmeissl to achieve proper DRM Planes support and fully leverage your hardware's capabilities.
New Protocols
- WLR Layer Shell protocol by @PolyMeilex in https://github.com/Smithay/smithay/pull/354
- XDG activation protocol by @PolyMeilex in https://github.com/Smithay/smithay/pull/358
- XDG decoration protocol by @PolyMeilex in https://github.com/Smithay/smithay/pull/394
- Add wl-touch support by @chrisduerr in https://github.com/Smithay/smithay/pull/499
- Add support for viewporter by @cmeissl in https://github.com/Smithay/smithay/pull/588
- Add support for the wp_primary_selection protocol by @Drakulix in https://github.com/Smithay/smithay/pull/670
- Input method and text input protocols by @rano-oss in https://github.com/Smithay/smithay/pull/443
- KDE server-decoration protocol by @chrisduerr in https://github.com/Smithay/smithay/pull/410
- Shortcuts inhibit protocol by @PolyMeilex in https://github.com/Smithay/smithay/pull/687
- Virtual keyboard protocol by @rano-oss in https://github.com/Smithay/smithay/pull/720
- wp presentation protocol by @cmeissl in https://github.com/Smithay/smithay/pull/794
- Support fractional scale by @cmeissl in https://github.com/Smithay/smithay/pull/840
- Relative pointer protocol by @ids1024 in https://github.com/Smithay/smithay/pull/757
- XDG shell versions 3,4,5 by @cmeissl
- XDG shell version 6 by @PolyMeilex in https://github.com/Smithay/smithay/pull/1130
- WpContentType protocol by @PolyMeilex in https://github.com/Smithay/smithay/pull/1011
zwp_idle_inhibitprotocol by @chrisduerr in https://github.com/Smithay/smithay/pull/1004- Security Context protocol by @ids1024 in https://github.com/Smithay/smithay/pull/1106
- zwp_pointer_gestures_v1 protocol by @YaLTeR in https://github.com/Smithay/smithay/pull/1114
- Pointer constraints protocol by @ids1024 in https://github.com/Smithay/smithay/pull/872
- drm leasing by @Drakulix in https://github.com/Smithay/smithay/pull/1132
- cursor_shape_v1 protocol by @kchibisov in https://github.com/Smithay/smithay/pull/1154
- wlr-data-control protocol by @kchibisov in https://github.com/Smithay/smithay/pull/1151
- ext-session-lock protocol by @YaLTeR in https://github.com/Smithay/smithay/pull/1166
- High res scrolling support (
wl_pointerversion 8) by @ids1024 in https://github.com/Smithay/smithay/pull/1246 - Implement
axis_relative_direction(wl_pointerversion 9) by @ids1024 in https://github.com/Smithay/smithay/pull/1253 - ext-idle-notify protocol by @YaLTeR in https://github.com/Smithay/smithay/pull/1320
- XdgForeign protocol by @PolyMeilex in https://github.com/Smithay/smithay/pull/1342
- XWayland shell protocol by @colinmarc in https://github.com/Smithay/smithay/pull/1351
- wp alpha modifier protocol by @PolyMeilex in https://github.com/Smithay/smithay/pull/1426
- XDG Dialog protocol by @PolyMeilex in https://github.com/Smithay/smithay/pull/1389
- foreign_toplevel_list protocol by @PolyMeilex in https://github.com/Smithay/smithay/pull/1513
- xdg_toplevel_icon protocol by @PolyMeilex in https://github.com/Smithay/smithay/pull/1512
- linux-drm-syncobj-v1 protocol by @ids1024 in https://github.com/Smithay/smithay/pull/1356
- xdg_system_bell protocol by @PolyMeilex in https://github.com/Smithay/smithay/pull/1566
- wl_shm version 2 by @PolyMeilex in https://github.com/Smithay/smithay/pull/1532
- fifo-v1 and commit-timing-v1 protocol by @cmeissl in https://github.com/Smithay/smithay/pull/1588
Backend changes
- X11 backend by @i509VCB in https://github.com/Smithay/smithay/pull/371
- Desktop abstractions by @Drakulix in https://github.com/Smithay/smithay/pull/423
- Popup grabs for desktop abstraction by @cmeissl in https://github.com/Smithay/smithay/pull/467
- Add support for GPUs without instanced rendering by @chrisduerr in https://github.com/Smithay/smithay/pull/495
- Introduce MultiGPU renderer by @Drakulix in https://github.com/Smithay/smithay/pull/503
- Feature/opaque regions by @cmeissl in https://github.com/Smithay/smithay/pull/659
- The Vulkan allocator by @i509VCB in https://github.com/Smithay/smithay/pull/614
- input: Split off input-handling and wayland-specific seat handling by @Drakulix in https://github.com/Smithay/smithay/pull/689
- renderer: Add glow integration by @Drakulix in https://github.com/Smithay/smithay/pull/744
- X11 wm in smithay by @Drakulix in https://github.com/Smithay/smithay/pull/570
- gles2: custom shaders by @Drakulix in https://github.com/Smithay/smithay/pull/901
- DRM planes with DrmCompositor by @cmeissl in https://github.com/Smithay/smithay/pull/760
- Introduce DRM abstractions crate by @PolyMeilex in https://github.com/Smithay/smithay/pull/924
- Surface Transactions by @Drakulix in https://github.com/Smithay/smithay/pull/1009
- Perf optimizations by @cmeissl in https://github.com/Smithay/smithay/pull/1086 & https://github.com/Smithay/smithay/pull/1128
- Feature/software renderer by @cmeissl in https://github.com/Smithay/smithay/pull/1228
- Perf/tiled renderers by @cmeissl in https://github.com/Smithay/smithay/pull/1449
- libdisplay-info integration by @cmeissl in https://github.com/Smithay/smithay/pull/1522
- DrmOutputManager by @cmeissl in https://github.com/Smithay/smithay/pull/1576
And many more changes that would take to long to list: https://github.com/Smithay/smithay/compare/v0.3.0...v0.4.0