DisplayCAL on Wayland: What Works and What Doesn’t

Running Linux with Wayland and wondering why DisplayCAL behaves strangely? You are not alone. GitHub issue #133 (“wayland no access to video card gamma table”) has been open since 2022 and explains the fundamental limitation.

The Core Problem

DisplayCAL’s calibration step loads correction curves into the video card gamma table (the GPU LUT). Under X11, applications can do this freely. Under Wayland, the compositor does not expose gamma table access to applications. This is a deliberate design decision. No application, DisplayCAL included, can work around it from user space.

What Works Under Wayland

  • Profiling. Measuring the display and building an ICC profile works fine. The instrument, the patches, and the math do not need the gamma table.
  • Profile installation via colord. colord is the color management daemon that GNOME and KDE use. DisplayCAL can hand it your profile and color-managed apps will use it correctly.
  • Verification reports. Measuring and reporting on your display works normally.
  • Interactive display adjustment. As of 3.9.18, the previously reported hang of the interactive adjustment step under Wayland is fixed. Upgrade if you hit it.

What Does NOT Work

  • Loading calibration curves into the GPU (the “calibration” part of “calibrate and profile”). The video LUT simply cannot be written under Wayland.
  • The profile loader applying vcgt corrections at login, for the same reason.

Recommended Workflows

Option A. Profile-only under Wayland (simplest)

  1. Use your monitor’s on-screen controls to get close to your target first: set brightness, RGB gains for white point (D65), and gamma preset.
  2. In DisplayCAL, run a profile-only workflow (skip the calibration stage).
  3. Install the profile. Color-managed applications (GIMP, Krita, Firefox with color management) will display correctly.
Why this is fine: as discussed in issue #133, on a decent display the calibration-stage adjustments are tiny. Profiling alone gives color-managed apps exactly the same result. You only lose the cosmetic improvement for unmanaged apps.

Option B. Calibrate under X11, use under Wayland

  1. At the login screen, choose an Xorg / X11 session instead of Wayland.
  2. Run the full DisplayCAL calibration and profiling workflow there.
  3. Save the profile. You can then use the ICC profile back under Wayland (the GPU LUT part will not apply there, but the profile characterization remains valid).

Things to Disable Before Measuring

Night-light and blue-filter features quietly shift your white point and will corrupt measurements. Turn them off. This applies on every platform, but Wayland desktops love enabling them by default.

Still Having Trouble?

How to Check Whether You Are on Wayland

Open a terminal and run:

echo $XDG_SESSION_TYPE

If it prints wayland, the limitations on this page apply to you. If it prints x11, you have full gamma table access and can ignore this page. Most distributions let you pick the session type on the login screen via a gear or cog icon.

A Note on Expectations

It is worth being clear about what you give up under Wayland: only the video LUT calibration stage. Everything else DisplayCAL does, measuring, profiling, verification, 3D LUT generation for video software, works the same. For photography and design work in color-managed applications, a profile-only workflow under Wayland is a complete solution, not a compromise. The X11 session is only needed if you specifically want GPU-level calibration curves loaded, for example to make unmanaged applications look right.

Related: DisplayCAL troubleshooting hub | DisplayCAL on Linux | Quickstart guide

Frequently Asked Questions

Can DisplayCAL calibrate a display under Wayland at all?
Profiling (creating the ICC profile) works. What does not work is loading corrections into the video card gamma table, because Wayland does not expose that API to applications. For full calibration including the video LUT, use an X11/Xorg session.
Do I need to switch to X11 permanently?
No. Many users profile under X11 and use the resulting profile under Wayland, or simply do a profile-only workflow under Wayland and adjust the monitor’s on-screen controls for white point and brightness.
What is colord and do I need it?
colord is the system color management daemon on Linux that hands ICC profiles to the desktop (GNOME and KDE support it). DisplayCAL can install profiles for colord to use. That part works under Wayland.
Was the Wayland hang fixed?
DisplayCAL-py3 3.9.18 fixed the interactive display adjustment step hanging under Wayland. If you are on an older version, upgrade before troubleshooting further.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *