Xe er den nye Linux-kjernegrafikkdriveren for moderne iGPUer og dGPUer
Intel annonserte nylig utgivelsen av den første versjonen av en ny driver for Linux-kjernen , med kodenavnet «Xe». De opplyste at disse nye driverne er ment for bruk med integrerte GPU-er og separate grafikkort basert på Intels Xe-arkitektur som brukes i integrert grafikk fra Tiger Lake-prosessorer og utover, og utvalgte grafikkort i Arc-familien.
Målet med driverutvikling er å gi et rammeverk for å støtte nye brikker, ikke knyttet til kode for å støtte eldre plattformer. Mer aktiv deling av Xe-kode med andre komponenter i DRM-undersystemet (Direct Rendering Manager) er også annonsert.
Koden ble opprinnelig designet for å støtte ulike maskinvarearkitekturer og er tilgjengelig for testing på x86- og ARM-systemer.
Intels Linux-grafikkdriveringeniører har i det stille jobbet med en ny Direct Rendering Manager-driver for den nyere Gen12/Xe-grafikken og har gjort fremskritt for å unngå å bære rundt på den gamle i915-driverbagasjen.
Dette er en presentasjon for Xe, en ny driver for Intel GPUer som støtter begge.
integrerte og diskrete plattformer fra Tiger Lake (første plattform med Intel Xe-arkitektur). Intensjonen med denne nye piloten er å ha en frisk base å jobbe fra som ikke er hemmet av eldre plattformer, samtidig som du tar mulighet til å redesigne kontrolleren vår for å øke deling i drm delsystem, utnytte og tillate oss å bidra mer til andre Delte komponenter som TTM og drm/planlegger. Minnemodellen er basert på VM bind som ligner på i915-implementeringen. Likeledes execbuf Implementeringen for Xe er veldig lik execbuf3 på i915
Det nevnes at den nåværende implementeringen fortsatt anses som et eksperimentelt alternativ for diskusjon av utviklere, som ennå ikke er klar for integrering i hoveddelen av kjernen. Arbeidet med den gamle i915-kontrolleren stopper ikke, og vedlikeholdet vil fortsette. Den nye Xe-kontrolleren skal etter planen være klar i løpet av 2023.
Koden er på et stadium der den allerede er funksjonell og erfaren
støtte for flere plattformer fra Tiger Lake, med innledende støtte
implementert i Mesa (for Iris og Anv, våre OpenGL- og Vulkan-drivere), samt
som i NEO (for OpenCL og Level0). En Mesa MR [2] og NEO er publisert
Implementeringen vil bli offentliggjort tidlig neste år. Vi har også en suite. fra IGT for XE som vil bli notert på IGT om kort tid.
I den nye kontrolleren er mesteparten av koden for samhandling med skjermene lånt fra i915-kontrolleren , og i fremtiden planlegger utviklerne å sørge for deling av denne koden i begge kontrollerne for å unngå duplisering av typiske komponenter (for øyeblikket er denne koden ganske enkelt gjenoppbygd to ganger, men alternative kodedelingsalternativer diskuteres).
Minnemodellen i Xe er veldig nær implementeringen av i915-minnemodellen, og implementeringen av execbuf er veldig lik execbuf3 fra i915-koden. For å støtte OpenGL- og Vulkan-grafikk-API-ene, i tillegg til driveren for Linux-kjernen, har prosjektet også forberedt endringer for at Iris- og ANV Mesa-driverne skal fungere gjennom Xe-modulen.
I sin nåværende form er Xe-Mesa-lenken allerede moden nok til å kjøre GNOME-, OpenGL- og Vulkan-baserte nettlesere og spill, men det er fortsatt noen problemer og bugs, blant annet, som får den til å krasje. Det er heller ikke gjort noe arbeid med ytelsesoptimalisering ennå.
Til slutt er det verdt å nevne at Intels plan er å fortsette å jobbe med det og slå det sammen med Mesa i mindre deler, men hovedutkastet for det hele vil forbli etter hvert som det skrider frem for å muliggjøre enklere testing.
Hvis du er interessert i å lære mer , finner du detaljene på lenken nedenfor.