Skip to content

Conversation

@mahkoh
Copy link
Owner

@mahkoh mahkoh commented Dec 4, 2025

No description provided.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for using display primaries advertised in a monitor's EDID for color management. The feature allows Jay to assume the display uses its native color gamut instead of pretending it uses sRGB primaries, potentially enabling more accurate colors and allowing color-managed applications to use the full gamut of wide-gamut displays.

  • Adds a new use-display-primaries boolean configuration option for outputs
  • Updates the wire protocol to version 23 with new events and requests for display primaries
  • Refactors renderer code by extracting a sync() helper method

Reviewed changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
wire/jay_randr.txt Adds version 23 protocol with set_use_display_primaries request and display_primaries/use_display_primaries events
toml-spec/spec/spec.yaml Adds use-display-primaries boolean field specification for Output configuration
toml-spec/spec/spec.generated.md Generated documentation for the new use-display-primaries field
toml-spec/spec/spec.generated.json Generated JSON schema for the new configuration option
toml-config/src/lib.rs Applies the use_display_primaries setting from parsed configuration
toml-config/src/config/parsers/output.rs Parses the use-display-primaries boolean field from TOML configuration
toml-config/src/config.rs Adds use_display_primaries field to the Output struct
src/tree/output.rs Implements set_use_display_primaries() and refactors visitor pattern with new visit_children() helper
src/tools/tool_client.rs Updates tool client to support protocol version 23
src/tasks/connector.rs Initializes use_display_primaries to false for new connectors
src/renderer/renderer_base.rs Adds sync() helper method to encapsulate GfxApiOpt::Sync operation
src/renderer.rs Refactors to use new sync() helper method instead of direct ops.push
src/ifs/wl_output.rs Implements color description logic to use display primaries when enabled and in default color space
src/ifs/jay_randr.rs Implements protocol handlers and events for display primaries management
src/ifs/jay_compositor.rs Updates compositor protocol version to 23
src/damage.rs Updates to use new renderer sync() method
src/config/handler.rs Adds handler for ConnectorSetUseDisplayPrimaries configuration message
src/compositor.rs Refactors dummy output creation to use PersistentOutputState::default()
src/cli/randr.rs Adds CLI command and display output for the use-display-primaries setting
jay-config/src/video.rs Adds public API set_use_display_primaries() method to Connector
jay-config/src/_private/ipc.rs Adds ConnectorSetUseDisplayPrimaries IPC message
jay-config/src/_private/client.rs Implements client-side connector_set_use_display_primaries() function

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mahkoh mahkoh force-pushed the jorth/cmm-improvements branch 2 times, most recently from b0f7bc0 to 24fb933 Compare December 4, 2025 16:41
@mahkoh mahkoh requested a review from Copilot December 4, 2025 16:44
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 22 out of 22 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mahkoh mahkoh force-pushed the jorth/cmm-improvements branch from 24fb933 to 8d6fb86 Compare December 4, 2025 16:51
@mahkoh mahkoh merged commit c6cebc7 into master Dec 4, 2025
7 checks passed
@kotarac
Copy link
Contributor

kotarac commented Dec 4, 2025

Thanks for an early christmas gift. 🙂

It might sound silly, but it makes a big difference for some of us obsessed with color accuracy and my colorimeter agrees!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants