staging: add color management protocol
-
Review changes -
-
Download -
Patches
-
Plain diff
The aim of the color management extension is to allow clients to know the color properties of outputs, and to tell the compositor about the color properties of their content on surfaces. Doing this enables a compositor to perform automatic color management of content for different outputs according to how content is intended to look like.
Documentation
Additional documentation is being developed in https://gitlab.freedesktop.org/pq/color-and-hdr .
Protocol development
We are developing this proposal by filing sub-MRs in Sebastian's fork and merging them into the branch this MR is based on.
Eventually everything in this MR will be squashed into a single patch before landing.
Experimentation
To facilitate experimentation with the protocol, variants of the protocol in this MR are available at https://gitlab.freedesktop.org/swick/wayland-protocols/-/commits/color-xx. The current version is xx-color-management-v4.xml
.
These variant are for experimentation only and will go away eventually! Compositors should hide support for those protocol behind some kind of flag to prevent this protocol variant from becoming widespread.
All interfaces renamed use the xx prefix instead of wp. The branch won't get updates from upstream without discussing it first to make sure different experimental clients and compositors can be reasonably used together.
Upstreaming process
Please add a comment to the MR when you want to...
- ACK the protocol
- officially review the MR
- have a client or server implementation (mention the supported features)
Implementations:
- KWin (v4): https://invent.kde.org/plasma/kwin/-/merge_requests/6126
- Mutter (v4): https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3893
- Weston (v4): weston!1590 (merged)
- weston-image (v4 ICC client)
- Mesa:
- Vulkan (v4): mesa/mesa!31991 (closed)
- EGL: ?
- GStreamer (v2): gstreamer/gstreamer!6830
- GTK (v4): https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/7489
- mpv (v4 with
--vo=dmabuf-wayland
) - Qt (v4): https://codereview.qt-project.org/c/qt/qtwayland/+/595322
Requirements:
-
3 ACKs -
review -
3 implementations of wp_color_manager_v1
(not yet merged):- servers:
- clients:
-
one compositor and one client implementation for each features: -
icc_v2_v4
: Weston, weston-image -
parametric
: KWin, Mesa, GStreamer, GTK, mpv -
set_primaries
: KWin, GTK, (Qt) -
set_luminances
: KWin, colortest -
set_mastering_display_primaries
: KWin, mpv, Mesa/Vulkan (Quake II RTX) -
extended_target_volume
: KWin, Mesa/Vulkan (Quake II RTX)
-
-
Compositor implementation features: -
combine ICC-based and parametric image descriptions into a color transformation (KWin parametric->ICC)
-
Merge request reports
- version 10523048291
- version 104f284a0cb
- version 103b2d34dd6
- version 102503bc8c2
- version 101fe665cfd
- version 10064ccadae
- version 995848d5e2
- version 9806b86992
- version 978b57173a
- version 96abc7a51b
- version 9579ce1c16
- version 94207ac585
- version 93c34d365b
- version 921ec11465
- version 91247041df
- version 908ac0dc61
- version 89e14bb785
- version 88b2e6674d
- version 87683a6b70
- version 86cc0b659b
- version 85425ff5e7
- version 84b14bb437
- version 8336fc9bea
- version 8249b794ff
- version 81772a0ca6
- version 80719dc5c8
- version 795f114fef
- version 780551b010
- version 77782f2327
- version 763a2f622e
- version 750a89c383
- version 743549451a
- version 7359af6d8f
- version 72ba4221f9
- version 7160698a12
- version 70337cd25b
- version 692fe18aff
- version 68d8a273ce
- version 6747d55eb1
- version 66d5fb3a52
- version 653df41b8c
- version 6421eaabfb
- version 63ab8a7f8a
- version 62c2f13ff1
- version 61b55f9eb0
- version 60a98d6036
- version 5917807fe6
- version 58421d8ee8
- version 5742ed80e0
- version 5680466d5d
- version 554b362a87
- version 54104bb233
- version 535b871105
- version 52096b1f19
- version 512fcc1053
- version 50c3b8f5fe
- version 49b68a8118
- version 48395a1705
- version 4713e8497e
- version 460553fc0b
- version 4548f092c2
- version 44f6db52c7
- version 439ebe9ffe
- version 424fb2592d
- version 41f217423d
- version 40b1b5e0c5
- version 39705a8169
- version 38fd0abc61
- version 370fca4469
- version 368b894ca7
- version 35f74064d4
- version 3433cb9e15
- version 33183c7163
- version 32b66c2ce2
- version 3154e56610
- version 308ed5d374
- version 294cba058f
- version 28212b0b7b
- version 27beb4a7f1
- version 269497047d
- version 251b519eee
- version 2453836554
- version 23ffb03df4
- version 2274b2ccec
- version 21ad64a713
- version 20992e7b5a
- version 19ec1c9f8a
- version 187d710495
- version 172e4c52af
- version 1609ebde77
- version 1509ebde77
- version 145637d2d3
- version 139de48d53
- version 124474e1f5
- version 11652ed7a4
- version 10a70dad12
- version 9940bd3c1
- version 871e55854
- version 79466f79b
- version 64946f7d2
- version 5ab82f325
- version 491af55db
- version 360897e62
- version 21d56e1e6
- version 11d56e1e6
- main (base)
- latest version452e943b1 commit,
- version 105230482911 commit,
- version 104f284a0cb141 commits,
- version 103b2d34dd6140 commits,
- version 102503bc8c2139 commits,
- version 101fe665cfd138 commits,
- version 10064ccadae136 commits,
- version 995848d5e2133 commits,
- version 9806b86992132 commits,
- version 978b57173a130 commits,
- version 96abc7a51b129 commits,
- version 9579ce1c16128 commits,
- version 94207ac585126 commits,
- version 93c34d365b125 commits,
- version 921ec11465124 commits,
- version 91247041df123 commits,
- version 908ac0dc61122 commits,
- version 89e14bb785121 commits,
- version 88b2e6674d120 commits,
- version 87683a6b70119 commits,
- version 86cc0b659b118 commits,
- version 85425ff5e7116 commits,
- version 84b14bb437115 commits,
- version 8336fc9bea114 commits,
- version 8249b794ff113 commits,
- version 81772a0ca6112 commits,
- version 80719dc5c8111 commits,
- version 795f114fef110 commits,
- version 780551b010109 commits,
- version 77782f2327107 commits,
- version 763a2f622e106 commits,
- version 750a89c383105 commits,
- version 743549451a104 commits,
- version 7359af6d8f103 commits,
- version 72ba4221f9102 commits,
- version 7160698a12101 commits,
- version 70337cd25b100 commits,
- version 692fe18aff98 commits,
- version 68d8a273ce97 commits,
- version 6747d55eb194 commits,
- version 66d5fb3a5293 commits,
- version 653df41b8c92 commits,
- version 6421eaabfb91 commits,
- version 63ab8a7f8a90 commits,
- version 62c2f13ff189 commits,
- version 61b55f9eb088 commits,
- version 60a98d603687 commits,
- version 5917807fe686 commits,
- version 58421d8ee885 commits,
- version 5742ed80e083 commits,
- version 5680466d5d82 commits,
- version 554b362a8781 commits,
- version 54104bb23380 commits,
- version 535b87110579 commits,
- version 52096b1f1978 commits,
- version 512fcc105375 commits,
- version 50c3b8f5fe74 commits,
- version 49b68a811873 commits,
- version 48395a170572 commits,
- version 4713e8497e71 commits,
- version 460553fc0b69 commits,
- version 4548f092c268 commits,
- version 44f6db52c767 commits,
- version 439ebe9ffe69 commits,
- version 424fb2592d68 commits,
- version 41f217423d67 commits,
- version 40b1b5e0c565 commits,
- version 39705a816964 commits,
- version 38fd0abc6161 commits,
- version 370fca446961 commits,
- version 368b894ca760 commits,
- version 35f74064d459 commits,
- version 3433cb9e1558 commits,
- version 33183c716355 commits,
- version 32b66c2ce253 commits,
- version 3154e5661052 commits,
- version 308ed5d37447 commits,
- version 294cba058f42 commits,
- version 28212b0b7b41 commits,
- version 27beb4a7f140 commits,
- version 269497047d37 commits,
- version 251b519eee35 commits,
- version 245383655430 commits,
- version 23ffb03df429 commits,
- version 2274b2ccec22 commits,
- version 21ad64a71320 commits,
- version 20992e7b5a20 commits,
- version 19ec1c9f8a20 commits,
- version 187d71049516 commits,
- version 172e4c52af15 commits,
- version 1609ebde7714 commits,
- version 1509ebde7714 commits,
- version 145637d2d313 commits,
- version 139de48d5312 commits,
- version 124474e1f511 commits,
- version 11652ed7a410 commits,
- version 10a70dad128 commits,
- version 9940bd3c17 commits,
- version 871e558546 commits,
- version 79466f79b3 commits,
- version 64946f7d22 commits,
- version 5ab82f3251 commit,
- version 491af55db1 commit,
- version 360897e621 commit,
- version 21d56e1e61 commit,
- version 11d56e1e61 commit,
- Side-by-side
- Inline
Some changes are not shown
For a faster browsing experience, some files are collapsed by default.