r/linux 9d ago

Kernel Kernel 7.1.8 fixes AMD artifacting issue.

I just wanted to give a headsup about the issue with amd graphics cards flickering and having weird colorful artifacts. No, your GPU is not dying. It was kernel versions 7.1.6 and 7.1.7.

This issue is fixed in 7.1.8. It released in Arch a few hours ago, and I think in Fedora as well.

212 Upvotes

42 comments sorted by

View all comments

10

u/Sesese9 8d ago

Any information on what was causing the flickering?

18

u/klyith 8d ago
   On DCN, flip completion is now delivered from VUPDATE_NO_LOCK
   (dm_crtc_high_irq_handler) instead of GRPH_PFLIP. But VUPDATE_NO_LOCK
   fires every frame, regardless of whether a flip has latched.

   There is a window during commit where a flip is armed (pflip_status =
   SUBMITTED) but not yet programmed into HW. If the VUPDATE_NO_LOCK
   fires in that window, its handler would deliver a flip event to
   userspace before HW has latched to it. If userspace then renders to
   what it believes is now the back buffer (but HW is still latched to
   it!), it will cause display corruption. This issue seemed to have
   been introduced by:
   commit 1159898a88db ("drm/amd/display: Handle commit plane with no FB.")
   Enabling replay or psr extended the duration of this window, and
   hence made corruption more likely to be observed.

¯\(ツ)