[macOS/WAYLAND: HDR/Wide-Gamut Display] - Darktable 5.8 - WE NEED YOU FOR TESTING

Hi! It has been a really long-standing problem for darktable to not being able to output wide-gamut and HDR content. The following design & overhaul aims to fix it once and for all, and on every platform, by explicitly manage pipeline output encoding and offering abstraction for different backends:

Binary available at Release Darktable nightly build 20261109 · yikerman/darktable · GitHub

Also check out macOS WCG/HDR that builds on top of it (which I cannot verify)

Binary available at Release Darktable nightly build 20261109 · yikerman/darktable · GitHub

For complete changes I recommend reading the top comment in the PR.
I’ve tested on KWin 6.8.2 with a wide-gamut/HDR display and in a VM of X11/Cinnamon, but more setups would be very helpful, especially GNOME/Mutter (see discussion, it’s a PIA), and whether any regressions are there on macOS and Windows.

The testing rule of thumb now is that preview (more specifically, proofing) should match export, assuming the preview application for your export is rendering WCG/HDR correctly. I find wkjarosz/hdrview looking quite promising as a ground truth, but personally I’ve only tried mpv on my setup. I hypothesis built-in preview on macOS will also work well.

6 Likes

Thanks, I will give it a test in hyprland and kde.

3 Likes

Does this natively implement wide gamut on MacOS as well? I’d be thrilled!

1 Like

Try Nick’s PR. Theoretically yes!

1 Like

X + i3wm at non-HDR display - exported JPEG shows no regressions.

1 Like

Is this the full implementation of the „new“ wayland color Management protocol?

I am not very sure what you mean. It talks to Wayland with color_management_v1 protocol.

Well if it actually talks to wayland color management it should be finally possible to see colors outside of srgb when wayland color management is on? Thats what I mean.

But I thought this was not possible without porting darktable to gtk4 first.

Does this work with Nvidia hardware? Becuase the Krita implementation didnt work with nvidia when I tested it a few months ago.

Yes, as long as your compositor and display supports that.

It is possible but ugly. I hate that too and I deliberately designed such that the workarounds can be relatively easy to be removed when dt finally migrates to gtk4…

I tested on my PC which uses RTX 3080, nvidia-driver 615 and kwin, and I don’t get errors.

2 Likes

If this is true, you are a genius.

Is wide gamut + wayland color management possible without hdr?

I think most people here have p3 and/or adobe rgb screen but no real hdr.

Yes. These are orthogonal features.

I heavily borrowed the methodology from krita. Everyone should donate to KDE!

3 Likes

The only thing thats missing now is a proper image viewer that can talk to the wayland color management, preferably in rust or so.

Seems to work. I can see the difference between AdobeRGB and sRGB. Tested on Arch/EndeavourOS (KDE Plasma 6.8/Nvidia 615) and Debian Testing with an RTX 5060 Ti. On Debian it does not work.

Why do you think it does not work on Debian? Because of the KDE Plasma version or the Nvidia driver? On Debian I installed the “stable” version of the driver from the original nvidia.run. Should I try the feature branch?

Edit: apparently it’s not the driver verison.

Edit: doesn’t work on Arch/Hyprland.

Most likely because of kwin.

well according to my tests it only works on arch with kde plasma 6.8
also tested sway meawhile

also tested that hdrview tool, as far as I can without an hdr screen - no difference between srgb and adobergb or display p3

also want to add: for my tests I used the appimage provided by @yikerman

I am seeing on github that apparently on debian sid/gnome things are working too

I am so excited about this, this is really big!

2 Likes

I think the main focus should be on the compositor than just the distro. Kwin has focus on color management more than others from my limited experience.

Very likely the compositor implementation is not new enough; use -d control to see what is being negotiated. Rule of thumb is that if hdrview cannot display it we cannot do much better.

Also can you attach distro and compositor version of which are not working?

half float shm is 0 on debian/plasma 6.7

well basically everything except kwin 6.8 on arch is not working.

I have two systems installed (on the same hardware): Arch and Debian Testing. Debian Testing comes with Plasma/Kwin 6.7

I tested on both systems KDE Plasma, Hyprland and Sway.

As far as Sway is concerned: according to the terminal output darktable color management is available (on the contrary to KDE 6.7), but the difference between srgb and wide gamut is not visible, everything looks like srgb. Everywhere, even in Chromium. I think that’s a bug in Sway, I already noticed this like a year ago.

On Hyprland, I get the same as on Plasma 6.7: half float shm 0.

I did some investigation, and since support on color management across different compositors are, …of uneven quality, I suggest that this impl focus on Mutter and Kwin only. This build Nightly PKG · yikerman/darktable@9a54f48 · GitHub should contain more diagnosis message on negotiation.

2 Likes