Color Management

From KDE Wiki Sandbox

Introduction

This guide describes how to use the Oyranos Color Management System with KDE for obtaining color correction with KWin, using the methods of OpenICC.

What is color management?

Color Management on Wikipedia

In digital imaging systems, color management is the controlled conversion between the color representations of various devices, such as image scanners, digital cameras, monitors, TV screens, film printers, computer printers, offset presses, and corresponding media.

The primary goal of color management is to obtain a good match across color devices; for example, the colors of one frame of a video should appear the same on a computer LCD monitor, on a plasma TV screen, and as a printed poster. Color management helps to achieve the same appearance on all of these devices, provided the devices are capable of delivering the needed color intensities.

Parts of this technology are implemented in the operating system (OS), helper libraries, the application, and devices. A cross-platform view of color management is the use of an ICC-compatible color management system.

The most important software part is the color management system (CMS). Besides the CMS, in order to get a proper color-corrected workspace, applications that are aware of color management are also needed.

Requirements

To obtain a working color-managed workspace, you will need to install the following (recommended to install using packages provided by your distribution):

  • KWin with compositing enabled. KWin is part of KDE, more specifically kde-workspace.

How to enable color correction in KDE

Go to System Settings, select Desktop Effects, go to the Advanced tab, and check Enable color correction. Do not forget to click Apply. That is all!

If Kolor-Manager is not installed, nothing should happen. If something goes wrong, nothing should happen. If it is working, you might notice a change in the displayed colors. You need to have correct ICC profiles installed for your monitor(s) in order to notice changes in the way colors are displayed.

How to check whether color management is functioning

You need qcmsevents which can be found in packages named "oyranos-qcmsevents" or similar. If you compile from sources, this program is found inside the oyranos example programs. To launch it, go to All Applications -> System -> Desktop Applet -> QCmsEvents . Alternatively, type "qcmsevents" in KRunner (Alt+F2) or in a terminal, and press Enter. This program will place an icon in the system tray, which can be clicked to show a window showing color management events.

The icon of qcmsevents should be colored. If the CIE horseshoe icon is still gray after 30 seconds from when it appeared, then the color correction is disabled or not working.

You can also use oyranos-monitor to configure a weird color profile for the monitor to check if color management is functioning. oyranos-monitor is a command-line program, so either use KRunner or a terminal.

oyranos-monitor -d 0 Lab.icc

To set the monitor profile back, use the commands from below. Optionally, you can specify on the second command line a specific profile for your monitor, if available.

oyranos-monitor -d 0 -e
oyranos-monitor -d 0 [my_specific_monitor.icc]

How does it work?

Kolor-Manager contains Kolor-Server, which interacts with Oyranos to obtain something like a 3D lookup table used to translate colors from the normal (sRGB) color space to colors suitable for the monitor(s). This is transferred to KWin via D-Bus, which then draws everything with corrected colors.

An important thing to note is that the color correction is done on the GPU, so the amount of hardware resources used is minimal.

Kolor-Server conforms to the X Color Management Specification. Currently the implementation is incomplete.

Frequently Asked Questions

Why aren't there more features?

Because they have not yet been implemented. Currently, only per-output color correction is implemented. The next priority is per-region color correction, which we hope will be implemented for 4.11.

Why is it an experimental feature?

Because there are still many things that are not properly tested and could go wrong. One of the issues is that many monitors do not have associated ICC profiles and color correction has no effect (dummy profiles are used for them).

What to do if the screen goes blank?

This should not happen, but you never know. If it happens, disable KWin compositing temporarily using Alt+Shift+F12, disable color correction, and re-enable compositing.

When should we expect complete color management for KDE?

If we are talking about color management in Qt, not anytime soon. If we are talking about decent color management implemented in the compositor (KWin), sooner than not anytime soon. It also depends on how quickly the graphics applications adapt to these new color management things.

Why does nothing happen if something goes wrong?

Because we had not enough time to implement notifications. This will change in the near future.