ITADN

Feat: Add support for `wlr-gamma-control-v1`

#103Pull RequestLeVraiArdox 创建于 2025-11-27
L
LeVraiArdoxcommented
This closes #50 This PR implements the `wlr-gamma-control-v1` protocol, enabling support for screen color temperature adjustment tools like Gammastep or wlsunset. This initially started as a task to close the missing protocol support issue, but required a specific workaround for the DRM backend implementation. ### Changes: - Protocol Handler: Added `src/handlers/gamma_control.rs` to handle client requests for gamma size and setting gamma ramps. - Backend Support: Updated UdevData in `src/backend/udev.rs` to handle atomic commits for `GAMMA_LUT`, `DEGAMMA_LUT`, and `CTM`. ### Status After testing with gammastep, I can confirm it successfully works with udev backend. **However**, this can't be implemented for winit and headless backends. Why ? Because the protocol only works if your backend actually exposes a **real** Wayland output that supports gamma LUT (KMS/DRM) or at least something that pretends to. Therefore, this is only possible with udev. ### TODO - [x] Make this actually works - [x] Cleanup
合并状态:未合并 1 条评论