Bug 506220 - Text displays fringing while on HDR mode
Summary: Text displays fringing while on HDR mode
Status: RESOLVED UPSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: colour-management (other bugs)
Version First Reported In: 6.4.1
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-06-26 14:56 UTC by davidgillig9
Modified: 2025-07-04 22:03 UTC (History)
2 users (show)

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


Attachments
Text fringing (3.30 MB, image/jpeg)
2025-06-26 14:56 UTC, davidgillig9
Details
Photo without HDR enabled, text looks fine (3.44 MB, image/jpeg)
2025-06-26 15:01 UTC, davidgillig9
Details

Note You need to log in before you can comment on or make changes to this bug.
Description davidgillig9 2025-06-26 14:56:02 UTC
Created attachment 182689 [details]
Text fringing

SUMMARY
When enabling HDR on a Gigabyte M27Q display, text shows fringing colors. This happens on the display only, since capturing a screenshot does not exhibit this bug on other devices

STEPS TO REPRODUCE
1. Turn on HDR
2. Text becomes blurry

OBSERVED RESULT
See image attached

EXPECTED RESULT
Text displays clearly without any fringing.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux 6.15.3
KDE Plasma Version: 6.4.1
KDE Frameworks Version: 6.15.0
Qt Version: 6.9.1

ADDITIONAL INFORMATION
The system has an NVIDIA RTX 4070Ti SUPER as the only GPU, maybe it has something to do with NVIDIA's proprietary driver?
Comment 1 davidgillig9 2025-06-26 15:01:56 UTC
Created attachment 182691 [details]
Photo without HDR enabled, text looks fine

Forgot to add a picture with HDR off, where text displays correctly without fringing. It's mostly noticeable on the yellow lines that are displayed next to certain letters when compaerd.
Comment 2 Zamundaaa 2025-06-26 15:34:05 UTC
That looks like it might be chroma subsampling. It's possible the driver is sacrificing color resolution to get higher bit depth for brightness values.
If you set the "limit color resolution" setting to 8 bits, that might help avoid that issue.

Displays also often do nonsensical things while in HDR mode, that's part of the reason why we don't enable it by default. Yours could be doing some additional sharpening to "improve" the image for games or movies, at the detriment of desktop usage (and really, often bad for games and movies too...). Maybe there's some settings on the screen you can tweak?
Comment 3 davidgillig9 2025-06-26 16:19:31 UTC
(In reply to Zamundaaa from comment #2)
> That looks like it might be chroma subsampling. It's possible the driver is
> sacrificing color resolution to get higher bit depth for brightness values.
> If you set the "limit color resolution" setting to 8 bits, that might help
> avoid that issue.
> 
> Displays also often do nonsensical things while in HDR mode, that's part of
> the reason why we don't enable it by default. Yours could be doing some
> additional sharpening to "improve" the image for games or movies, at the
> detriment of desktop usage (and really, often bad for games and movies
> too...). Maybe there's some settings on the screen you can tweak?

Hi! Thanks for the reply. It definitely seems related to that, since changing the refresh rate to 120Hz fixes the problem. What's stranger is that, when running the same setup on Windows (1440p resolution at 170Hz with HDR on) text looks fine.

The only limit to the bandwidth seems to be either 8 bit when running above 120Hz, with 10 bit working below that. Why does KDE require 10 bit to display color correctly when Windows can do that with 8 bit?
Comment 4 Zamundaaa 2025-07-03 16:47:54 UTC
(In reply to davidgillig9 from comment #3)
> The only limit to the bandwidth seems to be either 8 bit when running above
> 120Hz, with 10 bit working below that. Why does KDE require 10 bit to
> display color correctly when Windows can do that with 8 bit?
It doesn't. I know the NVidia driver does though, or at least did in the past, so you can report this at https://forums.developer.nvidia.com/c/gpu-graphics/linux
Comment 5 davidgillig9 2025-07-04 22:03:52 UTC
(In reply to Zamundaaa from comment #4)
> (In reply to davidgillig9 from comment #3)
> > The only limit to the bandwidth seems to be either 8 bit when running above
> > 120Hz, with 10 bit working below that. Why does KDE require 10 bit to
> > display color correctly when Windows can do that with 8 bit?
> It doesn't. I know the NVidia driver does though, or at least did in the
> past, so you can report this at
> https://forums.developer.nvidia.com/c/gpu-graphics/linux

So the driver is forcing 10bit , that makes sense. I read that WCG can be disabled using kscreendoctor, I'll try it out later when I get home, but it seems to be a common issue since my laptop does the same when using HDMI 2.0 and outputting 4k 60Hz HDR: it defaults to 4:2:0, and if I set it to 30Hz it uses RGB (This is on an I5-1155G7 with GNOME though).