Celoobrazovková správa barev pro linuxový desktop

autor - Srp.01, 2014 - Linux

Zatímco vybrané aplikace již několik let bez problémů zobrazují obrázky s podporou správy barev (EoG, darktable, GIMP, Krita, CinePaint, Geeqie, atd.), potíž doposud zůstává se zobrazením ostatních prvků na desktopu: dekorace oken, ikony, pozadí oken, přehrávání videa.

U monitorů zobrazujících v barvovém prostoru blízkém sRGB to obvykle nečiní problém, neb vývojáři kódují barvy právě s ohledem na tento „standard“ pro spotřební zobrazovače. Starosti nastanou ve chvíli, kdy pořídíte monitor s podporou většího gamutu – obvykle blízkému AdobeRGB, v nativním režimu jsou mnohé monitory schopné zobrazit velmi sytě červenou a zelenou daleko přesahující gamut barvového prostoru AdobeRGB. A na zářící ikonku Firefoxu se opravdu nedá dlouhodobě dívat 😉

Problém má řešení v podobě  barvového serveru CompIcc pro Compiz – níže je popsán popis instalace a nastavení pro KDE v 4.13 v Arch Linuxu.

Není ovšem vše zlato, co se třpytí: potíž je v tom, že CompIcc zatím není podporován žádným grafickým editorem s výjimkou patchovaného CinePaintu.

Což má neblahý dopad: obrázky jsou grafickými editory konvertovány do sRGB a následně CompIcc zobrazí tento obrázek na monitoru. Dochází tedy ke zprostředkující konverzi do menšího gamutu (pracovní prostor editoru -> sRGB -> prostor monitoru). Ve výsledku máte monitor s velkým gamutem zbytečně ;-(

Lze to obejít buď dočasným vypnutím CompIcc pluginu v Compizu nebo použitím příkazu xcm (vymezit oblast obrazovky, kde CompIcc nemá provádět žádnou konverzi). Pozor však na to, že CompIcc nastaví X atom _ICC_PROFILE na sRGB, což znamená že většina editorů bude konvertovat do sRGB místo do profilu monitoru. Lze to obejít ručním nastavením profilu monitoru v aplikaci (GIMP, darktable; avšak např. v digiKamu to nelze).

Nezbývá než doufat, že vývojáři se časem dohodnou na podpoře X Color Management „standardu“ a nebo se dožijeme Waylandu, který by již správu barev pro GUI toolkity měl podporovat…

Instalace

Výchozím správcem oken pro KDE je KWin, který je třeba nahradit jiným správcem zvaným Compiz. Z AURu nainstalujte compiz-core (stabilní verze 0.8.x), správce dekorací oken Compizu Emerald (stabilní verze 0.8.x),  Compizconfig Settings Manager (ccsm ve verzi 0.8.x), systémového správce barev Oyranos a barvový server pro Compiz CompIcc (stabilní verze 0.8.9):

$ yaourt -S compiz-core emerald ccms oyranos compicc

Pozor na to, že balíček emerald9 je vývojová verze pro compiz-core-dev ve verzi 0.9.x – balíčky nelze vzájemně míchat a ostatně ani nainstalovat.

Autorem Oyranosu a CompIcc je Kai-Uwe Behrmann, doporučuji k pročtení informace na webu projektu.

Nastavení

Odhlašte se a znovu přihlašte do KDE, aby správce nastavení zaregistroval nového správce oken. Spusťe správce nastavení:

$ systemsettings

a v sekci Vzhled a chování oken otevřete Výchozí aplikace a pro položku Správce oken vyberte Compiz a potvrďte.

Od této chvíle je KWin nahrazen Compizem – tzn., že mnohá nastavení týkající se vzhledu oken ve správci nastavení KDE již nebudou mít pro Compiz žádný efekt. Compiz má vlastního správce nastavení:

$ ccsm

Hned zpočátku aktivujte základní moduly, bez nichž by toho moc nefungovalo:

  • Správa oken: Rozmístit okna + Přepínač aplikací + Přesunout okno + Změnit velikost okna
  • Pracovní plocha: Color Management + Kostka plochy + Otočit kostkou
  • Efekty: Dekorace oken

Zbytek je na vašich preferencích, doporučuji k pročtení ArchWiki.

Modul Color Management slouží pro aktivaci barvového serveru Compizu CompIcc. CompIcc žádná zvláštní nastavení nemá, protože je závislý na komunikaci s další aplikací zvanou Oyranos.

Oyranos, úvod

Oyranos si zaslouží trochu více povídání. Historicky v Linuxu fungovala správa barev pouze na úrovni aplikací: např. jedna z prvních aplikací byla CinePaint.

V nastaveních takové aplikace bylo nutné nastavit výchozí profil pro obrázky (bez vloženého profilu), profil pro tiskárnu, profil pro monitor, preferované záměry pro konverzi mezi prostory (relativní kolorimetrický, saturace), atd.

Pokud jste takových aplikací používali více, nezbývalo, než to v každé nastavovat znovu a znovu. Pokud jste po měsíci vytvořili nový profil monitoru, bylo nutné jej opět všude ručně nastavit.

Později se situace o něco zjednodušila, neb profil monitoru bylo možné uložit do tzv. atomu X_ICC X serveru, odkud jej mohly aplikace přímo vyžádat (v aplikacích je obvykle označeno jako „použít systémový profil“). O úvodní uložení se staraly malé nezávislé aplikace xicc a xcalib.

Oyranos byl prvním pokusem o systematický přísup ke správě barev: je centrálním místem, kde se nastaví výchozí profily a politiky pro konverze a postará se o načtení kalibrace monitoru a uložení do X_ICC. Aplikace by pak tyto informace získávaly „ze systému“. Z různých důvodů se však Oyranos příliš neprosadil a stal se jen jakýmsi nepodporovaným prototypem – a je jím do jisté míry dodnes.

Trochu později se do věci zapojil Richard Hughes, zaměstnanec Red Hatu. Jeho motivací byla nejprve snadná kalibrace monitoru pro GNOME. GNOME Color Manager (GCM) měl provést uživatele kalibrací monitoru (pomocí kolorimetru) a měl na starosti načtení kalibrace po spuštění počítače a uložení profilu do X_ICC atomu X serveru. Později se přidala možnost vytvořit profil pro fotoaparáty a tiskárny.

GNOME Color Manager vyvíjel mnohem rychleji a zřejmě i díky integraci do GNOME (Red Hat!) se rychleji prosadil do výchozích instalací uživatelů – aniž by o tom vůbec věděli.

To vedlo k ideologickým rozporům mezi hlavními vývojáři, ty naštěstí po pár letech skončily dohodou: GCM se rozpadl na dvě části: backend colord (systémová služba) a frontend GCM (součást Panelu nastavení v GNOME). Oyranos se naučil spolupracovat s colord a může tedy fungovat paralelně s GCM.

Zatímco Oyranos je pouze jakýmsi manažerem politik a profilů, podobně jako colord, tak GCM umožňuje profily vytvářet a nastavovat jako výchozí. Vedle GCM existuje i velmi pokročilý dispcalGUI of Floriana Höschla, což je frontend k utilitám projektu Argyll CMS zabývající se pouze kalibrací a profilací monitoru.

Výhodou je, že kromě GCM i dispcalGUI umí po vytvoření profilu tento nainstalovat (dát na vědomí) démonu colord – a tím se o novém profilu pro monitor dozví i Oyranos.

A jsme na konci: barvový server CompIcc se o aktuálním profilu monitoru dozví automaticky od Oyranosu.

Pokud tedy vše klape jak má, tak i při paralelní používání různých programů pro správu barev monitoru by nemělo docházet ke konfliktům. I tak je však vhodné zkontrolovat aplikace spouštěné při přihlášení do desktopového prostředí (tj. např. v Nastavení systému v KDE, v adresáři /etc/xdg/autostart a v obdobných adresářích v domovské složce uživatele…) a raději využívat pouze jeden „zavaděč“.


Zanechte komentář

Archiv