Intermittent multi-monitor flickering on GNOME Wayland with Intel i915 and fractional scaling

Summary

 I am seeing intermittent full-desktop flickering / corrupted rendering on Ubuntu                                                                                                            
 26.04 with Intel i915 graphics and GNOME Wayland.                                                                                                                                           
                                                                                                                                                                                             
 When it happens, all active displays can flicker together. The issue is                                                                                                                     
 intermittent and is more likely during window dragging or display reconfiguration.                                                                                                          
                                                                                                                                                                                             
 ## System                                                                                                                                                                                   
                                                                                                                                                                                             
 - Ubuntu 26.04                                                                                                                                                                              
 - GNOME Shell 50.1                                                                                                                                                                          
 - GDM Wayland session                                                                                                                                                                       
 - Intel Raptor Lake-P integrated graphics                                                                                                                                                   
 - PCI ID: `8086:a7ab`                                                                                                                                                                       
 - Driver: `i915`                                                                                                                                                                            
 - Laptop: Xiaomi Redmi Book 14 2025                                                                                                                                                         
 - Display topology:                                                                                                                                                                         
   - Internal eDP panel: 2240x1400 @ 60Hz, 133% scale                                                                                                                                        
   - External DP display: 3840x2160 @ 60Hz, 133% scale                                                                                                                                       
   - External HDMI display: 3840x2160 @ 60Hz, 133% scale                                                                                                                                     
                                                                                                                                                                                             
 ## Symptoms                                                                                                                                                                                 
                                                                                                                                                                                             
 The desktop intermittently flickers or displays rendering corruption across                                                                                                                 
 multiple displays at the same time.                                                                                                                                                         
                                                                                                                                                                                             
 It can happen while rapidly dragging windows between monitors, but it is not                                                                                                                
 reliably reproducible. It may recover by itself after a few seconds.                                                                                                                        
                                                                                                                                                                                             
 ## Relevant GNOME Shell logs                                                                                                                                                                
                                                                                                                                                                                             
 During a failure, GNOME Shell repeatedly logs:                                                                                                                                              
                                                                                                                                                                                             
 ```text                                                                                                                                                                                     
 Failed to lock front buffer on /dev/dri/card1:                                                                                                                                              
 gbm_surface_lock_front_buffer failed                                                                                                                                                        
                                                                                                                                                                                             
 Failed to query buffer age, got error 3003                                                                                                                                                  
                                                                                                                                                                                             
 Page flip failed: drmModeAtomicCommit: Invalid argument                                                                                                                                     
                                                                                                                                                                                             
 The errors can occur thousands of times during a short failure window.                                                                                                                      
                                                                                                                                                                                             
 Kernel logs                                                                                                                                                                                 
                                                                                                                                                                                             
 There are no i915 GPU hang, reset, or GPU timeout messages around the issue.                                                                                                                
 However, I have seen:                                                                                                                                                                       
                                                                                                                                                                                             
 workqueue: i915_hotplug_work_func [i915] hogged CPU for >10000us                                                                                                                            
                                                                                                                                                                                             
 Workarounds already tested                                                                                                                                                                  
                                                                                                                                                                                             
 I tested the following i915 boot parameters, individually and cumulatively:                                                                                                                 
                                                                                                                                                                                             
 i915.enable_psr=0                                                                                                                                                                           
 i915.enable_dc=0                                                                                                                                                                            
 i915.enable_fbc=0                                                                                                                                                                           
 i915.enable_dsb=0                                                                                                                                                                           
                                                                                                                                                                                             
 The issue still occurs.                                                                                                                                                                     
                                                                                                                                                                                             
 I also disabled the Ubuntu Tiling Assistant GNOME extension. The issue still                                                                                                                
 occurs, so it does not appear to be caused by that extension.                                                                                                                               
                                                                                                                                                                                             
 Changing one external monitor from USB-C/DP to native HDMI did not eliminate                                                                                                                
 the issue.                                                                                                                                                                                  
                                                                                                                                                                                             
 Kernel comparison                                                                                                                                                                           
                                                                                                                                                                                             
 The issue occurred on Ubuntu kernel:                                                                                                                                                        
                                                                                                                                                                                             
 7.0.0-30-generic                                                                                                                                                                            
                                                                                                                                                                                             
 I am currently testing upstream kernel:                                                                                                                                                     
                                                                                                                                                                                             
 7.2.0-070200-generic                                                                                                                                                                        
                                                                                                                                                                                             
 with the same i915 parameters and display topology. So far it has not yet                                                                                                                   
 reproduced on 7.2, but more testing time is needed before concluding it is                                                                                                                  
 fixed.                                                                                                                                                                                      
                                                                                                                                                                                             
 Questions                                                                                                                                                                                   
                                                                                                                                                                                             
 1. Is this a known i915 / Mutter / GBM issue with multiple scaled 4K outputs                                                                                                                
    under GNOME Wayland?                                                                                                                                                                     
 2. Are there recommended logs or debug parameters to identify which atomic                                                                                                                  
    display state is rejected?                                                                                                                                                               
 3. Is there a known fix in a newer kernel, Mesa, Mutter, or GNOME Shell release?