Weekend Prosjekt: Takle Color Management på Linux


Ser du det jeg ser? Kanskje, hvis du har tatt deg tid til å takle fargestyring på din maskin. De store skrivebordsmiljøene for Linux gi 90 prosent av brukerne alle de verktøyene de trenger for å se alle sine bilder i enhetsuavhengig nøyaktighet. Du trenger ikke engang å kjøpe spesiell maskinvare. Denne helgen, trekke opp en skjerm og se hva alt technicolor oppstyret handler om.

Jeg skal være den første til å innrømme at jeg skriver om fargestyring mer enn gjennomsnittet Linux-bruker bryr seg om å høre om det. Jeg nevner det når jeg gjennom grafikk apps av to grunner: For det første fordi det er en må-ha-funksjonen for fotografering og grafisk design, og andre, fordi desktop Linux er rett på randen av å gjøre det enkelt og allestedsnærværende, noe som vil være en store seier. Men det er ikke helt pek-og-klikk enkel ennå. Men det er ikke å trekke tenner vanskelige lenger, heller.

For de helt nye i faget, essensen av fargestyring er at to enheter produsere akkurat de samme fargene, men fordi alle digitale farger er ikke noe mer enn tall (tror RGB tredobler ...), kan vi matematisk konvertere hvert nummer, slik at når det endelig kommer på skjermen, ser det samme. Teoretisk er det eneste trikset kjenne egenskapene til skjermen – hvilken del av 3D-fargerommet det kan faktisk vise

Praktisk talt, det er en annen vanskelige delen. programmet som ønsker å male fargerike piksler på skjermen må faktisk do Anmeldelser transformasjon, ikke bare skyve rå RGB på X-server. Men det er et problem for programutviklere; det finnes biblioteker for å gjøre kort prosess med den tallknusing, og en sjokkerende lang liste med Linux apps er allerede forberedt på å pen opp dine farger hvis du vil bare gi skjermegenskaper.

Og der ligger det arbeidet . I år tidligere, oppgaven med å lage " skjerm profilen " (som det er offisielt kjent) var både komplisert og uforståelige. Du trengte en lys-sensing fargemåler som du kan feste på skjermen, og du trenger å jobbe en pakke med kommandolinjeverktøy (som aldri syntes å være pakket for din distribusjon) til å sette skjermen gjennom sine skritt og fange sin atferd med colorimeteret. For ikke å nevne at støttede kolo var ikke billig eller lett å finne. Dessuten virket det som ingen noensinne ville legge merke til " fargeproblemer " med mindre de hadde to skjermer, noe som er et lite mindretall av Linux-brukere.

Det siste problemet er den som endret først. Netbooks kom, bærbare datamaskiner fikk billigere, og selv folk som bare hadde plass på skrivebordet for én skjerm funnet seg jevnlig å se på to eller flere forskjellige skjermer og bli frustrert når de ikke kunne gjøre sine Facebook-profilbilder ser rett på dem begge . En av dem tilfeldigvis GNOME Richard Hughes, som satte seg ned og skrev den første ikke-farge-geek fargestyring app for desktop Linux, GNOME Color Manager (GCM)

Komme i gang. GCM og profiler

GCM er en offisiell GNOME-prosjektet, og skal være tilgjengelig på GNOME 2.28 og senere. Fedora, opensuse, og Ubuntu all pakke det, og det er ment å være en standard modul i GNOME 3. Sjekk med din distribusjon sitt pakkesystem. Den nåværende stabile versjonen er 2.32, og når den er installert, vises det i menystrukturen som System - > Innstillinger - > . Fargeprofiler Anmeldelser

Hovedvinduet har tre kategorier: Enheter, Profiler, og mislighold. Se på Defaults først. Det er to avmerkingsboksene under " Skjerm " avsnitt; en til å gjelde korrigering og en til å sette et system eiendom som farge-aware programmer kan be om å få info om standard visnings. Sjekk begge. Den første er hva som faktisk justerer skjermutgang (som er hele poenget med fargestyring), mens den andre sparer deg bryet med å måtte manuelt konfigurere de fleste av de andre programmene du vil bruke. Du vil sannsynligvis ønske å sette RGB " Working plass " innstillingen til sRGB og " Rendering intents " til Perceptual. sRGB er standard alle bruker, og Perceptual betyr bare de numeriske konverteringene er utformet for å " se rett " snarere enn å passe noen bestemt farge modell.

Hvis du går tilbake til Profiler, vil du se en liste over ICC Color Profiles at operativsystemet vet allerede om. De fleste av disse er forhåndsdefinerte standarder som sRGB eller NTSC (fargeprofilen som brukes av kringkastings i Nord-Amerika). GCM plukker dem opp fra /usr /share /farge /ICC /system katalogen. Du kan se på en graf som legges over valgte profilen på toppen av gumdrop formede full menneskelige øyne fargerom ved å klikke på " profil Grafer " knapp. Nederst på denne listen vil du finne ". Konvertering profiler " Dette er de transformasjoner fra ett fargerom til et annet brukt til beregninger – trenger du ikke å bekymre deg for dem i det hele tatt.

Nå klikker du på Devices. Listen til venstre viser alt av maskinvare GCM vet om, inngang og utgang. For våre visningsrettede formål, dette inkluderer alt av X " Monitor " s definert i /etc/X11/xorg.conf fil. Du vil se dem oppført av VendorName og Identifier innstillinger tatt direkte fra den filen. All GCM trenger for å riktig farge-korrekte for skjermen (eller skjermer) er for deg å velge riktig profil fra nedtrekkslisten på høyre side av vinduet. Korreksjonen vil tre i kraft umiddelbart, og du kan gjøre det en systemomfattende innstilling ved å klikke " Gjør Standard " . nederst

Så hvor kommer " riktig " profile kommer fra? Det er et spørsmål om hvor mye arbeid du ønsker å sette inn i oppgaven. Farge purister vil fortelle deg at den eneste riktige profilen er en som du genererer selv, med et colorimeter og profilering programvare. Det er teknisk sett mest presise, siden ingen to enhetene er like, og her er det gode nyheter: kolo ha fått mye billigere, spesielt fordi Linux-støtte for lavkost USB-enheter har bedret seg betydelig

Hvis du gjør. plukke opp en av de billige USB kolorimetre, kan du koble den til nå og GCM er " Opprett profil for Device " knappen vil lyse opp, slik at du kan lage en tilpasset profil for valgte skjermen. Men siden dette er en helg prosjekt for alle, la oss ta en titt på de andre alternativene – de som ikke krever å kjøpe noen ekstra maskinvare.

falsk det Till You Make It

Det kan være kontroversielt i enkelte kretser, men hvis du ikke kan lage dine egne skjermprofil Jeg anbefaler deg å prøve å finne en spesifikk for din modell av skjermen som en god " nest beste " Utgangspunktet. Du har kanskje allerede eier en: i mange tilfeller, produsenter inkluderer visningsprofiler blant hjelpefiler og drivere som de ta med på CDer pakket i esken sammen med garantikortet og bruksanvisningen. Hvis du fortsatt vet hvor din er, finner den, støv den av, og pop den i — en .icc eller ICM-filen er alt du leter etter.

Hvis du ikke finner det, prøv produsentens støtte nettsted, under drivere og nedlastinger delen. Du kan også finne brukerskapte visningsprofiler for vanlige skjermer hvis du søker fotografering og design fora. En profil opprettet med en maskinvare colorimeter er uavhengig av OS som brukes til å lage det, så profilen en Windows eller OS X brukerens er helt greit om de er villige til å dele den.

Uansett hvor det kommer fra, kan du installere profilen i GCM ved å flytte til kategorien Profiler og velge ". Import " GCM vil kopiere den fra CD til ~ /Color /ICC /katalog. Dette får du en del av veien der, men det er ufullkommen fordi selv to skjermer av samme merke og modell kan variere betydelig i sine faktiske egenskaper. Ta en titt på de to skjerm kurvene nedenfor: de er fra to identiske Dell skjermer av nøyaktig samme alder, men de er langt fra identiske. Men med produsenten-gitt-skjerm profil, har du i det minste få de riktige fargeprimærvalg og noen andre egenskaper som du ikke vil være i stand til å finne ut av eyeballing det.

Til slutt, selv om du absolutt ikke kan finne en visningsprofilen for skjermen, kan du bruke et annet program for å tilnærme det du ser. KDEs Kgamma er et GUI verktøy bygget for KDE4 er systemsettings app (det som pleide å bli kalt KDE Control Center). Kgamma er designet rundt endrer gamma-ramping innstillinger X serverens, som ikke er det samme som en skjerm profil, men det fungerer fordi GCM gamma rampe innstillingen ikke berører heller. Du kan velge en generisk skjermprofil i GCM, deretter bruke Kgamma sin farge og grå-skala testbilder for å justere skjermens gamma korreksjon manuelt. Resultatet er ikke så god som en colorimeter, selvfølgelig, men hvis du er forsiktig fungerer det for øyet ... som var det opprinnelige punktet, tross alt. Kgamma lar deg også uavhengig justere multi-head-skjermer

Programmer og Video Drivers

GCM s ". Satt profil for farge klarte programmer " avkrysnings sparer valgt skjerm profilen som _ICC_PROFILE innstillingen i X-serveren. Enhver applikasjon kan spørre den innstillingen og automatisk plukke opp den riktige profilen for å bruke ved visning av bilder. Muligheten til å dele skjermprofil informasjon over skrivebordet er lite, men viktig skritt på veien mot helt automatisk fargestyring; det er mer arbeid for å bringe fargestyring til lavere nivå komponenter som GTK +, Kairo, og Compiz.

Foreløpig GIMP, Inkscape, Geeqie, og Krita vil spørringen systemet for en skjerm-profilen automatisk. Andre farge-aware programmer som Digikam, Rawstudio, og Scribus krever at du velge fargeprofil fra en liste i innstillingsvinduet deres programmet. Firefox krever at du bla til about:. Config deretter manuelt endre gfx.color_management.display_profile innstillingen, velger profilen din fra filsystemet

De er blant de mest brukte programmer som drar nytte av stor fargeinnhold, og det er bemerkelsesverdig mindre arbeid å sette opp enn det var bare to år siden. Men det betyr ikke at det er så enkelt som å falle ned, heller. Du kan fortsatt få litt av noen skjerpende bugs takket være at eldgamle fiende av brukervennlighet, X-serveren. Spesielt hvis du bruker en multi-monitor oppsett med et Nvidia grafikkort, du kan ikke ha både 3D-akselerasjon og Selge pr-monitor fargeprofiler. Det er fordi den ikke-free " nvidia " skjermdriveren støtter ikke pr-monitor profiler, og den alternative gratis " nouveau " driveren støtter ikke 3D-akselerasjon. Dermed er du stuck med en ubehagelig valg: enten gi opp en funksjon, eller selv et ATI eller Intel skjermkort. Eller bare vente, og kaste noe støtte til de nouveau utviklere. Det er sannsynligvis den beste gratis-programvare-community-bygningen alternativ.

Hvis du vil ha ekstra kreditt på dette feltet, foreslår jeg å sjekke ut noen av de mer avanserte fargeprofileringsverktøy, som dispcalGUI, noe som kan skape svært høy profil profiler inkludert ambient belysning korreksjon. Det er også en god innføring i Argyll fargestyring suite, som er en av disse kommandolinje orientert verktøy som er nevnt i innledningen. Det er fortsatt CLI, men dokumentasjonen er førsteklasses.

På noen måter, høres fargestyring eksotisk, men jeg tror det er bare fordi Linux-brukere har blitt vant til å leve uten. Med alle disse transistorene på GPU og CPU-sykluser spinne rundt, forventer vi vår OS å gjøre mye av lav-nivå arbeid for oss, inkludert redrawing skjermen uten jitter og rive, anti-aliasing våre skrifter, og gjengivelse rulle skygger under våre vinduer. Det virkelig bør kliner fargene ser riktig uansett hvilken skjerm vi kobler til, også. Bra det er ikke så komplisert som det høres ut; vi kan få det før du vet ordet av det. Anmeldelser