Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • W wayland-protocols
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 108
    • Issues 108
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 57
    • Merge requests 57
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.

  • waylandwayland
  • wayland-protocols
  • Merge requests
  • !79

WIP: color-control: Control color properties of output

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Sefa Eyeoglu requested to merge Scrumplex/wayland-protocols:color-control into main Apr 11, 2021
  • Overview 6
  • Commits 1
  • Pipelines 1
  • Changes 3

A client might want to change certain color properties, such as gamma or saturation for an output. This protocol allows modification of saturation values, as well as gamma values for RGB respectively.

On X11, clients modify CRTC properties directly via XRandR. This is undesirable, as there is no way of limiting which properties should be modifiable. By introducing abstract color properties like saturation_r we give clients control over color output properties, while the compositor handles setting the correct properties for the requested configurations.

This protocol can be used by games to change gamma on a compositor level (Source Engine games do this on X11). It would also allow other applications to control these values. Particularly, the library libvibrant I worked on would use this interface to allow easy manipulation of color saturation. This can be used to modify color saturation based on the currently running application. This would allow the user to enable a reading mode, which removes all saturation from the output. Other uses would be in games.


NOTE: This is a WIP protocol

Also, this is the first time I propose something in the Wayland space, so there might be problems with this, or things I have overlooked.

Currently there are no implementations of this in any compositor.

I drafted this interface very spontaneously, so it might change after trying to implement it in a compositor.

It currently only contains controls for saturation and gamma, while more properties could be exposed. I don't know how well this will play with 10bit-color or other things I might have overlooked.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: color-control