Fedora 43/GNOME 49 Framerate Drops from 60Hz to around 24Hz after period of use (AMD 7840U)

The Issue: I am experiencing a consistent frame rate drop over time. Upon a fresh boot, the system runs fluidly at 60Hz (verified via UFO Test website), which is my display max frame rate. However, after about an hour of use—specifically after watching videos or multitasking—the entire UI (including the cursor, shell animations, and all application) feels “heavy” and laggy. Re-running the UFO Test website confirms and shell are stucked at 24~30 FPS. The cursor movement is now visibly choppy. This persists across the entire session until a logout/login or reboot occurs. But when I reboot, the smoothness only stays for a short while and then turn back to the laggy/choppy status.

I’ve Tried:

  1. Setting kernel parameters to disable PSR: Added amdgpu.dcdebugmask=0x10 or 0x410 or 0x610 to GRUB_CMDLINE_LINUX to disable the panel self refresh (PSR) and Panel Replay, but there was no change in behavior and I still got the frame rate drop.
  2. Try to enable AMD FreeSync: Added amdgpu.freesync_video=1 to GRUB_CMDLINE_LINUX, still no luck in fixing frame rate drop
  3. Disable all extensions: No matter if I have any extension on, frame rate will still drop.

But none of them fix the issue. Also, I did use Radeontop to check the Vram usage, and it appears to be 3033M / 3975M VRAM, despite I didn’t open any heavy application, just a few browser tabs and one small PDF file. Not sure if this relates to the frame rate drop issue.

Therefore, I am wondering if there is a way to fix this frame rate drop issue. Thank you!

System Specifications:

  • Hardware: Framework Laptop 13 (AMD Ryzen 7 7840U w/ Radeon 780M Graphics, 32GB RAM)
  • OS: Fedora 43 (Fresh new install)
  • DE: GNOME 49 (Wayland)
  • Monitor: Only laptop screen, no external monitor is connected
  • Kernel: 6.17.12
  • Extensions: None (I disable all extensions)