Xe je nový grafický ovládač jadra Linuxu pre moderné iGPU a dGPU
Spoločnosť Intel nedávno oznámila vydanie prvej verzie nového ovládača pre jadro Linuxu s kódovým označením „Xe“. Uviedla, že tieto nové ovládače sú určené na použitie s integrovanými grafickými procesormi GPU a samostatnými grafickými kartami založenými na architektúre Intel Xe používanej v integrovaných grafikách od procesorov Tiger Lake a vybraných grafických kartách rodiny Arc.
Cieľom vývoja ovládačov je poskytnúť rámec pre podporu nových čipov, nie viazaný na kód pre podporu starších platforiem. Oznámené je aj aktívnejšie zdieľanie kódu Xe s ostatnými komponentmi subsystému DRM (Direct Rendering Manager).
Kód bol pôvodne navrhnutý tak, aby podporoval rôzne hardvérové architektúry a je k dispozícii na testovanie na systémoch x86 a ARM.
Inžinieri grafických ovládačov Intel pre Linux v tichosti pracovali na novom ovládači Direct Rendering Manager pre novšiu grafiku Gen12/Xe a urobili kroky, aby sa vyhli noseniu starej batožiny ovládača i915.
Toto je prezentácia pre Xe, nový ovládač pre GPU Intel, ktorý podporuje oboje.
integrované a diskrétne platformy od Tiger Lake (prvá platforma s architektúra Intel Xe). Zámerom tohto nového pilota je mať novú základňu pracovať z toho nie je brzdený staršími platformami, pričom tiež berú príležitosť prepracovať náš ovládač, aby sme zvýšili zdieľanie v DRM subsystému, ktorý využíva a umožňuje nám viac prispievať k ostatným Zdieľané komponenty ako TTM a drm/plánovač. Pamäťový model je založený na VM bind, ktorý je podobný implementácii i915. Rovnako exebuf Implementácia pre Xe je veľmi podobná execbuf3 na i915
Spomína sa, že súčasná implementácia je stále považovaná za experimentálnu možnosť na diskusiu vývojárov, ktorá ešte nie je pripravená na integráciu do hlavnej časti jadra. Práce na starom ovládači i915 neustávajú a jeho údržba bude pokračovať. Nový ovládač Xe by mal byť pripravený v priebehu roku 2023.
Kód je v štádiu, keď je už funkčný a zažitý
podpora viacerých platforiem od Tiger Lake s počiatočnou podporou
implementované v Mesa (pre Iris a Anv, naše ovládače OpenGL a Vulkan), ako aj
ako v NEO (pre OpenCL a Level0). Boli publikované Mesa MR [2] a NEO
Implementácia bude zverejnená začiatkom budúceho roka. Máme aj apartmán. od IGT pre XE, ktorý bude čoskoro uvedený na IGT.
V novom ovládači je väčšina kódu pre interakciu s obrazovkami prevzatá z ovládača i915 a v budúcnosti vývojári plánujú zabezpečiť zdieľanie tohto kódu v oboch ovládačoch, aby sa predišlo duplicite typických komponentov (v súčasnosti je tento kód jednoducho dvakrát prestavaný, ale diskutuje sa o alternatívnych možnostiach zdieľania kódu).
Pamäťový model v Xe je veľmi blízky implementácii pamäťového modelu i915 a implementácia execbuf je veľmi podobná execbuf3 z kódu i915. Na podporu grafických API OpenGL a Vulkan projekt okrem ovládača pre linuxové jadro pripravil aj zmeny pre ovládače Iris a ANV Mesa, aby fungovali cez modul Xe.
Vo svojej súčasnej podobe je prepojenie Xe-Mesa už dostatočne vyspelé na spustenie prehliadačov a hier založených na GNOME, OpenGL a Vulkan, ale stále existujú určité problémy a chyby, okrem iného, ktoré spôsobujú zlyhanie. Taktiež neboli vykonané žiadne práce na optimalizácii výkonu.
Na záver stojí za zmienku, že Intel má v pláne na ňom pokračovať a zlúčiť ho s Mesa po menších častiach, ale hlavný návrh pre celý projekt zostane zachovaný aj v budúcnosti, aby sa uľahčilo testovanie.
Ak máte záujem dozvedieť sa viac , podrobnosti nájdete na nasledujúcom odkaze.