Linux hinkt bei der Sicherstellung der Konsistenz der auf dem Monitor angezeigten Farben MacOS und selbst Windows noch immer weit hinterher. Die vielerorts erzwungene Einführung des Grafikservers Wayland in den meisten Linux-Distributionen hat diesen Zustand noch weiter verschlechtert, da das Farbmanagement von den Wayland-Entwicklern lange abgelehnt wurde. Die Spezifikation für ein CMS in Wayland wurde schließlich 2020 entworfen und der Code wurde 2025 in das Wayland-Upstream integriert, von externen Mitwirkenden und nach einem langen Kampf der Entwickler früherer CMS-Software gegen die historischen Entwickler von Wayland.1 Seitdem ist der Stand der CMS-Unterstützung über die Desktop-Umgebungen und Distributionen hinweg sehr unbeständig. Und dennoch zeigen die vorläufigen Ergebnisse der Ansel-Telemetrie eine Wayland-Verbreitung von 67 % unter den Ansel-Nutzern.
Sie sollten Ansel, oder jede andere Bildbearbeitungssoftware, nicht unter Wayland verwenden.
Note
Die Wayland-CMS-Situation variiert stark je nach Distribution und Desktop-Umgebung und wird sich in Zukunft weiterentwickeln. Anstelle eines vollständigen (bald veralteten) Überblicks darüber, was funktioniert und was nicht, werde ich die Checkliste vorstellen, die validiert werden muss, um die Verwendung von Wayland in Erwägung zu ziehen.TL;DR: Warum Wayland unter Linux nicht verwenden?
Weil der eigentliche Autor des Wayland-Farbmanagementsystems gesagt hat, dass es für den professionellen Einsatz in Foto und Video noch lange nicht bereit ist.1
Für den Endverbraucher- und Unterhaltungsbereich können Sie den Stand der Wayland-CMS-Unterstützung durch Ihren Desktop-Compositor in der Wayland-Dokumentation überprüfen.
Das Problem
Die meisten (wenn nicht alle) Laptop-Bildschirme und viele Monitore der Endverbraucherklasse haben einen Weißpunkt, der deutlich blauer ist als die standardmäßigen 6500 K, irgendwo zwischen 6800 K und 7200 K. Um das zu korrigieren, besteht der historische Weg darin, den Bildschirm zu kalibrieren und die Kalibrierungskurven in die Video Card Gamma Table (VCGT) zu schreiben. Die VCGT ist zugleich:
- ein spezielles Datenfeld innerhalb der ICC-Profile,
- ein spezieller Speicherbereich auf Ihrer GPU.
Beim Start Ihrer Linux-Sitzung liest ein Stück Software die VCGT aus einem ICC-Profil und lädt sie in den eigentlichen Videospeicher. So würde der gesamte Desktop seinen Weißpunkt und seine Kontrastkurve in einem bequemen Schritt korrigiert bekommen, ob die Anwendung nun „farbverwaltet" war oder nicht.
Später haben viele Applets namens „night color" oder „redshift" die VCGT manipuliert, um die Farben am Abend und in der Nacht ins Bernsteinfarbene zu verschieben, da bekannt ist, dass blau(stichig)es Licht die Schlafmuster stört, und obwohl das für Ihren zirkadianen Rhythmus großartig ist, fügt es der Farbpipeline eine Ebene der Zufälligkeit hinzu. Zudem konnte die VCGT beim Aufwachen aus dem Standby-Modus ohne Warnung verloren gehen, und mehrere Anwendungen konnten darum wetteifern, die letzte zu sein, die sie überschreibt. Der Aufstieg von Dual-GPU-Systemen (dediziert + eingebettet) trug nichts zur Verbesserung der Zuverlässigkeit der Farbpipeline bei, und der proprietäre Nvidia-Treiber ist noch immer der einzige, der eine Vorschau der VCGT erlaubt.
Aber unterm Strich gilt: Sie brauchen eine Art systemweiten Weg, um eine VCGT zu laden und den Weißpunkt zu normalisieren,2 und Xorg/X11 hatte colord, um systemweit ein Systemanzeigeprofil bekanntzumachen, das Anwendungen abrufen konnten.
Zusätzlich zur VCGT, die die Kalibrierung enthält, kommt die Profilierung, die die nativen Farbprimärvalenzen des Displays korrigiert, sodass RGB-Tripel dem Lichtspektrum entsprechen, mit dem sie verknüpft sind. Kurz gesagt:
- den Weißpunkt des Displays bei 6500 K festzunageln und die Helligkeitsantwort zu linearisieren, ist die erste Stufe (Kalibrierung),
- die Farbprimärvalenzen des Displays festzunageln, um Abweichungen bei Farbton und Sättigung zu reduzieren, ist die zweite Stufe (Profilierung).
Die Profilierung ist typischerweise eine 3×3-Farbmatrix, manchmal mit zusätzlichen Kurven oder Gamma, aber sie kann auch eine LUT sein (in Ansel nicht empfohlen).
Wenn ein Fotograf sein Display „kalibriert", werden tatsächlich meist beide Stufen stillschweigend durchgeführt und in dasselbe ICC-Profil gespeichert. Es gibt eine Möglichkeit, insbesondere in Display Cal, die Kalibrierung über die VCGT zu deaktivieren, die dann als Paket in die Profilierung eingebacken wird, aber das ist im Allgemeinen eine sehr schlechte Idee, weil dann die Farben des GUI-Themes selbst unter Xorg von der Weißpunktanpassung ausgeschlossen werden.
Note
Entgegen einer verbreiteten Annahme sind ICC-Profile nichts weiter als ein Deskriptor (eine Art Metadatendatei), den tatsächliche Programme anzuwenden wählen (und wie sie ihn anwenden, wählen). Sie sind an sich kein Stück Software.Auf Anwendungsebene können wir nur die Profilierungsstufe auf Bilder anwenden. Das hat 2 Implikationen:
- Die Farbgültigkeit der Profilierungsstufe hängt davon ab, dass die Kalibrierungsstufe auf VCGT-Ebene ordnungsgemäß durchgeführt wurde. Die Profilierung wird ohne ihren Zwilling, die Kalibrierung, unvorhersehbar und ungenau: Es ist eine Pipeline.
- Wir können die GUI-Farben aus dem Anwendungs-Theme (insbesondere: die Hintergrundfarbe), die im CSS-Stylesheet deklariert und an Gtk durchgereicht werden, nicht farbkorrigieren/farbverwalten.
Das ist in Ansel ein Problem, weil wir die gesamte GUI neutralgrau setzen, zum Zweck der Farbbeurteilung, und wir brauchen dieses Grau bei 6500 K, aber auch konsistent mit dem Weißpunkt des Bildes. Wir brauchen also ein Farbmanagement für den gesamten Desktop, zumindest für die Kalibrierung, um kollidierende Weißpunkte zwischen Fenstern zu vermeiden. Was Waylands ursprüngliches Design ausdrücklich zu seiner Nicht-Angelegenheit erklärt, indem es sich darauf verlässt, dass die Anwendungsentwickler das Richtige tun (als ob…).
Und dann, nicht zuletzt, wenn Sie mehrere Monitore verwenden, brauchen Sie ein Stück Software, das jedem Monitor ein ICC-Profil zuordnet, sodass das CMS das richtige Profil für den Monitor greifen kann, auf dem Ihr Anwendungsfenster sitzt.3 Was Wayland aus „Sicherheits"-Gründen ausdrücklich verbietet.
Was Sie überprüfen müssen, wenn Sie Wayland verwenden
Das Folgende setzt voraus, dass Sie Ihren Monitor mit einem Kolorimeter kalibriert und profiliert und ein Display-ICC-Profil erstellt haben, das die Farbabweichungen Ihres Monitors neutralisiert.
- Überprüfen Sie, dass für jeden Monitor beim Start einer Grafiksitzung seine Kalibrierung aus dem ICC-Profil in die VCGT geladen wird
- Dieser Teil scheint Stand 2026 recht gut abgedeckt zu sein, zumindest für die Hauptakteure Gnome/KDE Plasma. Die Desktop-Umgebung erlaubt es, ein Systemprofil zu definieren, das den Weißpunkt aller Anwendungen systemweit ändert.
- Falls nicht, erlaubt der Befehl
dispwinder Softwareargyllcms, es manuell zu laden, wiedispwin -d 1 ~/.local/share/icc/YOUR_DISPLAY_PROFILE.icc. Es „genügt", das zu skripten und das Skript automatisch mit Ihrer Sitzung starten zu lassen, was jeden Nutzer ausschließt, der mit Skripten nicht vertraut ist. Überprüfen Sie, dass jeder Monitor mit einem Farbprofil getaggt ist- Dieser Teil ist ausdrücklich aus dem Wayland-Protokoll entfernt worden, sodass es Anwendungen konstruktionsbedingt untersagt ist, Informationen über Displays abzurufen. Insbesondere wird der Start von
ansel-cmstestunter Wayland Folgendes zurückgeben:1$ /opt/ansel/bin/ansel-cmstest 2ansel-cmstest version 0.0.0+3877~gcfa6648f92 3this executable was built with colord support enabled 4ansel itself was built with colord support enabled 5 6primary CRTC is at CRTC 0 7 8eDP-1 the X atom and colord returned the same profile 9 X atom: _ICC_PROFILE (0 bytes) 10 description: (none) 11 colord: "(none)" 12 description: (file not found) 13 14Better check your system setup 15- some monitors lacked a profile 16You may experience inconsistent color rendition between color managed applications - Das bedeutet praktisch, dass das Ansel-Systemprofil (Standard), das über
colordoderxatomauf X11/Xorg automatisch erkannt werden soll, unter Wayland ständig leer/undefiniert ist und Sie Folgendes tun müssen:- Ihr Display-Profil zu
~./config/ansel/color/outhinzufügen, - es manuell im globalen Menü Anzeige -> Monitor-Farbprofil auswählen,
- es manuell ändern, falls/wenn Sie das Ansel-Fenster auf einen anderen Monitor verschieben.
- Ihr Display-Profil zu
- Wenn Sie das versäumen, greift Ansel als Ausgabefarbraum standardmäßig auf sRGB zurück. Wenn der native Farbumfang Ihres Displays folgender ist:
- Adobe RGB, dann erscheinen Farben im grün-cyanfarbenen Bereich auf dem Bildschirm gesättigter, als sie in der Datei sind,
- Display P3, dann erscheinen alle Farben auf dem Bildschirm gesättigter, als sie in der Datei sind, aber der orange-grün-cyanfarbene Bereich ist zudem der schlimmste Übeltäter.
- Dieses Problem hat innerhalb von GTK3, das Ansel als Grafik-Toolkit verwendet, keine Lösung, und selbst mit GTK4 gibt es Stand heute noch immer keine praktikable, breit unterstützte Lösung. Das manuelle Handhaben von Farbprofilen in Ansel funktioniert, bis die Compositoren beginnen, die Anwendungsfenster selbst aktiv farbzuverwalten: Dann bietet GTK3 keine Möglichkeit, ein Fenster als „bereits farbverwaltet" zu taggen, um zu verhindern, dass der Compositor ihnen weiteren Schaden zufügt. Er wird stattdessen die Farbraumkonvertierungen, die wir intern bereits durchgeführt haben, verdoppeln und die Farben auf eine Weise durcheinanderbringen, die nur Experten erkennen können. Zu unserem Glück ist Stand Mitte 2026 kein Compositor in der Lage, irgendetwas farbzuverwalten.
- In jedem Fall können die manuellen Farbraumkonvertierungen nur auf Bildflächen durchgeführt werden, die wir im Ansel-App-Fenster zeichnen. Wir haben null Kontrolle über die Farben der GUI-Bedienelemente, die im Theme-Stylesheet (
ansel.css) definiert und direkt von GTK-Widgets gehandhabt werden, die implizit sRGB sind (gemäß CSS-Standard). Das bedeutet, dass GUI-Farben immer übersättigt aussehen werden, wenn der native Farbumfang Ihres Monitors größer als sRGB ist, verglichen mit dem, was sie sein sollen. - Überprüfen Sie, dass die HDR-Unterstützung deaktiviert ist
- Wayland unterstützt nun HDR-Fähigkeiten, indem es an der Hintergrundbeleuchtung des Displays herumpfuscht. Obwohl Ansel gutes altes 8-Bit-RGB ausgibt und die HDR-Auslöser nicht betätigen sollte, ist HDR nicht Teil von ICC v2 oder v4, und es lässt sich nicht sagen, wie diese Funktion die Tonwertantwort beeinflussen würde. Es mag harmlos sein, aber bis das gründlich auditiert ist, ist der sichere Weg, HDR deaktiviert zu lassen.
- Überprüfen Sie, dass Sie Xorg verwenden
- Im Ernst, verwenden Sie einfach kein Wayland für die Fotografie.
Translated from English by : ChatGPT, Claude. In case of conflict, inconsistency or error, the English version shall prevail.
Pekka Paalanen, 12 years of incubating Wayland color management, February 2025. URL ↩︎ ↩︎
The contrast/brightness curve is not so much of an issue on LED screens that are, by nature, close to linear. ↩︎
And since Xorg as well as Wayland allow application windows to sit on multiple monitors at once, you can only guess which color profile is going to be applied. ↩︎