Skip to content

Commit 40bec0b

Browse files
committed
Update GPU plugin README driver section
Signed-off-by: Eero Tamminen <[email protected]>
1 parent c81472c commit 40bec0b

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

cmd/gpu_plugin/README.md

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -227,28 +227,26 @@ Kubernetes CDI support is included since 1.28 release. In 1.28 it needs to be en
227227

228228
### KMD and UMD
229229

230-
There are 3 different Kernel Mode Drivers (KMD) available: `i915 upstream`, `i915 backport` and `xe`:
231-
* `i915 upstream` is a vanilla driver that comes from the upstream kernel and is included in the common Linux distributions, like Ubuntu.
232-
* `i915 backport` is an [out-of-tree driver](https://github.com/intel-gpu/intel-gpu-i915-backports/) for older enterprise / LTS kernel versions, having better support for new HW before upstream kernel does. API it provides to user-space can differ from the eventual upstream version.
233-
* `xe` is a new KMD that is intended to support future GPUs. While it has [experimental support for latest current GPUs](https://docs.kernel.org/gpu/rfc/xe.html) (starting from Tigerlake), it will not support them officially.
230+
There are 3 different Kernel Mode Drivers (KMD) available: `i915` (upstream), `i915` (out-of-tree) and `xe`:
231+
* `i915` ([out-of-tree](https://github.com/intel-gpu/intel-gpu-i915-backports/)): official driver for Data Center GPUs, supporting only limited set of enterprise / LTS kernel versions.
232+
* `i915` (upstream): official upstream kernel driver for older Intel client GPUs. Included in the common Linux distributions like Ubuntu.
233+
* `xe`: official upstream kernel driver for the latest Intel GPUs.
234234

235-
For optimal performance, the KMD should be paired with the same UMD variant. When creating a workload container, depending on the target hardware, the UMD packages should be selected approriately.
235+
Although KMD may seem to work fine also on other hardware (HW), it's validated only for hardware it officially suppports, and have problems on others. User-space APIs also differ between these KMDs, so care should taken to use in a container an User Space Driver (UMD) matching to the underlying KMD on the host.
236236
237-
| KMD | UMD packages | Support notes |
237+
| KMD | KMD / UMD packages | Support notes |
238238
|:---- |:-------- |:------- |
239-
| `i915 upstream` | Distro Repository | For Integrated GPUs. Newer Linux kernels will introduce support for Arc, Flex or Max series. |
240-
| `i915 backport` | [Intel Repository](https://dgpu-docs.intel.com/driver/installation.html#install-steps) | Best for Arc, Flex and Max series. Untested for Integrated GPUs. |
241-
| `xe` | Source code only | Experimental support for Arc, Flex and Max series. |
242-
243-
> *NOTE*: Xe UMD is in active development and should be considered as experimental.
239+
| `i915` (out-of-tree) | [Intel Repository](https://dgpu-docs.intel.com/driver/installation.html) | For Flex and Max series Data Center GPUs. |
240+
| `i915` (upstream) | Distro Repository | For older Client GPUs. |
241+
| `xe` | Distro or [Intel Repository](https://dgpu-docs.intel.com/driver/client/overview.html) | For discrete Battlemage, integrated LunarLake, and newer GPUs. |
244242
245243
Creating a workload that would support all the different KMDs is not currently possible. Below is a table that clarifies how each domain supports different KMDs.
246244
247-
| Domain | i915 upstream | i915 backport | xe | Notes |
245+
| Domain | `i915` (upstream) | `i915` (out-of-tree) | `xe` | Notes |
248246
|:---- |:-------- |:------- |:------- |:------- |
249-
| Compute | Default | [NEO_ENABLE_i915_PRELIM_DETECTION](https://github.com/intel/compute-runtime/blob/3341de7a0d5fddd2ea5f505b5d2ef5c13faa0681/CMakeLists.txt#L496-L502) | [NEO_ENABLE_XE_DRM_DETECTION](https://github.com/intel/compute-runtime/blob/3341de7a0d5fddd2ea5f505b5d2ef5c13faa0681/CMakeLists.txt#L504-L510) | All three KMDs can be supported at the same time. |
250-
| Media | Default | [ENABLE_PRODUCTION_KMD](https://github.com/intel/media-driver/blob/a66b076e83876fbfa9c9ab633ad9c5517f8d74fd/CMakeLists.txt#L58) | [ENABLE_XE_KMD](https://github.com/intel/media-driver/blob/a66b076e83876fbfa9c9ab633ad9c5517f8d74fd/media_driver/cmake/linux/media_feature_flags_linux.cmake#L187-L190) | Xe with upstream or backport i915, not all three. |
251-
| Graphics | Default | Unknown | [intel-xe-kmd](https://gitlab.freedesktop.org/mesa/mesa/-/blob/e9169881dbd1f72eab65a68c2b8e7643f74489b7/meson_options.txt#L708) | i915 and xe KMDs can be supported at the same time. |
247+
| Compute | Default | NEO_ENABLE_I915_PRELIM_DETECTION | Default since `24.13.29138.x` | Same-time support can be built for all three KMDs. |
248+
| Media | Default | ENABLE_PRODUCTION_KMD | Default since `intel-media-25.2.2` | `xe` with either upstream or out-of-tree `i915`, not all three. |
249+
| Graphics | Default | Unsupported | Default since `mesa-24.0.5` | Both `i915` (upsteam) and `xe` KMDs supported at the same time. |
252250
253251
### Health management
254252

0 commit comments

Comments
 (0)