Make color management opt-in

People were experiencing some issues when running GTK 4.16 apps
under kwin, which now enables the experimental Wayland protocol
by default. While the testing is valuable, we don't want to
make users of the stable GTK guinea pigs, so switch color
management from opt-out to opt-in. Use

GDK_DEBUG=color-mgmt

to enable use of the xx-color-manager-v4 protocol.
This commit is contained in:
Matthias Clasen
2024-11-14 12:55:19 -05:00
parent b3e794e4f5
commit ead04fe615
4 changed files with 6 additions and 6 deletions

View File

@@ -248,6 +248,9 @@ A number of options affect behavior instead of logging:
`no-vsync`
: Repaint instantly (uses 100% CPU with animations)
`color-mgmt`
: Enable color management
The special value `all` can be used to turn on all debug options. The special
value `help` can be used to obtain a list of all supported debug options.
@@ -355,9 +358,6 @@ disable certain features.
`offload`
: Disable graphics offload to subsurfaces
`color-mgmt`
: Disable color management
### `GDK_GL_DISABLE`
This variable can be set to a list of values, which cause GDK to

View File

@@ -139,6 +139,7 @@ static const GdkDebugKey gdk_debug_keys[] = {
{ "default-settings",GDK_DEBUG_DEFAULT_SETTINGS, "Force default values for xsettings" },
{ "high-depth", GDK_DEBUG_HIGH_DEPTH, "Use high bit depth rendering if possible" },
{ "no-vsync", GDK_DEBUG_NO_VSYNC, "Repaint instantly (uses 100% CPU with animations)" },
{ "color-mgmt", GDK_DEBUG_COLOR_MANAGEMENT, "Enable color management" },
};
static const GdkDebugKey gdk_feature_keys[] = {
@@ -151,7 +152,6 @@ static const GdkDebugKey gdk_feature_keys[] = {
{ "vulkan", GDK_FEATURE_VULKAN, "Disable Vulkan support" },
{ "dmabuf", GDK_FEATURE_DMABUF, "Disable dmabuf support" },
{ "offload", GDK_FEATURE_OFFLOAD, "Disable graphics offload" },
{ "color-mgmt", GDK_FEATURE_COLOR_MANAGEMENT, "Disable color management" },
};

View File

@@ -51,6 +51,7 @@ typedef enum {
GDK_DEBUG_DEFAULT_SETTINGS= 1 << 21,
GDK_DEBUG_HIGH_DEPTH = 1 << 22,
GDK_DEBUG_NO_VSYNC = 1 << 23,
GDK_DEBUG_COLOR_MANAGEMENT= 1 << 24,
} GdkDebugFlags;
typedef enum {
@@ -63,7 +64,6 @@ typedef enum {
GDK_FEATURE_VULKAN = 1 << 6,
GDK_FEATURE_DMABUF = 1 << 7,
GDK_FEATURE_OFFLOAD = 1 << 8,
GDK_FEATURE_COLOR_MANAGEMENT = 1 << 9,
} GdkFeatures;
#define GDK_ALL_FEATURES ((1 << 10) - 1)

View File

@@ -536,7 +536,7 @@ gdk_registry_handle_global (void *data,
MIN (version, 1));
}
else if (strcmp (interface, xx_color_manager_v4_interface.name) == 0 &&
gdk_has_feature (GDK_FEATURE_COLOR_MANAGEMENT))
GDK_DISPLAY_DEBUG_CHECK (GDK_DISPLAY (display_wayland), COLOR_MANAGEMENT))
{
display_wayland->color = gdk_wayland_color_new (display_wayland, registry, id, version);
}