Xe, Intel's new Linux driver for its GPUs

Xe

Xe is the new Linux kernel graphics driver for modern iGPUs and dGPUs

Intel recently announced the release of the initial version of a new driver for the Linux kernel , codenamed "Xe." They stated that these new drivers are intended for use with integrated GPUs and discrete graphics cards based on the Intel Xe architecture used in integrated graphics from Tiger Lake processors onward, and select graphics cards in the Arc family.

The goal of driver development is to provide a framework for supporting new chips, not tied to code for supporting older platforms. More active sharing of Xe code with other components of the DRM (Direct Rendering Manager) subsystem is also announced.

The code was initially designed to support various hardware architectures and is available for testing on x86 and ARM systems.

Intel's Linux graphics driver engineers have been quietly working on a new Direct Rendering Manager driver for the newer Gen12/Xe graphics and have made strides to avoid carrying around the old i915 driver baggage.

This is a presentation for Xe, a new driver for Intel GPUs that supports both.
integrated and discrete platforms from Tiger Lake (first platform with Intel Xe architecture). The intention of this new pilot is to have a fresh base to work from that is not hampered by older platforms, while also taking the opportunity to redesign our controller to increase sharing in the drm subsystem, leveraging and allowing us to contribute more to other Shared components like TTM and drm/scheduler. The memory model is based on VM bind which is similar to the i915 implementation. Likewise the execbuf The implementation for Xe is very similar to execbuf3 on the i915

It is mentioned that the current implementation is still considered as an experimental option for discussion by developers, which is not yet ready for integration into the main part of the kernel. Work on the old i915 controller does not stop and its maintenance will continue. The new Xe controller is scheduled to be ready during 2023.

The code is at a stage where it is already functional and experienced
support for multiple platforms as of Tiger Lake, with initial support
implemented in Mesa (for Iris and Anv, our OpenGL and Vulkan drivers), as well as
as in NEO (for OpenCL and Level0). A Mesa MR [2] and NEO have been published
The implementation will be publicly released early next year. We also have a suite. from IGT for XE which will be listed on IGT shortly.

In the new controller, most of the code for interacting with the screens is borrowed from the i915 controller , and in the future, the developers plan to ensure the sharing of this code in both controllers to avoid duplication of typical components (currently, this code is simply rebuilt twice, but alternative code-sharing options are being discussed).

The memory model in Xe is very close to the implementation of the i915 memory model, and the implementation of execbuf is very similar to execbuf3 from the i915 code. To support the OpenGL and Vulkan graphics APIs, in addition to the driver for the Linux kernel, the project has also prepared changes for the Iris and ANV Mesa drivers to work through the Xe module.

In its current form, the Xe-Mesa link is already mature enough to run GNOME, OpenGL and Vulkan-based browsers and games, but there are still some issues and bugs, among other things, that cause it to crash. Also, no performance optimization work has been done yet.

Finally, it's worth mentioning that Intel's plan is to continue working on it and merge it with Mesa in smaller parts, but its main draft for the whole thing will remain as it progresses to allow for easier testing.

If you are interested in learning more , you can find the details at the following link.


Add as preferred source in Google