Wayland Color Management Protocol Might Be Close to Merging

64 pointsposted a month ago
by voxadam

31 Comments

formerly_proven

a month ago

In one way this is very good because it adopts a sane model for color management (unlike X11 and Windows).

In another way it's pretty weird that Wayland, designed in the late 2000s, made no provisions for something other than 8-bit and "presume sRGB".

cyberax

a month ago

It's more like Wayland itself doesn't care much about what surfaces contain. The new protocol allows Wayland apps to communicate the information about color spaces and to request color transformations.

Arguably, this should have been added from the start. On the other hand, HDR displays were basically non-existent in 2000-s. It's unlikely that developers could have gotten everything right without ever testing the protocols.

orbital-decay

a month ago

Color management is not just for HDR displays. It's one of the reasons creatives always leaned toward Macs - system-wide color management has been a thing for ages there.

Wayland wasn't initially designed with it in mind because they haven't consulted their supposed userbase for their use cases, instead focusing on a narrow problem space that was understandable for them personally, and codifying their assumptions. It's basically another case of "falsehoods programmers believe about X".

kelnos

a month ago

This is the thing that has always confused me about the path of Wayland's development. A lot of the original designers and implementers had worked on X11 and/or GUI toolkits for years prior to starting to build Wayland, but there's so much missing (like color management has been) that it feels like all those people somehow forgot all their experience when they started working on Wayland.

I suppose it could be that their experience taught them to build something minimal and then extend things later, but I think that approach has done Wayland a lot of reputational harm over the years.

jauntywundrkind

a month ago

So much of X was built on bad one time hacks that never died, that ossified into place.

It's zero surprise to me that Wayland folks didn't rapidly promote the first pass at color management to official status.

Headlines like this are misleading as fuck. It elevates the consternation of those wondering "why wasn't this here already?!". But this is the hopeful 1.0 of a long road, of compositor specific tries, of countless iterations & tweaks.

The case for respecting a long hard process are vastly vastly vastly undersold. Short un-understanding quickly dominates. It's easy to say why wasn't something there? But in 20 years, it would be way worse and way harder to say "why was such a bad thing approved?". It just takes a lot of time, for incredibly open ended problems to find reasonably good satisfactory resolution, that multiple implementers will feel is a good sound protocol to work from. It isn't a desire for minimalism that drove Wayland protocols, it's a shock horror & critical terror at what the sloppy past had allowed to grow up & a recognition that what gets 1.0'ed needs to face a much higher standard than what happened in the past, needs a far higher level fo confidence & future sightedness. Don't ship slop.

Appease the user of now, or build an enduring legacy that can keep building: the early-game people will forever protest & scream about how bad the late-game builds are at doing the thing, but the late game people almost never ever get the respect & accolades for ascertaining & achieving the true long term objectives. But if they weren't there, there's such a real chance the whole enterprise might have fallen over & collapsed.

throw16180339

a month ago

I'll invoke Cunningham's Law here. If I remember correctly, Wayland was designed to support a wider range of display targets than X11, such as set-top displays, car dashboards, and other specialized systems. In these cases, the full functionality of a traditional desktop environment isn't required, so it isn't included in the base system.

formerly_proven

25 days ago

I kinda had this "wayland was actually designed for embedded use cases and [therefore lots of things don't matter]" also in the back of my mind, but I failed to find any evidence at all for this actually being the case. Nevermind that embedded Linux generally didn't use X11 back then and doesn't use Wayland today.

thatfunkymunki

25 days ago

Automotive infotainment displays are almost entirely Wayland now

hulitu

24 days ago

Because they don't run any programs and you basically have QT on your automotive screen.

jorvi

25 days ago

> I suppose it could be that their experience taught them to build something minimal and then extend things later

Without the "extend things later" part. Wayland is/was severely underspecced because the devs had a pretty big trauma from the way X11 was developed. The idea was that by keeping it very minimal they could punt everything off to the layers above Wayland, where iteration is quicker. The higher layers would also be less foundational, meaning that development there wouldn't be stuck in committee quagmire for years.

orbital-decay

25 days ago

Color management in particular is very bad to have as an afterthought. You need to build everything around it conceptually, and make every part of the pipeline color-aware, propagating the metadata end-to-end and optimizing it to exclude unnecessary transformations. Microsoft recognized the problem in Vista and still struggles with it in modern Windows versions.

Dylan16807

a month ago

> I suppose it could be that their experience taught them to build something minimal and then extend things later, but I think that approach has done Wayland a lot of reputational harm over the years.

Even then, I'd expect color gamut and depth support to be a top priority, second major release, sort of feature.

...Why does the wikipedia page for Wayland say that color management was added in 2013?

beeflet

a month ago

>I think that approach has done Wayland a lot of reputational harm over the years.

Only if you consider Wayland to be a finished complete replacement for X11 — which distros have... oops! The reality is that in linux, the users act like developers (in the sense that they know how to fill out bug reports) so they get treated like developers and dogfooded.

From a business perspective, distros like Fedora are basically testing for RHL, no?

pjmlp

25 days ago

Creatives with money.

There are more creatives in the world than those that fit into 10% desktop market, and in the 90's, Apple had even less, in a world where Atari, Amiga and Acorn also existed.

koito17

a month ago

Displays with a wider color gamut than sRGB -- the average of a sample of early-to-mid 90s CRT displays -- have existed for decades now.

Not to mention, Mac OS X supported color management (and exporting color profiles) since its first public release in 2001. Even today, it's trivial on a Mac to e.g. connect a monitor and export its color profile into an ICC file, which can then embed into a QuickTime container, PNG image, etc.

cyberax

a month ago

I don't think I've seen more than 8-bit monitors before mid-2010-s, except for some DICOM-specialized grayscale monitors.

> Even today, it's trivial on a Mac to e.g. connect a monitor and export its color profile into an ICC file

And you can use the ICC profiles in Wayland: https://wiki.archlinux.org/title/ICC_profiles#Wayland This capability has existed for a long time.

The protocols being merged allow _each_ _application_ to work within its own color profile, including more-than-8-bit colors, exposing this information to the composer. The composer can then dynamically translate the color formats, according to the output capabilities.

So if you move a window from an HDR-capable external screen to a laptop's crappy LCD, you'll get reasonable image, instead of a black window (or a washed out image).

adgjlsfhk1

a month ago

color space and bit depth aren't the same. you can have 8 bit P3 vs 8 bit SRGB (etc). A colorspace is a combination of a whitepoint, a gamma transform, your color primaries, and a bit depth.

ykonstant

25 days ago

What is a good, concise resource for all this stuff for the interested layman? I am not familiar with anything but the very basic "RGB" and know basically nothing about how video screens really work.

cyberax

25 days ago

Basically:

The colors on the screen will look more like on a photo print. In addition, if your monitor supports more than 8 bits per pixel color information, then you'll be able to see more vibrant colors.

Avamander

a month ago

Maybe not HDR displays, but we had plenty that had lower bit-depths. Windows 11 still supports dithering even. It basically works in both directions if you want any chance of having a resemblance of accurate color reproduction.

shrubble

a month ago

Hasn't X11 had this for longer than Wayland has even been in existence? See for instance https://tronche.com/gui/x/xlib/color/

zamadatix

a month ago

There is a good page comparing the two implementations as part of the intro to the larger protocol planning for color and hdr https://gitlab.freedesktop.org/pq/color-and-hdr/-/blob/main/...

The implementation is slightly different to make things work better as both older decisions are cleaned up and newer features like per-monitor HDR pipelines are made more approachable.

jacooper

a month ago

Duh. The entire point of wayland is replace x11.

njtransit

a month ago

I think the point is that X had this feature when Wayland was launched 16 years ago. That’s not exactly an inspiring pace of development.

seanhunter

25 days ago

Surely it says more about development priorities than about pace? IF they put this at the top of their P0 must have features list and didn’t deliver for 16 years then you’d have a point.

pjmlp

25 days ago

It kind of makes the point the UNIX headless servers and CLI is where GNU/Linux stands.

hulitu

25 days ago

> Wayland Color Management Protocol Might Be Close to Merging

might. Call us when it is.