I’m new to Fedora KDE and I have trouble understanding how wallpaper color management is supposed to work. I have a Wide Gamut Display with HW calibration support, calibrated and working perfectly. I have loaded the appropriate color profile into the KDE Display settings. And enabled color management in the settings.
It looks like color management is working as expected on the GUI elements and Firefox seems to be doing the right color transformations. However I have a problem with setting the Wallpaper right. Wallpapers are under saturated due to the wrong color conversion being applied. PNG and JPEG images with or without a color profile seem to be assigned an sRGB profile and converted to display space resulting in very dull incorrect colors. Funny if I use BMP format it is displayed correctly. Please note that I have converted the images to the display color-space in GIMP and tagged them with the display color profile.
I understand that assuming an sRGB profile makes sense for images that do not have a color profile. But why is the result incorrect even if the correct profile is saved into the image file?
I would prefer to use JPEG and PNG. Does any format work particularly well with KDE?
I thought I was going insane, I’ve been dual booting Windows 11 and CachyOS with KDE for the past few months (looking to fully switch to Linux at some point)… and no matter what I did (ICC profiles, sRGB color intensity settings… etc) the wallpaper color looked really de-saturated in SDR.
I just tried what you suggested, opened my original wallpaper in GwenView and saved it as a BMP, and the colors are being represented properly.
I’ll go search for an existing bug report and if non exist, I’ll create a new one.
It sounds like Plasma’s wallpaper picker might be stripping or ignoring the ICC profiles for compressed formats but handling the raw data in BMPs differently.
Until that gets patched, if you just need a clean backdrop without the color shift, you might want to try grabbing a solid color or a simple generated one from a site like https://solidbg.com/. I’ve used it to test if my display profile is actually being applied correctly to the desktop layer versus just the windows. Might be a quick way to see if the issue is with the file metadata or the way KDE renders the wallpaper layer specifically.
I am not on KDE anymore but I will try a live distro to check. Currently I am running CachyOS and Gnome. It seems that Gnome does no color management on the Desktop. This is similar to old Windows behavior which is not ideal… but at least can be worked around by manually converting the wallpapers to the display profile first, saving them separately and applying the files. Ideally color-management should work correctly if the image is tagged with a color profile, otherwise it should display the image as is. However this is problematic for non tagged sRGB images so I think an option should be added to toggle tagging images that don’t have a profile with sRGB. If a user has a mix of tagged or untagged images it would be quite easy to tag the ones that require color management with srgb, leaving the “sRGB as Default” option off.
On Windows 10 / 11 the situation is much worse, in addition to color management not working as expected windows lowers the quality of the wallpaper by converting it to JPEG or something internally. And does not want to process PNG files larger than a threshold size at all. Also still works on BMP files pretty good with a workaround. Another problem is that BMP format consumes a lot of space for nothing. BMP takes even more space than lossless compressed PNG. Very confusing and frustrating.
I had the same problem with KDE default wallpapers on Manjaro. Wallpapers were undersaturated compared to the source image being viewed on the same screen. I switched from no color profile from ‘None’ to ‘built-in’, and it helped a bit. I tried converting it to BMP and it didn’t help a lot. But I noticed the original wallpaper was in the resolution 5120x2880. I changed the wallpaper to a resized version of the same image (1920x1080) so that it is the same resolution as my monitor, and it worked!
The saturation and contrast were the same as when the image is viewed separately. This suggests there is a problem with KDE resizing images to match resolution.
Interesting! I did not realize that. I always resize my images to the exact display resolution so that I have control over the resizing algorithm used and get maximum quality anyway… a fortunate coincidence in this case. On gnome it is sufficient to pre-convert the image to the display profile and since no color management is applied by the gnome desktop the image is displayed correctly this way.