A GNOME 49 teljesen átalakítja a háttérvilágítás kezelését

A Red Hat fejlesztői csapata a GNOME 49-ben új szintre emeli a HDR támogatást, különös tekintettel a háttérvilágítás kezelése kapcsán. A HDR szorosan összefügg a tényleges fénysűrűséggel, ezért a rendszernek pontos kontrollra van szüksége a luminancia felett. Ennek egyik prózai oka, hogy sok külső HDR kijelző HDR módban nem engedi a felhasználói fényerő-állítást az OSD menüből, a másik pedig az, hogy a rendelkezésre álló HDR mozgástér a csúcsfényerő és a papírfehérnek tekintett referencia szint különbségéből adódik. Ha nincs a képernyőn HDR tartalom, felesleges magasra tekerni a háttérvilágítást, ezért a dinamikus szabályozás nemcsak képminőségi, hanem energiafogyasztási előnyöket is hoz.

A GNOME 49 teljesen átalakítja a háttérvilágítás kezelését

Szoftveres „háttérfény” és a GNOME 48 öröksége

A GNOME már a 48-as kiadásban bevezetett egy kerülőutat: a mutter képes úgy módosítani a kijelzőre küldött jelet, hogy a fehér ne a teljes 1.0 jelszintet jelentse, hanem egy köztes értéket. Ez gyakorlatilag szoftveresen emulálja a háttérvilágítást, ami papíron elvesz néhány hasznos bitet a jelből, de 10–12 bites HDR jeleknél a gyakorlatban nem okoz észrevehető sávosodást. Ezt az API-t akkor a Beállítások „HDR Brightness” opciójaként láthattuk, ám a tartós megoldáshoz mélyebb átalakításra volt szükség, mert a meglévő sysfs alapú háttérvilágítási felület nehezen köthető konkrét kijelzőhöz, íráshoz magas jogosultság kell, egy belső panel több háttérvilágítási csatornát is kiexponálhat, és a nullás érték jelentése sem egységes.

Rendrakás a háttérvilágítás körül: a mutter lesz az igazság forrása

Az elmúlt év fejlesztéseinek eredményeképp a sysfs háttérvilágítás kezelését a gnome-settings-daemonból a mutterbe költöztették, és általános logika dönt arról, hogy fizikai vagy szoftveres háttérvilágítást érdemes-e használni.

A rendszer mostantól bármely kijelző fényerejét képes szabályozni, a háttérvilágítás állapotának hiteles forrása pedig kizárólag a Mutter. A fényerő értéke többféle forrásból is származhat: a felhasználó beállíthatja a gyorsbeállítások panelen vagy billentyűparancsokkal, energiatakarékossági mód automatikusan elhalványíthatja a kijelzőt, illetve a környezeti fényérzékelő is átveheti az irányítást. A helyzetet tovább bonyolítja, hogy egy logikai monitor mögött több fizikai kijelző is lehet, mindegyik saját háttérvilágítással, de ezt a GNOME Shell már egységesen kezeli. Ennek megfelelően a gyorsbeállítások fényerő-csúszkája megújult, így több kijelző fényereje is vezérelhető vele, miközben a korábbi „HDR Brightness” opció kikerült a Beállítások menüből.

Előretekintés: új KMS API és dinamikus HDR mozgástér

A következő lépés az új, KMS-szintű háttérvilágítási API, amelyet a kijelzőkezelés alaprendszerébe illesztenek. Ez megkerüli a sysfs korlátait, lehetővé teszi a háttérvilágítás és a képfrissítés atomikus, együttes frissítését, és a háttérvilágítás értékének tényleges luminanciához kötött leképezését. Amint ez az API felkerül az upstreamre, a GNOME oldalán gyakorlatilag csak „be kell dugni” a már előkészített logikát, és a környezet képes lesz tartalomfüggően dinamikusan szabályozni a HDR mozgásterét. A végeredmény kiszámíthatóbb fényerő-kezelés, jobb HDR megjelenítés és hatékonyabb energiafelhasználás a GNOME 49 generációjától kezdve.

További információk Sebastian Wick blogbejegyzésében olvashatóak