Review Request: include KolorManager in kdegraphics

Kai-Uwe Behrmann ku.b at
Thu Mar 15 08:55:56 GMT 2012

Am 14.03.12, 17:04 +0100 schrieb Matthias Klumpp:
> 2012/3/14 Kai-Uwe Behrmann <ku.b at>:
>> Am 14.03.12, 15:54 +0100 schrieb Matthias Klumpp:
>>> [...]
>>> I also want to point you to this comparison colord against Oryanos:
>>> =>
>> Matthias, you help spreading false assertions here.

> Please do a similar table for Oryanos vs. colord than the colord
> maintainer did, so we can compare them. I guess that might be helpful
> even for people who don't understand color management very well.

The table you link to is biased and, in my opinion, unfair. It would 
probably just as unfair if I started a similar comparison table. That 
is really a job for a third party reviewer. But instead I will list 
here the features Oyranos has right now, which I think will be directly 
useful to end users.

I think it is worth noting that Oyranos and colord aren not the only 
players. There is also the very powerful and very valuable ArgyllCMS.
Anyway, here about what Oyranos provides:

    Oyranos properties

General Concept
* cross platform API (Linux, BSD, osX, started win32)
    * abstraction from platform specific conventions
    * interfacing native OS specific CMS'es
* cross desktop
    * toolkit independent library
    * standalone front end Synnefo in Qt (similiar to KolorManager)
* selfcontained and modular design
    * most dependencies reside in runtime switchable modules
    * lightwight core
    * modules can be easily maintained, exchanged, fixed or extented
    * installations can be customised (e.g. skipping X11 module for pure
      print servers)
* adhering to existing standards and work on new ones inside OpenICC / ICC
    * OpenICC is a fd.o project
    * we help creating and maintaining proposals and specs
* Oyranos just works
* KolorManager enables even nonexpert users to configure their devices
* new BSD License

* complete CM settings like in advanced graphics applications
    * CinePaint
    * ICC Examin
    * optional, apps decide what they want to support
    * hybrid approach possible like
      explicitely syncing internal settgings with Oyranos
    * users can share CM options across supporting applications
      e.g. enabling proofing and selection of a proof profile
      That can reduce repeating settings in each application.
* clear concept of user owned and system owned settings
    * user versus system rights are much more naturaly handled
    * administrators can provide useful machine specific defaults
    * portable
* policy / grouping for easy switching, export, import of default settings
    * country specific defaults
    * company specific defaults or
    * task specific defaults

Profile Handling
* profile lookup
    * including support of platform specifics
* profile parsing
* minor corrections like profile ID assignment
* caching
* profile writing (but no own profiling like ArgyllCMS)

* colour conversion API
    * optional
    * apps can offload CM decission to Oyranos on demand
    * still fine controled settings possible
    * supports proofing, effect profiles
    * arbitrary channel count and bit depths like CMM (lcms)
    * profile and transform caching for fast access
* backend API for plugable CMMs (lcms, lcms2, GPU based are possible)
    * stand alone modules, without external requirements
    * these CMM's are selectable through the colour conversion API
* DAC based imaging for extension to HDR imaging and spectral imaging
    * state of the art, like in Gegl, Blender or other node based engines
    * 2D capable API
    * useful for adding tonemapping
* CPU based multi monitor colour correction
    * needs the above imaging DAC, the monitor module and a CMM
    * works independent of window managers
    * used in some widgets in ICC Examin
* traceable colour correction for easy debugging through users
    * unexpected results happen allways, this is a way to track processing
    * convenient for end users
    * speeds up error search by using simle tools
    * no gdb needed
* named colour support
    * used in ICC Examin
    * would be useful in KDE colour selectors
    * high precission colorimetry with native channels easily possible

Device Profile Assignment
* automatic device profile based on parsed hardware and ICC meta data
    * automatic profile selection according to a given device
* Taxi support for remote distributed ICC profiles
    * online DB for ICC device profiles
    * dispcalGUI can upload to Taxi DB
    * selection and download of profiles from remote DB by Oyranos
    * spec is shared through OpenICC for more users
* backend API for device property modules
    * for device identification and
    * most complete tracking of colour related settings in drivers
    * abstracted from apps, which do not need to care about specifics
* multi monitor support includes
    * XRandR like intel
    * nvidia drivers
    * ati drivers need more testing
    * on-the-fly fallback from EDID profile generation
* supports cameraRAW/LibRaw combo
    * allows to select a custom ICC profile for a given camera
* robust printer configuration concepts
    * planned support of per queue profiles in KM
    * libCmpx can be used to embedd a device profile inside a PDF
      supports the PDF/X-3 specification

Toolkit Support
* first prototyp for window based colour correction inside a widget
    * used in ICC Examin
    * but needs more integration work and port to Qt
* support of libXcm (region and window based window communication)

I've been working on colour management for about eight years. It is hard 
for me to explain all, what I've been working on for so long in that field 
- so if there is anything not clear about this list of features of 
Oyranos, please ask.

kind regards

Kai-Uwe Behrmann

More information about the kde-core-devel mailing list