Color saturation (vibrancy) correction broken on RX570 GPU since commit 0e444a4de6b38c4593a07e4cfb5bf54c40cc79b6
Hello,
Brief summary of the problem:
After I updated my distribution and the kernel to 6.4, I observed that the script I use to correct the color saturation, based on libvibrant, didn't work anymore.
After some investigations, I observed the absence of this properties (displayed by xrandr --prop) which were present before the upgrade :
GAMMA_LUT_SIZE: 4096
range: (0, -1)
DEGAMMA_LUT_SIZE: 4096
range: (0, -1)
GAMMA_LUT: 0
range: (0, 65535)
CTM: 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 1
DEGAMMA_LUT: 0
range: (0, 65535)
for instance (with the latest kernel of my distribution):
[jules@tue-amour ~]$ $HOME/devel/libvibrant/build/vibrant-cli/vibrant-cli HDMI-A-0
libvibrant version 1.0.2
Cannot find output HDMI-A-0 in the list of supported outputs, it either does not exist or is not supported
[jules@tue-amour ~]$ xrandr --prop |grep LUT
[jules@tue-amour ~]$
I managed to pinpoint the issue to commit 0e444a4de6b38c4593a07e4cfb5bf54c40cc79b6: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0e444a4de6b38c4593a07e4cfb5bf54c40cc79b6
and https://lists.freedesktop.org/archives/dri-devel/2022-November/378252.html
Reversing the commit restore the previous behaviour, the aforementioned properties are present and I can correct colour saturation:
[jules@tue-amour ~]$ $HOME/devel/libvibrant/build/vibrant-cli/vibrant-cli HDMI-A-0
libvibrant version 1.0.2
Saturation of HDMI-A-0 is 0.800000
Thanks in advance
regards
Julien
Hardware description:
-
CPU: I3-9100F
-
GPU: AMD Radeon RX 570 Series, polaris10 01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev ef)
-
System Memory: 16GB
-
Display(s): 2
-
Type of Display Connection: HDMI, DVI
System information:
- Distro name and Version: Mageia 9 x86-64
- Kernel version: 6.4.16-3.mga9.x86_64
- Custom kernel: N/A