Skip to content

Commit cc0c99d

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

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
@@ -229,28 +229,26 @@ Kubernetes CDI support is included since 1.28 release. In 1.28 it needs to be en
229229

230230
### KMD and UMD
231231

232-
There are 3 different Kernel Mode Drivers (KMD) available: `i915 upstream`, `i915 backport` and `xe`:
233-
* `i915 upstream` is a vanilla driver that comes from the upstream kernel and is included in the common Linux distributions, like Ubuntu.
234-
* `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.
235-
* `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.
232+
There are 3 different Kernel Mode Drivers (KMD) available: `i915` (upstream), `i915` (out-of-tree) and `xe`:
233+
* `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.
234+
* `i915` (upstream): official upstream kernel driver for older Intel client GPUs. Included in the common Linux distributions like Ubuntu.
235+
* `xe`: official upstream kernel driver for the latest Intel GPUs.
236236

237-
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.
237+
Although KMD may seem to work fine also on other hardware (HW), it's validated only for hardware it officially suppports, and can 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.
238238
239-
| KMD | UMD packages | Support notes |
239+
| KMD | KMD / UMD packages | Support notes |
240240
|:---- |:-------- |:------- |
241-
| `i915 upstream` | Distro Repository | For Integrated GPUs. Newer Linux kernels will introduce support for Arc, Flex or Max series. |
242-
| `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. |
243-
| `xe` | Source code only | Experimental support for Arc, Flex and Max series. |
244-
245-
> *NOTE*: Xe UMD is in active development and should be considered as experimental.
241+
| `i915` (out-of-tree) | [Intel Repository](https://dgpu-docs.intel.com/driver/installation.html) | For Flex and Max series Data Center GPUs. |
242+
| `i915` (upstream) | Distro Repository | For older Client GPUs. |
243+
| `xe` | Distro or [Intel Repository](https://dgpu-docs.intel.com/driver/client/overview.html) | For discrete Battlemage, integrated LunarLake, and newer GPUs. |
246244
247245
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.
248246
249-
| Domain | i915 upstream | i915 backport | xe | Notes |
247+
| Domain | `i915` (upstream) | `i915` (out-of-tree) | `xe` | Notes |
250248
|:---- |:-------- |:------- |:------- |:------- |
251-
| 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. |
252-
| 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. |
253-
| 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. |
249+
| Compute | Default | NEO_ENABLE_I915_PRELIM_DETECTION | Default since `24.13.29138.x` | Same-time support can be built for all three KMDs. |
250+
| Media | Default | ENABLE_PRODUCTION_KMD | Default since `intel-media-25.2.2` | `xe` with either upstream or out-of-tree `i915`, not all three. |
251+
| Graphics | Default | Unsupported | Default since `mesa-24.0.5` | Both `i915` (upsteam) and `xe` KMDs supported at the same time. |
254252
255253
### Health management
256254

0 commit comments

Comments
 (0)