Linux 5.14 To Bring Reworked User-Space API For Intel Discrete Graphics
The Linux 5.14 kernel this summer is going to bring a reworked user-space API for Intel's DG1 graphics card and their future discrete graphics offerings. This change to the Intel kernel graphics driver's user-space API, which is currently flagged as "broken" until it has been proven sufficiently capable for user-space needs and stable, is principally needed for handling of device local memory (dedicated vRAM).
For a while now Intel's open-source driver engineers have been working on a redesigned user-space API for accommodating the DG1 and future Intel discrete graphics processors. This changed uAPI is necessary for user-space to be able to control their desired memory regions whether they are wanting to utilize system memory or now the device local memory attached to a dGPU.
The new API basically allows for querying available memory regions (namely system or local device memory availability), a new ioctl similar to GEM create that can accept a chain of possible extensions, and then an extension that can be used there to allow specifying a memory region to use for an allocation.
While this redesigned user-space API has been sent in for Linux 5.14 by way of DRM-Next, with this kernel it's hidden behind the CONFIG_BROKEN option and isn't yet guaranteeing API stability. Still being tackled is the Intel kernel driver working on making use of TTM memory management. Once that conversion to TTM memory management is complete and the latest Mesa patches published for making use of the new uAPI, after all of that has been verified, the new user-space API code will be exposed "for real" (not behind the broken option) as well as finally adding the PCI ID(s) for the DG1 graphics card to the Linux kernel.
This reworked user-space API for Intel discrete graphics was sent in today as part of drm-intel-gt-next for baking in DRM-Next until the Linux 5.14 merge window kicks off in about one month's time. Also coming on the Intel graphics side with Linux 5.14 is Alder Lake P enablement and other changes.