Bug 512393 - Local dimming in HDR mode does not work
Summary: Local dimming in HDR mode does not work
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: general (other bugs)
Version First Reported In: 6.5.3
Platform: Debian unstable Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-11-20 15:54 UTC by bohdan.tulba
Modified: 2025-12-05 17:09 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description bohdan.tulba 2025-11-20 15:54:42 UTC
SUMMARY
The window manager does not activate the monitor’s local dimming when HDR is enabled. This issue has been present for about six months across KDE versions from 6.3.6 up to the current one. I also tested Ubuntu 25.10, Fedora Workstation, Manjaro, and KDE Neon Testing. The problem is identical, although otherwise system performance when playing movies in MPV and in games through Proton remained normal. In addition, the brightness adjustment in the HDR calibration utility under Settings → Display & Monitor somehow affects the overall brightness of games and movies in HDR mode. When the calibration wizard’s brightness slider is set to maximum by default, the monitor does indeed display the image at maximum brightness in both HDR and SDR modes. However, local dimming does not work — only the overall brightness level changes. When I boot into Windows 10, the monitor displays HDR movies correctly without any additional configuration. A few days ago, I tested the Nobara distribution with KDE 6.5.2. The issue persisted, though the overall image brightness was slightly higher.
STEPS TO REPRODUCE
1. Enable HDR in KDE system settings window
2. Input on MPV configuration file: vo=gpu-next
gpu-api=vulkan
profile=high-quality
hwdec=yes
gpu-context=auto
target-peak=1000
hdr-compute-peak=yes
hdr-contrast-recovery=0.30
hdr-peak-percentile=99.995
dither-depth=10
temporal-dither=yes
dither=ordered
If “gpu-next” is selected in the **vo** option, the video appears washed out. However, if I load this configuration file in Celluloid, the colors in the video look normal. But in both players, as well as in games, the monitor’s local dimming does not work.
3. Launch MPV or game under steam with proton-ge. Proton settings on all games: PROTON_ENABLE_AGS=1 PROTON_ENABLE_WAYLAND=1 PROTON_ENABLE_HDR=1 %command%

OBSERVED RESULT
Video looks some washed out and local dimming does not work.

EXPECTED RESULT
Video with normal colors and local dimming.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Debian Sid and KDE 6.5.3
KDE Plasma Version: 6.5.3
KDE Frameworks Version: 6.20.0
Qt Version: 6.9.2
Comment 1 Zamundaaa 2025-11-20 17:42:16 UTC
Unfortunately neither KWin nor even the graphics driver have any influence over whether or not the screen enables local dimming.

I know FreeSync HDR has some bit that can be set to suggest local dimming on/off, but that's currently not supported on Linux. I have some patches that enable FreeSync HDR and could be extended to do this as well... but would definitely still take quite a while to reach distributions.

Does your monitor have a setting to control local dimming? Mine can be switched between off/auto/on in its OSD.
Comment 2 bohdan.tulba 2025-11-20 18:51:04 UTC
(In reply to Zamundaaa from comment #1)
> Unfortunately neither KWin nor even the graphics driver have any influence
> over whether or not the screen enables local dimming.
> 
> I know FreeSync HDR has some bit that can be set to suggest local dimming
> on/off, but that's currently not supported on Linux. I have some patches
> that enable FreeSync HDR and could be extended to do this as well... but
> would definitely still take quite a while to reach distributions.
> 
> Does your monitor have a setting to control local dimming? Mine can be
> switched between off/auto/on in its OSD.

I disabled FreeSync in games, the monitor's OSD, and Adaptive Sync in the KDE settings. In the monitor’s OSD, there was indeed an issue. The monitor model is AOC Q27G3XMN. When i turn off local dimming in the OSD, the overall brightness setting becomes available, which was set to only 30%, and the picture is much brighter with more vivid colors. Now, I can notice slight halos on dark backgrounds, which suggests that local dimming is working, but not across the full range. This is because increasing or decreasing the overall brightness in the HDR calibration master affects the brightness of bright or very bright frames in movies. However, large dark areas remain completely dark.
Comment 3 bohdan.tulba 2025-11-23 10:22:53 UTC
I double-checked the monitor settings and player configuration. Indeed, the main issue was with the monitor — the OSD showed brightness at full, but the backlight was only at 30%. After resetting, the picture became bright. However, there is a bug in MPV; movies still look dim and washed out. With this configuration, Celluloid displays the correct brightness.
Comment 4 Zamundaaa 2025-12-05 17:09:36 UTC
Okay, nothing that really needs doing here then.