Repository for Intel® Graphics Driver (Xe KMD) backports and development branches.
This repository contains multiple branches for Intel® Graphics Driver (Xe) backports targeting different kernel versions. The repository is structured to support kernel backports, out-of-tree (OOT) builds, and release management.
The repository follows a three-stage workflow:
-
Kernel Backport Branches (
kernel-backport/*) - Generate full kernel sources with Intel® Graphics Driver (Xe) backport patches applied to specific kernel versions. These branches contain in-tree patches and can be used for complete kernel builds. -
OOT Backport Branch (
oot-backport/main) - Contains tools that process kernel-backport branches and extract information to generate out-of-tree (OOT) source code. These tools apply compatibility layers, DKMS support, and build configurations to create standalone driver source code that is published to the releases branch. -
Releases Branch (
releases/main) - Contains the generated source code for out-of-tree xe module and other required modules. End users can use this source code to build and install the OOT modules via DKMS on their systems.
Flow: kernel-backport (full kernel) → oot-backport (processing tools) → releases (OOT source code)
flowchart LR
A[Kernel Backport Branches<br/>kernel-backport/*] -->|Full kernel sources<br/>with backport patches| B[OOT Backport Branch<br/>oot-backport/main]
B -->|Processing tools<br/>apply compatibility layers| C[Releases Branch<br/>releases/main]
style A fill:#4db8ff,stroke:#0066cc,stroke-width:3px
style B fill:#ffb84d,stroke:#cc7a00,stroke-width:3px
style C fill:#66cc66,stroke:#009933,stroke-width:3px
| Kernel Backport Branches | OOT Backport Branch | Release Branch |
|---|---|---|
|
kernel-backport/main (README) Status: Active (Recommended) Kernel: v7.0+ Description: Primary backport branch with in-tree patches. Latest features: EU debugging. Can be used for full kernel builds |
oot-backport/main (README) Status: Active Description: Contains tools that process kernel-backport branches to generate OOT source code with compatibility layers, DKMS support, and build configurations for releases branch |
releases/main (README) Status: Active Description: Out-of-tree source code for xe and other required modules. End users can build and install DKMS modules from this source |
|
kernel-backport/v6.17 (README) Status: Active (Recommended) Kernel: v6.17+ Description: In-tree backport patches. Latest features: PMU, hwmon, SR-IOV, EU debugging, Xe2 HPG. Can be used for full kernel builds |
||
|
kernel-backport/main_6.14 (README) Status: Frozen Kernel: v6.14 Description: In-tree backport patches. SR-IOV backports from v6.14-v6.17, VFIO migration support. No longer receiving updates |
||
|
kernel-backport/main_6.11 (README) Status: Frozen Kernel: v6.11 Description: In-tree backport patches. No longer receiving updates |
Management Branch: master - Repository management, documentation, setup scripts, and contribution guidelines
These branches are similar to kernel-backport but are intended for use along with releases/main branch. They contain a list of patches which need to be picked up into the base kernel in order to fully enable certain features on Xe or related modules. For example: VFIO core driver changes required for Xe VFIO functionality. Alternatively, these can be used as a base kernel on top of which DKMS can be installed.
| Branch | Status | Kernel Version | Description |
|---|---|---|---|
| target-kernel/v6.6 (README) | Active | v6.6 | Base kernel v6.6 with backport patches required for enabling Xe features. Contains patches for VFIO core and other required subsystems |
Note: See each branch's README for detailed information and instructions.
Git worktrees allow you to check out multiple branches simultaneously in separate directories, enabling parallel work across different branches without switching contexts. This is particularly useful for this repository's workflow, where you may need to work on kernel-backport, oot-backport, and releases branches concurrently, test changes across the pipeline, or compare outputs between stages.
The repository includes a setup-worktree.sh script to manage multiple branches efficiently:
Sets up separate directories for each branch in the workflow pipeline, allowing you to work on all branches concurrently.
$ ./setup-worktree.sh create-worktreeAfter running create-worktree, you'll have:
kernel-backport/- Working directory for kernel-backport/main (input branch)oot-backport/- Working directory for oot-backport/main (processing branch)releases/- Working directory for releases/main (output branch)
Sets up just the kernel-backport branch directory and generates the full kernel source tree. Useful when you only need to work on kernel backport patches.
$ ./setup-worktree.sh kernel-backport-onlySets up just the releases branch directory for working with OOT module source code. Useful for testing DKMS builds or making changes to the final release output.
$ ./setup-worktree.sh oot-release-onlyDisplays all active worktrees and their associated branches.
$ ./setup-worktree.sh list-worktreeRemoves all worktree directories while preserving the main repository.
$ ./setup-worktree.sh clean-worktreeTo check out a specific branch, use the standard git checkout command:
git checkout <branch-name>
# Example:
$ git checkout kernel-backport/mainNote: See the Branches section above for available branch names, their purposes, and recommended branches for your use case.
Please read CONTRIBUTING.md for details on our contribution process and code of conduct.
All contributions must be signed off according to the Developer Certificate of Origin (DCO). Add a sign-off line to your commits:
git commit -s -m "Your commit message"This work is a subset of the Linux kernel and follows the kernel's licensing. See individual files for specific copyright and license information. The kernel is licensed under GPL-2.0.
- Security Issues: See SECURITY.md
- Code of Conduct: See CODE_OF_CONDUCT.md