[SRU][N][PATCH 0/1] Random flickering with Intel i915 (CoffeeLake and WhiskeyLake) on Linux 6.8

AceLan Kao acelan.kao at canonical.com
Tue Jan 13 03:33:13 UTC 2026


From: "Chia-Lin Kao (AceLan)" <acelan.kao at canonical.com>

BugLink: https://bugs.launchpad.net/bugs/2136958

[Impact]
Systems with Intel CoffeeLake (CFL) and WhiskeyLake (WHL) integrated
graphics experience screen flickering issues when running Ubuntu kernel
6.8.0-x.

The issue occurs because:
1. Ubuntu kernel configuration enables CONFIG_INTEL_IOMMU_DEFAULT_ON and
   CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON by default (commit 77e530c1a864c)
2. These Intel integrated graphics generations have compatibility issues
   with DMAR (DMA Remapping) enabled
3. The interaction between IOMMU scalable mode and the i915 graphics
   driver causes intermittent display flickering

This is part of a broader issue affecting multiple Intel integrated
graphics generations (Skylake, KabyLake, CoffeeLake, WhiskeyLake, and
CometLake) as documented in the upstream bug report. Previous patches have
already addressed SKL, KBL, and CML; this patch completes the series by
adding CFL and WHL.

Affected hardware: Systems with Intel CoffeeLake or WhiskeyLake
integrated graphics (device IDs: 0x3E90-0x3E9C, 0x3EA0-0x3EA9)

[Fix]
Single UBUNTU SAUCE patch adds CFL and WHL device IDs to the IOMMU quirk list:

UBUNTU: SAUCE: iommu/intel: disable DMAR for CFL and WHL integrated gfx
- Adds 16 CoffeeLake device IDs (CFL_S, CFL_H, CFL_U variants)
- Adds 5 WhiskeyLake device IDs (WHL_U variants)
- Follows the same pattern as previous SKL/KBL/CML quirk patches
- Device IDs sourced from include/drm/i915_pciids.h for completeness

This is an Ubuntu-specific SAUCE patch as upstream has not yet provided a
proper fix. The quirk approach is used temporarily until a proper upstream
solution is available.

Previous related commits in this series:
- fe35c48a46619 "UBUNTU: SAUCE: iommu/intel: disable DMAR for SKL integrated gfx"
- 69a3b8e5f6ebd "UBUNTU: SAUCE: iommu/intel: disable DMAR for KBL and CML integrated gfx"

[Test Plan]
Test on hardware with CoffeeLake or WhiskeyLake integrated graphics:

1. Identify if the system has affected hardware:
   ```
   lspci -nn | grep VGA
   ```
   Look for Intel graphics with device IDs in the 0x3E90-0x3EA9 range.

2. Reproduce the flickering (before the fix):
   a. Boot with kernel 6.8.0-x without the patch
   b. Move windows around or trigger compositor effects
   c. Observe intermittent screen flickering or tearing

3. Verify the fix:
   a. Boot with kernel containing the patch
   b. Check that IOMMU is bypassed for the graphics device:
      ```
      sudo dmesg | grep -i "Disabling IOMMU for graphics on this chipset"
      ```
   c. Should see: "Disabling IOMMU for graphics on this chipset"
   d. Verify no flickering occurs during video playback and window animations
   e. Confirm graphics performance remains normal

[Where problems could occur]
The changes affect the Intel IOMMU driver initialization for CoffeeLake
and WhiskeyLake integrated graphics only.

Potential issues:

1. **Security reduction**: Disabling DMAR for integrated graphics removes
IOMMU protection for GPU DMA operations. However, integrated graphics are
generally trusted components, and the security impact is minimal compared
to the usability impact of screen flickering.

2. **Hardware-specific behavior**: Some CFL/WHL systems might not exhibit
the flickering issue, and for those systems, this patch unnecessarily
disables IOMMU for graphics. However, the functional impact is negligible,
and disabling DMAR has no negative performance implications.

3. **Interaction with other IOMMU features**: The quirk only affects the
integrated graphics device. Other IOMMU functionality (ATS, interrupt
remapping, etc.) remains unaffected.

The impact is limited to the IOMMU configuration for CoffeeLake and
WhiskeyLake integrated graphics. All other system components continue to
benefit from IOMMU protection.

[Other Info]
This is an Ubuntu SAUCE patch (not upstream) that works around the issue
until a proper upstream fix is available.

Upstream tracking bug: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11504

The issue was introduced in Ubuntu 6.8 kernel by commit:
77e530c1a864c "UBUNTU: [Config] enable Intel DMA remapping by default"

This patch completes a series of quirks for affected Intel graphics
generations:
1. Skylake (SKL) - fe35c48a46619
2. KabyLake (KBL) and CometLake (CML) - 69a3b8e5f6ebd
3. CoffeeLake (CFL) and WhiskeyLake (WHL) - this patch

All affected device IDs were verified against the upstream i915 driver's
device ID definitions in include/drm/i915_pciids.h.

Chia-Lin Kao (AceLan) (1):
  UBUNTU: SAUCE: iommu/intel: disable DMAR for CFL and WHL integrated
    gfx

 drivers/iommu/intel/iommu.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

--
2.51.0




More information about the kernel-team mailing list