dkms module of Linux i915 driver with SR-IOV support
C
2,539
336 commits
updated Oct 9, 2026
This repo is a code snapshot of the i915 and xe modules from the mainline linux kernel with SR-IOV support ported from the intel/mainline-tracking.git
Disclaimer: This repository is a community project and is NOT affiliated with, endorsed by, or connected to Intel Corporation. This kernel module is a port based on the mainline kernel and Intel's implementation and may contain experimental and unstable features. Please use it at your own risk.
This package is highly experimental, you should only use it when you know what you are doing.
You need to install this dkms module in both host and guest!
Required kernel: 6.18.x ~ 7.2.x
Latest release: 2026.09.16
For older kernel (v6.12 ~ v6.19), please use the 2026.03.05.7 release.
For v6.8 ~ v6.12, please use the 2025.07.22 release.
For v6.1 ~ v6.7, please use intel-lts-v6.1 branch instead.
It is recommended that to upgrade to a supported kernel, the older branches will no longer be maintained.
Note: The Host and Guest VM are not strictly required to use the same module version.
Note on Secure Boot: Loading out-of-tree kernel modules requires Secure Boot to be disabled. If you require Secure Boot, ensure you are using a signed kernel and follow the instructions in the UEFI Secure Boot Enabled Configuration guide to sign the module.
Starting from the current version, this repo provides both the i915 and xe drivers. You can switch between them by modifying the kernel parameters.
intel_iommu=on i915.enable_guc=3 i915.max_vfs=7 module_blacklist=xe
intel_iommu=on xe.max_vfs=7 xe.force_probe=${device_id} module_blacklist=i915
Note: The Xe module currently does not support MTL (Meteor Lake) and LNL (Lunar Lake) platforms. Please use i915 instead.
Replace ${device_id} with the output from cat /sys/devices/pci0000:00/0000:00:02.0/device command
Starting from version 2026.09.16, CCS0 is no longer enabled by default on Xe_LP platforms.
If you encounter issues running Windows guest VMs, please append the appropriate parameter to your kernel command line:
i915.xelp_enable_ccs=1xe.xelp_enable_ccs=1echo 7 > /sys/devices/pci0000:00/0000:00:02.0/sriov_numvfs
You can create up to 7 VFs on Intel UHD Graphics
Note: You can passthrough any VF (00:02.1–00:02.7) to your VMs, never pass the PF (02:00.0) to VM which would crash all other VFs.
For containers/LXCs, you can directly passthrough the render node of the PF.
If you encounter any issues that prevent the system from booting properly (e.g., a hang or black screen), you can temporarily disable the module by modifying the kernel command line at boot.
At the boot menu, select the desired kernel and press e to edit the boot parameters.
Locate the line starting with linux and append module_blacklist=i915,xe to the end of it (preceded by a space).
Press F10 or Ctrl+X to boot.
Press e at the boot menu to edit the kernel parameters.
Append module_blacklist=i915,xe to the end of the existing line (preceded by a space)
Press Enter to boot.
Once the system is up, you can inspect the kernel logs to troubleshoot. If the module remains unstable, follow the Uninstallation steps in your distribution's installation guide to remove the module.
For detailed installation instructions, please refer to the specific guide for your operating system:
Major contributors to this repository are listed below.
5,048 followers · starred May 2026
342 followers · starred Sep 2022
901 followers · starred Apr 2026
30 followers · starred Sep 2022
dkms module of Linux i915 driver with SR-IOV support
C
2,539
336 commits
updated Oct 9, 2026
This repo is a code snapshot of the i915 and xe modules from the mainline linux kernel with SR-IOV support ported from the intel/mainline-tracking.git
Disclaimer: This repository is a community project and is NOT affiliated with, endorsed by, or connected to Intel Corporation. This kernel module is a port based on the mainline kernel and Intel's implementation and may contain experimental and unstable features. Please use it at your own risk.
This package is highly experimental, you should only use it when you know what you are doing.
You need to install this dkms module in both host and guest!
Required kernel: 6.18.x ~ 7.2.x
Latest release: 2026.09.16
For older kernel (v6.12 ~ v6.19), please use the 2026.03.05.7 release.
For v6.8 ~ v6.12, please use the 2025.07.22 release.
For v6.1 ~ v6.7, please use intel-lts-v6.1 branch instead.
It is recommended that to upgrade to a supported kernel, the older branches will no longer be maintained.
Note: The Host and Guest VM are not strictly required to use the same module version.
Note on Secure Boot: Loading out-of-tree kernel modules requires Secure Boot to be disabled. If you require Secure Boot, ensure you are using a signed kernel and follow the instructions in the UEFI Secure Boot Enabled Configuration guide to sign the module.
Starting from the current version, this repo provides both the i915 and xe drivers. You can switch between them by modifying the kernel parameters.
intel_iommu=on i915.enable_guc=3 i915.max_vfs=7 module_blacklist=xe
intel_iommu=on xe.max_vfs=7 xe.force_probe=${device_id} module_blacklist=i915
Note: The Xe module currently does not support MTL (Meteor Lake) and LNL (Lunar Lake) platforms. Please use i915 instead.
Replace ${device_id} with the output from cat /sys/devices/pci0000:00/0000:00:02.0/device command
Starting from version 2026.09.16, CCS0 is no longer enabled by default on Xe_LP platforms.
If you encounter issues running Windows guest VMs, please append the appropriate parameter to your kernel command line:
i915.xelp_enable_ccs=1xe.xelp_enable_ccs=1echo 7 > /sys/devices/pci0000:00/0000:00:02.0/sriov_numvfs
You can create up to 7 VFs on Intel UHD Graphics
Note: You can passthrough any VF (00:02.1–00:02.7) to your VMs, never pass the PF (02:00.0) to VM which would crash all other VFs.
For containers/LXCs, you can directly passthrough the render node of the PF.
If you encounter any issues that prevent the system from booting properly (e.g., a hang or black screen), you can temporarily disable the module by modifying the kernel command line at boot.
At the boot menu, select the desired kernel and press e to edit the boot parameters.
Locate the line starting with linux and append module_blacklist=i915,xe to the end of it (preceded by a space).
Press F10 or Ctrl+X to boot.
Press e at the boot menu to edit the kernel parameters.
Append module_blacklist=i915,xe to the end of the existing line (preceded by a space)
Press Enter to boot.
Once the system is up, you can inspect the kernel logs to troubleshoot. If the module remains unstable, follow the Uninstallation steps in your distribution's installation guide to remove the module.
For detailed installation instructions, please refer to the specific guide for your operating system:
Major contributors to this repository are listed below.
5,048 followers · starred May 2026
342 followers · starred Sep 2022
901 followers · starred Apr 2026
30 followers · starred Sep 2022