![Xe](https://blog.desdelinux.net/wp-content/uploads/2022/12/Intel-Linux-XE.png)
Xe är den nya grafikdrivrutinen för Linux-kärnan för moderna iGPU:er och dGPU:er
Intel avslöjade släppte nyligen den första versionen av de en ny drivrutin för linux-kärnan, med kodnamn "Xe", nämner att dessa nya förare är Avsedd för användning med integrerade GPU:er och grafikkort diskret baserad på Intel Xe-arkitektur används i integrerad grafik sedan Tiger Lake-processorer och utvalda Arc-familjens grafikkort.
Målet av förarutveckling är tillhandahålla ett ramverk för att stödja nya chips, inte bunden till kod för att stödja äldre plattformar. En mer aktiv delning av Xe-koden med andra komponenter i DRM-delsystemet (Direct Rendering Manager) tillkännages också.
Koden designades ursprungligen för att stödja olika hårdvaruarkitekturer och är tillgänglig för testning på x86- och ARM-system.
Intels Linux-grafikdrivrutintekniker har i det tysta arbetat på en ny Direct Rendering Manager-drivrutin för den nyare Gen12/Xe-grafiken och har gjort framsteg för att undvika att bära med sig det gamla i915-drivrutinens bagage.
Detta är en presentation för Xe, en ny drivrutin för Intel GPU:er som stöder båda.
integrerade och diskreta plattformar från Tiger Lake (första plattformen med Intel Xe-arkitektur). Avsikten med denna nya pilot är att ha en ny bas att arbeta från som inte hindras av äldre plattformar, samtidigt som du tar möjlighet att designa om vår controller för att öka delning i drm delsystem, som utnyttjar och låter oss bidra mer till andra Delade komponenter som TTM och drm/scheduler. Minnesmodellen är baserad på VM bind som liknar i915-implementeringen. Likaså execbuf Implementeringen för Xe är mycket lik execbuf3 på i915
Det nämns att den nuvarande implementeringen fortfarande betraktas som ett experimentellt alternativ för diskussion av utvecklare, som ännu inte är redo för integration i huvuddelen av kärnan. Arbetet med den gamla i915-kontrollern slutar inte och underhållet kommer att fortsätta. Den nya Xe-kontrollern är planerad att vara klar under 2023.
Koden är i ett skede där den redan är funktionell och erfaren
stöd för flera plattformar från och med Tiger Lake, med initialt stöd
implementerat i Mesa (för Iris och Anv, våra OpenGL- och Vulkan-drivrutiner), samt
som i NEO (för OpenCL och Level0). En Mesa MR [2] och NEO har publicerats
Implementeringen kommer att släppas offentligt i början av nästa år. Vi har även en svit. från IGT for XE som kommer att listas på IGT inom kort.
I den nya styrenheten, det mesta av koden för att interagera med skärmarna är lånad från i915-drivrutinen och i framtiden planerar utvecklarna att säkerställa delning av denna kod mellan båda styrenheterna för att undvika duplicering av typiska komponenter (nu byggs sådan kod helt enkelt om två gånger, men alternativa koddelningsalternativ diskuteras).
Minnesmodellen i Xe är mycket nära implementeringen av i915-minnesmodellen, och implementeringen av execbuf är mycket lik execbuf3 från i915-koden. För att stödja OpenGL- och Vulkan-grafik-API:erna har projektet, förutom drivrutinen för Linux-kärnan, även förberett ändringar för Iris- och ANV Mesa-drivrutinerna för att fungera genom Xe-modulen.
I sin nuvarande form är Xe-Mesa-länken redan mogen nog att köra GNOME, OpenGL och Vulkan-baserade webbläsare och spel, men det finns fortfarande några problem och bland annat buggar som gör att den kraschar. Dessutom har inget arbete med prestandaoptimering gjorts ännu.
Slutligen är det värt att nämna det Intels plan är att fortsätta arbeta med det och slå samman det med Mesa i mindre delar, men ditt huvudutkast för det hela kommer att hålla sig när du går för att möjliggöra enklare korrektur.
Om du är det intresserad av att veta mer om detkan du kontrollera detaljerna i följande länk.