Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • KWin KWin
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 63
    • Issues 63
    • List
    • Boards
    • Service Desk
    • Milestones
  • Bugzilla
    • Bugzilla
  • Merge requests 164
    • Merge requests 164
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PlasmaPlasma
  • KWinKWin
  • Merge requests
  • !267

[colorcorrection] Add linear brightness control for OLED display users

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Jack Andersen requested to merge jackoalan/kwin:colorcorrection-brightness into master Sep 17, 2020
  • Overview 24
  • Commits 2
  • Pipelines 0
  • Changes 12

Originally submitted as D27908

This adds a linear brightness coefficient to scale the night color gamma curves. Ideally, this type of change shouldn't be necessary and the OLED panel controller would use some form of ACPI interface to implement PWM dimming. However, I'm putting this out there as a proof-of-concept for consideration.

A number of laptop manufacturers have started incorporating OLED displays in their products, but they do not universally honor the usual ACPI brightness control (no backlight in these types of displays). Manufacturers like System 76 have deployed services that listen for these brightness changes and generate scaled gamma curves for XRandR. Even simpler shell scripts have been made to function in a similar manner.

These workarounds have been generally accepted by the community of OLED Linux users, but they all conflict with KWin's gamma and Night Color management. The final gamma curve evaluation should occur in a centralized manner, and KWin would be the best place for Plasma Desktop users.

The solution is to generate a brightness coefficient that evaluates to 1.0 by default and scales with the brightness as managed by powerdevil. A DBus interface allows configuration applets to set a list of output names to "opt-in" a subset of the user's screens. I am working on an experimental branch of KScreen to expose this configuration along with the other per-screen settings.

BUG: 413451

Edited Dec 01, 2020 by Jack Andersen
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: colorcorrection-brightness