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
Wiki link (a bit out of date):
Project’s community page
It was a great summer!
Thank you everyone!
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 .
Indeed great work there 🙂
For other/all KDE gsoc’s there is a common centralized place at http://community.kde.org/GSoC/2012/StatusReports to follow progress.
Thanks! I’m happy that you like my work.
I will try to keep the right direction 🙂
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.
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.
Sweet! I’ll keep track of reviewboard then 🙂
Pingback: OpenICC Google Summer of Code 2012 results | Oyranos
Pingback: Plasma Workspaces 4.10 Improve Mobile Device Support and Receive Visual Refinement