News: 0001595258

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Valve-Backed Color Pipeline API For Linux Is Finally Ready For Upstream

([Hardware] 5 Hours Ago Linux Color Pipeline API)


For those Linux desktop users in the US needing another reason to be thankful this Thanksgiving, a huge and long-awaited accomplishment is ready for merging to the kernel: the Color Pipeline API that is important for HDR is ready for merging! As of last night the code is queued in DRM-Misc-Next for this years-in-the-making effort.

AMD, Igalia, Valve, and other stakeholders have long been working on the [1]Color Pipeline API for advanced color management . Much of the focus has been on the AMDGPU driver and the hardware capabilities of recent AMD Radeon GPUs, since after all, much of the Valve-aligned and Valve-funded work has been focused on the needs of the Steam Deck and now Steam Machine too. This presentation back from XDC2023 by Igalia's Melissa Wen covers much of the advanced color management work being done for Linux on AMD:

[2]This final patch series after going through 13 rounds of revisions and review is what's now ready for finally making it into the mainline Linux kernel. Besides the API itself, initial implementations are for the AMDGPU DRM driver as well as the Virtual KMS (VKMS) driver. The patch series cover letter explains:

"Amdgpu advertises the following pipeline for GPUs with DCN 3 or newer:

1. 1D Curve EOTF

2. 3x4 CTM

3. Multiplier

4. 1D Curve Inverse EOTF

5. 1D LUT

6. 3D LUT

7. 1D Curve EOTF

8. 1D LUT

The supported curves for the 1D Curve type are:

- sRGB EOTF and its inverse

- PQ EOTF, scaled to [0.0, 125.0] and its inverse

- BT.2020/BT.709 OETF and its inverse

- Gamma 2.2 and its inverse

Note that the 1st and 5th colorops take the EOTF or Inverse OETF while the 3rd colorop takes the Inverse EOTF or OETF.

The 3D LUT is a 17^3 tetrahedrally interpolated LUT but the mechanism exists for other drivers to describe their own 3D LUT capability.

This mirrors the color pipeline used by gamescope."

As of yesterday this Color Pipeline API implementation is now merged to [3]drm-misc-next . It's ready to go! But with the timing being a bit awkward, it's not expected to land for the Linux v6.19 merge window opening as soon as next week... The DRM-Next cut-off typically happens around -rc6 of the current cycle. So while the code is now in drm-misc-next right now, it's not expected to be sent to DRM-Next until after the Linux v6.19 merge window. So long story short, this feature will likely be in place for what will likely be known as the Linux v7.0 kernel when the merge window begins in February.

This is a huge and long-in-the-works milestone for the Linux desktop, especially gaming, and bettering the HDR ecosystem support. Valve's Gamescope as well as KDE KWin and Wayland Weston implementations are among the early Wayland compositor implementations that have already been working on this support. Expect more activity on the desktop side now that this API is settled and reaching Linux desktops around mid-2026 and later.



[1] https://www.phoronix.com/news/AMD-11th-Color-Pipeline-API

[2] https://lore.freedesktop.org/wayland-devel/CAPj87rPoadOOTk0LbVb_VKFOOkSq0xG-PU8fRsLaaqO1kKFuDg@mail.gmail.com/T/#m104a20d5876b5c932a01fd637a65d0d253fa20f6

[3] https://gitlab.freedesktop.org/drm/misc/kernel/-/commits/drm-misc-next?ref_type=heads



The perfect friend sees the best in you -- sees it constantly -- not just
when you occasionally are that way, but also when you waver, when you
forget yourself, act like less than you are. In time, you become more
like his vision of you -- which is the person you have always wanted to be.
-- Nancy Friday