Wayland color management

yea, just tested it, same as plasma 6, colors outside of srgb are wrong

Apparently they want it to work like MacOS, i.e. color management is done by the system, not the application, so desktop icons and everything that has no embedded profile are not oversaturated on wide gamut. but it does not work properly. as I described before: a profile can be chosen and set in the desktop environment, and on wide gamut screens it actually does adjust (reduce) saturation to some extent, but the trouble is that colors outside of srgb are apparently displayed as a the closest color inside srgb. so photos in e.g. adobergb that actually contain colors outside srgb are not displayed correctly.
I can’t code, I don’t understand the technical details but it’s really strange and I can’t imagine how this is actually possible…

Btw I think I tested what you just suggested, i.e. no system(wayland)-wide profile, just set the profile with dispwin, and then use whatever x11 photo app that’s color managed and can pick up the profile from x-atom, or select the profile inside the app. I think that does not work either but I will test again.

This is not what I was suggesting. I was suggesting trying with an app that supports setting an explicit icc profile

I just tested again. x11 apps that work via xwayland are actually color managed if they can get the right profile. But for this to work properly, you have to switch off wayland color managment, and then apps such as gwenview display oversaturated colors because they are wayland native and there is no way to set the profile inside gwenview. So you constantly have to switch on and off system wide color management if you are using both x11 and wayland native apps.

1 Like

Tearing support is being added(or has already been, haven’t been following that very much) so users will also have the option to tear if they prefer :smiley:

Has anybody tested if color management under can be configured outside of gnome or kde plasma? I mean something like sway or hyprland?

I don’t think wlroots(sway’s compositor) has implemented it, so only after that will hyprland implement it since their composer is based on wlroots and still takes many things from it.

But the wheels are turning… somewhat: Color Management · Issue #4377 · hyprwm/Hyprland · GitHub

1 Like

One more reason to start with the color mgmt API now and start testing it:

if you find any issues they might be fixed before the spec is 100% finalized

1 Like

would you know an entry point (api docs/example code/something)? i’m interested in trying it… i’m going to claim that vkdt works just fine by doing all the colour management by itself… but so far this depends on dispwin for the vtcg (and also i can only run wayland using the onboard intel gpu in my laptop, the nvidia will not allow me to show images on screen, only in x11). i’d be interested to understand the approach taken here (do i tag surfaces with a colour space? can i get one that is straight monitor rgb with linearised vtcg?).

1 Like

Yes, that’s the gist of my question above as well…

1 Like

Just to make sure I understand it right, up to now X and Windows have just managed the availability of device profiles, it was up to the application to grab them, convert to them, and display the converted image on the supposedly raw screen… ??

If so, is Wayland just going to perpetuate that, or is it going to require applications deliver their display renditions pre-converted to a working space, or a deliver a color profile along with the rendition for them to convert?

The availability of API/data access for calibration apps to use is yet another concern, one of which I know far less…

1 Like

As a developer I’ve followed a bit the development in the protocol merge request, just from an intellectual point of view, interested in how this evolves from scratch. I don’t code for Wayland or related stuff , so, please ignore my answer if off topic.

There is a separate repository with documentation and some implementation advices here (maybe too much) that is useful to understand the design: https://gitlab.freedesktop.org/pq/color-and-hdr

In the protocol PR, I find the description of each interface and parameter quite well written and it makes it quite easy to understand https://gitlab.freedesktop.org/swick/wayland-protocols/-/blob/color/staging/color-management/color-management-v1.xml (you just have to ignore the XML tags)

From my understanding of that protocol, the way it work is by attaching a wp_color_management_surface_v1 object to your wayland surface with the required color informations. There are 2 ways to create such infos: from an ICC file or from scratch setting all params.

Once a surface is properly described, it’s up to the compositor to do the display transformation (or not if the surface if already in the same profile as the display)

I hope this answers your questions in some way.

4 Likes

It does, thanks!
I guess we just need to wait for the protocol to be merged and then we can tag the surface then. Until then, if I understand correctly this blog post, the best thing to do on wayland with color management enabled is to set the display profile at the application level (for apps that allows to do that, which include GIMP, Krita, geeqie, darktable, RawTherapee) to rec.709 with a pure 2.2 gamma to get reasonable colors

3 Likes

Hello everyone,

Just for your information…

As regards the color management for softwares based on QT (Krita, Scribus, QCAD, FreeCAD, QGIS etc etc) there is this interesting news:

To sum up:
“Upstream, the QGIS team is currently working with Qt developers to improve Qt to support CMYK in their color models and conversion, focusing on PDF and TIFF formats”

I am experimenting with Hyprland and apparently I am finding out that it is actually possible to live in Wayland if you have a wide gamut screen. darktable seems to work fine with Xwayland and is color managed (just put the screen profile to .config/darktable/color/out), and it is also possible to set the screen profile inside Firefox which is a Wayland native. So for now the best thing to do is actually disabling system wide Wayland color management. But I have to do further tests with Digikam etc. So the only thing that is really still missing in Wayland is calibration/profiling software.

5 Likes

Thanks for the hint, I was going through xiccd but since I only need profiles for Darktable this should be much easier.

2 Likes

both digiKam and RawTherapee are actually Wayland native

3 Likes

Geeqie does not start on Arco Linux Hyprland live (can’t install Flatpak) but XnView is Wayland native and color managed (monitor profile can be set inside the program)

1 Like

You know what I truly don’t understand and it really boggles my mind?
Where are the people from all the huge companies releasing graphics software for Linux? Why aren’t they engaging in the discussion? They are, after all, making huge amounts of money from it and they would make even more. I think it’s probably worth mentioning them here and maybe us “banding together” might be worth to bring this issue to the attention of the big software companies that actually stand to directly profit from that work.

Just some of the huge “industry” software that works on Linux and required proper color management:

BlackMagic DaVinci Resolve also Fusion
Adobe Substance 3D
Autodesk Maya
Maxon (various software like Cinema 4D etc.)
SideFX Houdini
Foundry (various software like Nuke)
Otoy Render Engine (“The world’s first spectrally correct, unbiased render engine”…)
RodeoFX OpenWalter
ftrack
BorisFX
Weta Digital
And about Weta Digital, here is a quote from Dustin Kirkland:

Next I attended Paul Gunn’s talk in the SysAdmin Track on Weta Digital’s effects rendering data center, here in Wellington. Very early in the talk, he noted that 90% of their artists run the Ubuntu Desktop, with the remaining 10% using Windows. Adobe Photoshop is one of the few remaining apps that still need Windows for. He went on to talk more about their server render farm, noting that all of their 35,000 cores are also running Ubuntu. In the talk, he called these “Ubuntu Servers”, which to me meant that they were installed from the Ubuntu Server seed.

Also, I remember one guy telling me how they only use Linux to produce Dr. Who, after a bit of digging, I’ve found out that Linux has been used at BBC by content producers since 1999!!

There are also “Linux” foundations that are apparently involved with VFX industry etc. How come none of their people are involved in the discussion?
https://vfxplatform.com/linux/
https://www.aswf.io/

What I’m wondering is when will everyone stop pretending like Linux is not used in the graphics industries? It’s literally everywhere, the only proprietary software that comes to Linux is precisely that kind and yet the OS itself gets the least love in that area.
Wayland has an opportunity to make something right here. Atm the best color management is on MacOS so it would need to be at least on par with that.
Maybe we need to do some outreach to those proprietary software vendors for something to actually be done? This is a bipartisan issue, both foss and closed after all xD

You also said you wanted a concrete things you could share with devs. I just want to reintroduce this into the thread in case some ppl have missed it and since the link to the original seems to be broken:
https://web.archive.org/web/20211028152104/https://www.argyllcms.com/CM_requirements.txt

4 Likes