
Red Hat fejlesztője, Sebastian Wick bejelentette, hogy a szeptember 17-én megjelenő GNOME 49 jelentős újításokat hoz a képernyő fényerőszabályzásában, különösen a HDR (High Dynamic Range) technológiát támogató kijelzők esetében. Ez a fejlesztés a GNOME 48-ban elindult változásokra épít, de átfogóan egyszerűsíti és egységesíti a rendszert, támogatva a többmonitoros használatot, valamint javítva a HDR teljesítményét és kezelhetőségét. A HDR alapvetően a luminancia, vagyis a kijelző által kibocsátott fényerősség pontos szabályzására épül. Sok külső HDR-monitor azonban korlátozza vagy letiltja a fényerő manuális állítását, amikor HDR módban van, ami jelentős kényelmetlenséget okoz.
Ezt a problémát a GNOME display komponense, a Mutter eddig egy szoftveres „háttérvilágítás” trükkel küszöbölte ki: a fizikai háttérvilágítást nem változtatva a kép fehér szintjét módosítja, így a kép fényereje látszólag állítható marad.
Új kihívás: az HDR headroom dinamikus kezelése
A HDR képalkotás lényege, hogy a kijelző képes a világos és sötét részek között nagyobb fényerőtartományt megjeleníteni. Ehhez „headroom”, vagyis extra fényerő-tartalék szükséges. Ez a tartalék a kijelző maximális fényereje és a referencia fehér szint (például egy fehér papírlap fényereje) közötti különbségből adódik. A gond ott kezdődik, hogy ha éppen nincs HDR tartalom a képernyőn, nincs értelme a háttérvilágítást maximális szinten tartani – ez ugyanis felesleges energiafogyasztást okoz. A GNOME célja, hogy dinamikusan változtassa a rendelkezésre álló HDR headroom mennyiségét, a megjelenített tartalom függvényében.
Szoftveres és hardveres háttérvilágítás
Ideális esetben a fényerőt dinamikusan, a megjelenített tartalomhoz igazítva kellene állítani. Az eddig használt sysfs backlight API azonban nem alkalmas erre, ezért a GNOME a Kernel Mode Setting (KMS) új backlight API-jára áll át, amely ezt lehetővé teszi.
A fejlesztők két problémát azonosítottak:
-
Szoftveres fényerőcsökkentés („software backlight”)
A Mutter ablakkezelő képes úgy módosítani a kijelző felé küldött jelet, hogy a fehér szín ne 1.0 jelszinten legyen, hanem kisebb értéken. Ez tulajdonképpen egy szoftveres háttérvilágítás-emuláció. Hátránya, hogy bizonyos bitszintek kihasználatlanok maradnak, ami elméletileg sávosodást (banding) okozhat – de mivel HDR esetén 10 vagy 12 bites jelátvitel történik, a gyakorlatban ez nem jelent problémát.
Ez a funkció a GNOME 48-ban már elérhető volt „HDR Brightness” néven. -
Új KMS háttérvilágítás API
A meglévő sysfs háttérvilágítás API számos korláttal küzd: nehéz hozzárendelni a kijelzőkhöz, root jogosultságot igényel, és többféle hardveres háttérvilágítás is előfordulhat egyetlen panelen. Emiatt döntés született egy új, a KMS (Kernel Mode Setting) részeként bevezetett API létrehozásáról, amely képes atomikusan változtatni a háttérvilágítást és a képernyőtartalmat egyszerre.
Ez az új, központosított rendszer támogatja a több kijelzőt, egy kijelzőn belül több háttérvilágítást, és képes kezelni a különféle bemeneteket, mint például a gyorsbeállításokat, billentyűkombinációkat, energiatakarékos fényerőcsökkentést és a környezeti fényérzékelőt.
Vizuális változások és új funkciók
A Gyorsbeállítások menü is megújul: a felhasználók mostantól egyesével szabályozhatják az egyes kijelzők fényerejét, és az eddig megszokott „HDR Brightness” csúszkát eltávolították a Beállításokból. Sebastian Wick szerint amint az új KMS backlight API bekerül a Linux kernelbe, a GNOME készen áll majd arra, hogy azt integrálja, és valós időben, dinamikusan hangolja a HDR headroomot.
A háttérvilágítás-kezelés központosítása a Mutterben
A fejlesztők az elmúlt egy évben áthelyezték a háttérvilágítás kezelését a gnome-settings-daemonból a Mutterbe. Ez több előnyt hozott:
- A Mutter lett az egyetlen forrás a háttérvilágítás állapotához.
- A rendszer képes több kijelző fényerejét külön kezelni.
- Figyelembe veszi a felhasználói beállításokat, a teljesítménykímélő módot és az Ambient Light Sensor (ALS) jelzéseit is.
- A Quick Settings menü és a billentyűparancsok is képesek monitoronként szabályozni a fényerőt.
- Az elavult „HDR Brightness” beállítás eltávolításra került a Rendszerbeállítások közül.
A jövő: dinamikus HDR headroom többmonitoros környezetben
Az új architektúra előkészíti a terepet annak, hogy a KMS háttérvilágítás API véglegesítése után a GNOME képes legyen valós időben változtatni a HDR headroomot. Ez különösen hasznos lesz többmonitoros beállításoknál, ahol eddig a fényerőszabályozás gyakran egyetlen kijelzőre korlátozódott.
Érdekesség: A HDR headroom koncepció hasonló ahhoz, ahogy a fényképezésben a „fénypuffer” működik. A fotósok gyakran hagynak extra tartalékot a kép világos részein, hogy a csúcsfények ne égjenek ki. A GNOME esetében ez a tartalék dinamikusan, tartalomfüggően állítható lesz.
