Al meer dan een jaar werkt Intel aan de ontwikkeling van de grafische driver voor de Xe Linux-kernel als een moderne Direct Rendering Manager-driver voor Gen12 en nieuwere geïntegreerde/discrete grafische afbeeldingen. Voor recente hardware is dit ter vervanging van het bestaande gebruik van de i915-kerneldriver. De open-sourceontwikkelaars van Intel blijven werken aan de mijlpaal dat ze deze driver kunnen indienen voor mainlining in de stroomopwaartse Linux-kernel.
Met de grafische driver voor de Xe-kernel hebben de betrokken Intel-technici een frisse ontwerpbenadering kunnen kiezen in vergelijking met de i915-kerneldriver die de afgelopen twee decennia organisch is opgebouwd. Met het Xe-stuurprogramma ondersteunen ze alleen Gen12 en nieuwer, zodat ze zich geen zorgen hoeven te maken over oudere Intel grafische hardwaregeneraties, ze kunnen zich concentreren op het gebruik van moderne kernelfuncties, en met hun gebruikersruimte-API hoeven ze dat niet te doen zorgen over achterwaartse compatibiliteit met de bestaande i915 uAPI-beperkingen/uitdagingen.
Deze week hebben de Intel Linux-ingenieurs hun nieuwste samenvoegplan voor de Xe-driver gepost.
Momenteel wordt de Xe-driver als functioneel beschouwd en met”experimentele”ondersteuning voor Tiger Lake en nieuwer. Zodra de driver in de kernel is geupstreamd, is het plan om Gen12+-ondersteuning nog steeds in i915 te behouden. Het Xe-stuurprogramma wordt aangemeld via de force_probe-moduleparameter, terwijl men op dezelfde manier kan voorkomen dat het i915-stuurprogramma wordt geladen voor een bepaalde GPU. Dus voor een paar releases of hoe lang het ook duurt voordat de Xe-driver zichzelf heeft bewezen, kunnen gebruikers handmatig overschakelen naar Xe om te helpen bij het testen van de ondersteuning.
In feite vermeldt het samenvoegplan dat voor momenteel uitgebrachte Intel-hardware, kan i915 voor onbepaalde tijd de standaard blijven:”Om regressies van de gebruikersruimte te voorkomen, zal i915 alle huidige platforms blijven ondersteunen die al buiten deze bescherming vallen. Xe-ondersteuning zal voor altijd experimenteel zijn en afhankelijk van de gebruik van force_probe voor deze platforms.”
Een van de doelen die de stuurprogrammaontwikkelaars hebben voordat ze Xe samenvoegen, is het sorteren van DRM-schedulerwijzigingen, GPU virtuele adrestoewijzingswijzigingen die upstream moeten worden doorgevoerd, DRM_VM_BIND, asynchrone VM_BIND, gebruikersaanwijzer”userptr”-integratie en VM_BIND-ondersteuning, en beter omgaan met langlopende computerworkloads. De ontwikkelaars willen ook betere weergavecode-integratie/delen met de i915-driver en devcoredump-infrastructuur voor het rapporteren van foutstatussen.
Tegelijkertijd hebben de open-source-engineers van Intel Xe-kerneldrivercompatibiliteit toegevoegd aan hun Mesa-drivers en aan hun Compute-Runtime-stack voor OpenCL en Level Zero. De compatibiliteit van de Intel ANV Vulkan en Iris Gallium3D/OpenGL-driver met Xe zal hopelijk worden weggewerkt voor Mesa 23.2, zodat zodra deze driver inderdaad is gemainlined, de gebruikersruimte-ondersteuning klaar en op zijn plaats is.
Degenen die geïnteresseerd zijn in de nieuwste inspanningen en plannen rond het upstreamen van de Xe-driver kunnen kijken op hun nieuwste samenvoegplan. Hopelijk lukt het ons om later dit kalenderjaar de Xe-driver geïntegreerd in de Linux-kernel te zien-in experimentele vorm.