-
Notifications
You must be signed in to change notification settings - Fork 342
Gamma correction isn't applied to hardware cursors #968
Comments
Gamma is a CRTC property. We cannot set it on the cursor plane. The only way I'd see this working is colouring the cursor in software. |
:( |
Actually I don't see why we couldn't color the cursor in software, iiuc we upload an arbitrary texture to the cursor plane if there is one so we could probably apply some software filter just before uploading that texture and it should just work™ ; We do transforms like rotate/flip/scale so why not gamma? Or am I missing something? Can the texture sometimes not go through wlroots? One tricky point I see is that a naive implementation would likely only update the cursor gamma when the cursor texture is updated, unless we keep the latest untransformed texture around to update it on set_gamma... |
I'm fine with doing it in software. |
This seems to be working fine on DRM backend with i915 (Intel HD Graphics 530). |
The i915 driver apparently colors the cursor plane with the crtc gamma, the radeon driver does not. Seeing the same limitation on Xorg with a radeon card where the cursor is noticably blue when using redshift. |
Yeah, I can reproduce on i915 too. I don't see any way of detecting if the cursor needs gamma or not. |
If the drivers are making the call maybe we can speak to the AMDGPU folks? |
Not applying the gamma LUT to all planes is a driver bug, see https://lists.freedesktop.org/archives/dri-devel/2020-September/279398.html |
Reported the issue here: https://gitlab.freedesktop.org/drm/amd/-/issues/1290 If you can reproduce this issue on radeon, please add a comment with your graphics card model and kernel version. |
No description provided.
The text was updated successfully, but these errors were encountered: