Kernel error: i915 0000:00:02.0: [drm] *ERROR* Atomic update failure on pipe A (start=20930 end=20931) time 663 us, min 2146, max 2159, scanline start 2108, end 2196

Frequent i915 atomic update errors in your Linux kernel logs? On Dell XPS 15 laptops with hybrid Intel–NVIDIA graphics, these messages usually point to race conditions in the Intel i915 driver. Learn what causes them, how to fix or mitigate them, and when it’s safe to simply ignore the noise.

Kernel error: i915 0000:00:02.0: [drm] *ERROR* Atomic update failure on pipe A (start=20930 end=20931) time 663 us, min 2146, max 2159, scanline start 2108, end 2196

New day - new error in the Kernel log on my Dell XPS 15 this time with i915 driver, integrated Intel Graphic card:

kernel: i915 0000:00:02.0: [drm] *ERROR* Atomic update failure on pipe A (start=20930 end=20931) time 663 us, min 2146, max 2159, scanline start 2108, end 2196

The i915 *ERROR* Atomic update failure on pipe *** error is a well-known issue with the Linux i915 graphics driver, which controls your Intel integrated graphics. On a Dell XPS 15 9550, this error is often associated with the system's dual-graphics setup and power-saving features. It indicates that the graphics driver failed to complete an "atomic commit", a new display frame update on its primary display pipeline, leading to a hang or flicker. 

Initial troubleshooting:

Update your system: The i915 driver is part of the Linux kernel, so a system update may fix the problem if a newer kernel version includes a relevant bug fix.

sudo apt update && sudo apt upgrade

Check for microcode: Ensure your system has the latest Intel processor microcode installed.

sudo apt install intel-microcode

Workarounds:

Disable Panel Self-Refresh (PSR)PSR is a power-saving feature that can be unstable on certain hardware configurations, including some Intel graphics drivers. 

1. Edit the GRUB configuration file:

sudo vim /etc/default/grub

2. Locate the line that starts with GRUB_CMDLINE_LINUX_DEFAULT and add i915.enable_psr=0 inside the quotes.
Example:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_psr=0"

3. Save and close the file.
4. Update GRUB and reboot your system.

sudo update-grub
sudo reboot

Still an issue:

The repeated appearance of *ERROR* Atomic update failure on pipe A indicates a persistent race condition or bug within the Intel i915 Graphics driver. This is a known issue on hybrid graphics laptops, and it can occur even when you have specific kernel parameters enabled, like i915.enable_psr=0. Why does the error persist:

  1. Race condition: The error is a timing-sensitive issue that happens when the graphics hardware and the driver get out of sync. Kernel parameters like i915.enable_psr=0 address a specific cause (Panel Self-Refresh), but they cannot fix every possible timing bug. The error can still be triggered by other events, like changes in power state or driver handoff.
  2. Hybrid graphics complexity: In my hybrid setup, the Intel GPU is always involved in managing the physical display outputs, even when the NVIDIA GPU is doing the heavy lifting. Any conflict or timing issue between these two drivers can cause the Intel driver to report an error.
  3. Benign vs. critical error: Not all atomic update failures are critical. If the system is running fine and the error only appears intermittently in the logs without causing visible glitches or freezes, it can often be safely ignored. 

Next steps to address the i915 error:

  1. Disable the Graphics Command Streamer (GuC): Some users report that disabling the GuC, another power management feature, can resolve similar issues.
    • Add i915.enable_guc=-1 to your GRUB configuration.
    • Run sudo update-grub and reboot.
  2. Enable early KMS for the Intel driver: This ensures that the Intel driver loads and initializes its hardware state as early as possible during the boot process, which can prevent some race conditions.
    • Add i915 to the /etc/initramfs-tools/modules file.
    • Run sudo update-initramfs -u and reboot.
  3. Confirm a clean NVIDIA setup: Masking the NVIDIA suspend services is crucial for preventing the system hangs, but you should also ensure your driver installation is clean. Since your nvidia-sleep.sh script caused a kernel panic, a corrupted driver module could still be contributing to the i915 issues.
    • Repeat the driver reinstallation process from a TTY if you have not done so since the kernel panic occurred.
  4. Try acpi_osi=Linux: As suggested previously, this parameter can sometimes help with a wide range of ACPI and power management issues on Dell hardware. 

Ensure you have the latest kernel: You previously identified a kernel panic bug caused by the NVIDIA driver. A kernel update might also contain fixes for the i915 driver that address this specific issue.

sudo apt install linux-generic
sudo reboot

SummaryThe i915 atomic update failure is a complex issue on hybrid graphics systems and can be difficult to eliminate entirely. The most effective approach is a combination of masking the buggy NVIDIA services and applying targeted kernel parameters, focusing on stability over perfect logs. If the error is benign and not causing system instability, it may be best to ignore it. 

Read next

Automating GRUB Configuration Across Linux Distributions

In this post, we’re going to explore the grub.sh script, which is designed to handle the configuration and hardening of GRUB across various Linux distributions. We’ll go over each line of the script to understand what it does and how it contributes to the overall configuration.