Skip to content

Colour management on Linux

PxlMonk shows the preview through your monitor’s own colour profile, so on-screen colours match the photo’s real colours (see Screen colour). On macOS and Windows the profile is detected automatically. On Linux it depends on one thing: your desktop has to tell the system which profile the display uses. This page explains what PxlMonk looks for and how to set that up.

When you open a photo, PxlMonk asks the system for the display’s colour profile, in this order:

  1. The profile your desktop publishes for the screen. On X11 this is the standard _ICC_PROFILE window property that colour daemons (colord, via the GNOME or KDE colour integration) set once a profile is assigned to your display. On a multi-monitor setup each screen’s own profile is used, so moving the window to another monitor re-resolves it.
  2. If a profile is found, the preview is converted into it (accurate, per-monitor colour), and the Screen profile field in the Develop Info panel shows its name.
  3. If none is found, PxlMonk falls back to sRGB and shows a notice over the preview — “The display’s colour space couldn’t be determined.” Nothing is broken; the colours simply may not match an uncalibrated or wide-gamut panel.

So the notice means no profile is assigned to your display — not that anything failed. The fix is to assign one.

  1. Install colord and your desktop’s colour integration. colord is the service that stores display profiles; the desktop integration publishes the assigned profile to the screen.

    Terminal window
    # KDE Plasma
    sudo zypper install colord colord-kde
    # GNOME
    sudo zypper install colord gnome-color-manager
  2. Assign a profile to your display. Use the graphical settings if your desktop has them:

    • GNOME: Settings → Color → pick your display → add a profile and Enable it.
    • KDE Plasma: System Settings → Color (labelled Color Corrections on some versions).

    Some desktops — notably several KDE Plasma 6 builds — ship no colour panel. There the command line always works (colord installs the colormgr tool):

    Terminal window
    # 1) find your display's device id
    colormgr get-devices
    # 2) list available profiles and pick one — the EDID-derived profile named after your
    # monitor is a good zero-effort choice, or "sRGB"
    colormgr get-profiles
    # 3) assign it and make it the default (use the object paths from the two commands above)
    colormgr device-add-profile <device-object-path> <profile-object-path>
    colormgr device-make-profile-default <device-object-path> <profile-object-path>
  3. Log out and back in. The desktop publishes the assigned profile to the screen at login — assigning it mid-session is not enough on its own. After logging back in, the profile is live.

  • The auto-generated display profile — colord creates one from your monitor’s EDID data, named after the display (e.g. “Surface Laptop 4”). It’s a free, reasonable estimate of the panel’s gamut and a good default.
  • A measured profile — for real accuracy, calibrate the display with a colorimeter and a tool like DisplayCAL. Assign the resulting profile the same way.
  • sRGB — declares the panel to be sRGB. Fine for a standard-gamut screen; on a wide-gamut panel it will be slightly off, but it silences the notice.

Open a photo in Develop and look at the Info panel: the Screen profile field should now show your profile’s name (e.g. “Surface Laptop 4”) instead of “sRGB”, and the notice is gone.

If you can’t or don’t want to set up a profile, open Settings → General → Screen colour space and pick a fixed value instead of Automatic (match the display):

  • sRGB — correct on a standard-gamut screen, and it removes the notice.
  • Display P3 — for a wide-gamut panel, or to soft-proof how an image looks in P3.

A fixed space is used as-is on every monitor, so PxlMonk no longer needs to detect anything and the notice does not appear.