GSoC Color Correction in KWin Final Report

The time has come for the final report regarding my Google Summer of Code project.

During the last two weeks I have intensified work on the project, and there were notable results. Although I cannot claim to completely fulfilling the initial objectives, I believe there is not much more to do to reach that point. Another couple of days of work sometime and those are done. Of course, in the future, there will be improvements to do and other maintenance things, but those should be fun and easy.

The KolorServer KDED module has been successfully implemented. It appears that it works fine after initial tests. It supports per-output color correction, and per-window color correction should be easy to do. It was heavily inspired from CompICC, and it resembles most of it’s functionality. The code for this color server is included inside KolorManager, which is responsible with settings regarding color management. In my opinion, they fit well together (they also have the same dependency on the Oyranos Color Management System). They even have almost the same names :-).

KWin gets some rendering modifications in the compositor (not too big ones, they should not destabilize stuff too much) and it also gets a new class. All the color correction code is isolated in that class, and most of the more internal things are kept well inside. I tried to keep things as simple as possible. This class is designed to interact with the compositor, without forcing the compositor to do any strange color work. In fact, it just has to make one or two calls before drawing each output or window.

At the moment, the average user does not get to notice much difference if he/she get’s this color management installed somehow. The only visible setting is inside KWin compositing preferences, in the advanced tab – only a check box. Anyway, we don’t want more than that. Probably in the future, KolorServer will use some settings from KolorManager, but I can’t say for sure at the moment, it remains to be seen.

Screenshot from when it was not working:

And from when it was working (even if it does not seem like it):

Source code links:
KWin clone, color2 branch
KolorManager, kded branch

Website links:
KolorManager website
Oyranos website

Wiki link (a bit out of date):
Project’s community page

It was a great summer!
Thank you everyone!


8 thoughts on “GSoC Color Correction in KWin Final Report

  1. Great work !
    I kept track all the reports of your GSoC & it was going in the right direction.
    although not so many people report the status of how well their GSoC is going.

    Congratulation, I hope you find it worth & fun Experience .

  2. Congrats! I’ve read every blog post you wrote and I’m thrilled you managed to accomplish colour correction in kwin. I’ve got a question though: will you commit your code to the master branch or will you submit this first to kde review? Any way, I hope to see you code merged in time for 4.10. Cheers.

    • Thanks!

      It will first be submitted to the reviewboard, where potential flaws can be identified. Even if it appears to be working, who knows what unseen flaws it may have. I hope to see it in 4.10 too :).

      Oh and there is a small bug with transparent things, it’s easy to solve I think, but I didn’t have the time to attend to it before the pencils down.

  3. Pingback: OpenICC Google Summer of Code 2012 results | Oyranos

  4. Pingback: Plasma Workspaces 4.10 Improve Mobile Device Support and Receive Visual Refinement

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s