Performance regression and massive FPS drop from 60 FPS to 30 FPS in games using Plasma 6.7.0/6.7.1

Recently updated to Plasma 6.7.0 and 6.7.1, and suddenly FPS in all games drop from 60 to 30 for around 10-20 seconds consistently.
The FPS may recover and rise back to 60FPS after that time, but not always. I have to load a new scene or go to pause menu

Games tested (all using WINE v11.11 - Staging):

  • Midtown Madness 1 with Open1560 (SDL3)
  • Hogwarts Legacy (VKD3D)
  • Resident Evil Reqium (VKD3D)

VSync on/off doesn’t affect anything, and the effect feels somewhat “sinusoidal”, the game runs for ~30 seconds on 60FPS, drops to 30FPS for ~20 seconds, rises back up to 60FPS and continues this cycle consistently.

Downngrading back to Plasma 6.6.4 fixes this problem, using same NVIDIA driver.

OS: Fedora Linux 44
Kernel: Linux 7.0.13-200.fc44.x86_64
DE: KDE Plasma 6.7.1
WM: KWin (Wayland)
GPU 1: NVIDIA Geforce RTX 3070
GPU 2: Intel Iris Xe
NVIDIA driver: 595.71
WINE: wine-11.11 staging

Is the case that the wrong GPU is used to render the game now ?

I always force the ICD/vendor files to enusre non of the games see my internal graphics card

__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/10_nvidia.json

VK_DRIVER_FILES=/usr/share/vulkan/icd.d/nvidia_icd.x86_64.json:/usr/share/vulkan/icd.d/nvidia_icd.i686.json

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.x86_64.json:/usr/share/vulkan/icd.d/nvidia_icd.i686.json

Are you using the rpmfusion nvidia drivers?
Check that the nvidia driver loaded and you are not falling back to nouveau driver.

$ lsmod | grep -i nvidia

nvidia_uvm           2699264  0
nvidia_drm            163840  8
nvidia_modeset       2183168  3 nvidia_drm
nvidia              16334848  53 nvidia_uvm,nvidia_modeset
drm_ttm_helper         20480  2 nvidia_drm,xe
video                  81920  4 msi_wmi,xe,i915,nvidia_modeset

$ lsmod | grep -i nouveau

# empty
$ nvidia-smi 
    
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 595.71.05              Driver Version: 595.71.05      CUDA Version: 13.2     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3070 ...    Off |   00000000:01:00.0  On |                  N/A |
| N/A   50C    P8             15W /   80W |      42MiB /   8192MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

# ...

$ vulkaninfo --summary

# ...

Devices:
========
GPU0:
        apiVersion         = 1.4.348
        driverVersion      = 26.1.3
        vendorID           = 0x8086
        deviceID           = 0x46a6
        deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
        deviceName         = Intel(R) Iris(R) Xe Graphics (ADL GT2)
        driverID           = DRIVER_ID_INTEL_OPEN_SOURCE_MESA
        driverName         = Intel open-source Mesa driver
        driverInfo         = Mesa 26.1.3
        conformanceVersion = 1.4.0.0
GPU1:
        apiVersion         = 1.4.329
        driverVersion      = 595.71.05.0
        vendorID           = 0x10de
        deviceID           = 0x24a0
        deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
        deviceName         = NVIDIA GeForce RTX 3070 Ti Laptop GPU
        driverID           = DRIVER_ID_NVIDIA_PROPRIETARY
        driverName         = NVIDIA
        driverInfo         = 595.71.05
        conformanceVersion = 1.4.3.3

# ...


Worth mentioning I tried upgrading the NVIDIA driver to v595.80 but the results were the same on my end

  • Plasma desktop v6.6.4 + NVIDIA driver v595.71.05 > no drop
  • Plasma desktop v6.6.4 + NVIDIA driver v595.80 > no drop
  • Plasma desktop v6.7.x + NVIDIA driver v595.71.05 > FPS drop for ~20 seconds
  • Plasma desktop v6.7.x + NVIDIA driver v595.80 > FPS drop for ~20 seconds

Since I use RPM, when downgrading to v6.6.4 (or upgrading back) a lot of other trasitive dependencies are pulled with it, so it is difficult for me to identify which exact package is causing the regression on my end.

Another test I made on Midtown Madness 1, was forcing WINE to use native wayland composition by:

  • Setting the env var DISPLAY="" (empty string) as mentioned in ArchWiki
  • Blocking WINE’s x11 driver, and ensuring wayland driver is set to builtin WINEDLLOVERRIDES="winex11.drv=d;winewayland.drv=b"

In Mangohud I can see the composition is handled by wayland, but that also didn’t help.

I’m running KDE Neon 6.7 here along with the 595.71.05 drivers and an RTX 4070S, and running Hogwarts Legacy I see no loss of performance compared to 6.6.4.

While I’m not sure if this is limited to Plasma 6.7 as OP mentioned, I have also experienced sharp decreases in performance occasionally when playing games, but interstingly also when watching YouTube.

When I open System Monitor during these episodes, I can see both my CPU and GPU go to nearly 100%. I noticed this behavior most when I am in Performance/boost mode.

Could it be temperature related?

I have seen a CPU hit 100% when it’s overheating and has a low clock speed.

What does sensors report when things are slow?

Your suspicion seems correct. When I was watching YouTube and noticed stuttering, my temps were upwards of 104 °C.

Things you can check.

  1. Make sure fans are working and are free of dust.
  2. If the cpu is getting hot fast then the cpu cooler needs checking
  3. You may need to replace the thermal paste between the cpu cooler and cpu

Run htop when the system faults and see if KDE connect is using 100% of one core. If it is, hit F9 and kill the process. Something’s going on with KDE connect that’s causing it to randomly load one core up to 100% indefinitely, the only way to resolve it is to kill the process.

Yes checking what what is running is a good idea.

However 104ºC is running hot even with a core pegged running kdeconnect.

It sounds like the OP’s device is a laptop. Keep a core at 100% long enough regarding the limited cooling capacity of a laptop, combined with the demands of gaming, and it wouldn’t take much to hit such temperatures.

Here’s what happens on my end even in the inital menu of the game.

As I mentioned this also happes with Midtown Madness 1, a game from 1990’s, nothing related to temperature or high CPU, this game runs on any hardware at this point in time.

Simply downgrading Plasma to v6.6.4 fixes everything on my end.

This somehow feels like an over-aggressive background process optimization.
During the low FPS the NVIDIA smi shows ~40W power usage, while at 60FPS the power usage rises to ~65W

And the same entry menu on Plasma v6.6.4
Notice how GPU power consumption is almost constant at ~65W without noticeable drops, and how the temperature is constantly higher, this is why I suspect it’s some aggressive optimization

All I could see in terms of differences from sensors and nvidia-smi tools

  • Plasma 6.7.x

    • kwin_wayland operating mode in nvidia smi C + G
    • Power draw 40-65W
    • Temps are slightly lower
  • Plasma 6.6.4

    • kwin_wayland operating mode in nvidia smi G
    • Power draw ~65W constant
    • Temps are higher

We’re also having issues here with wildly fluctuating FPS

My daughter plays “Where the Wind Meets” and “Dead by Daylight” on my computer via Steam. In “Where the Wind Meets,” the FPS ranges between 55 and 105 (according to the in-game FPS display), and while “Where the Wind Meets” doesn’t have an in-game FPS display, it stutters and lags heavily from time to time.

Here are my system specs:








sudo inxi -Fxxxz
...
System:

  Kernel: 7.1.2-arch3-1 arch: x86_64 bits: 64 compiler: gcc v: 16.1.1

    clocksource: tsc

  Desktop: KDE Plasma v: 6.7.2 tk: Qt v: N/A wm: kwin_wayland dm: SDDM

    Distro: EndeavourOS base: Arch Linux

Machine:

  Type: Desktop Mobo: Gigabyte model: X670 AORUS ELITE AX serial: N/A

    uuid: 035e02d8-04d3-05e4-7406-150700080009 Firmware: UEFI vendor: American

    Megatrends LLC. v: F42b date: 06/30/2026

CPU:

  Info: 12-core model: AMD Ryzen 9 7900X bits: 64 type: MT MCP smt: enabled

    arch: Zen 4 rev: 2 cache: L1: 768 KiB L2: 12 MiB L3: 64 MiB

  Speed (MHz): avg: 3007 min/max: 415/5738 boost: enabled volts: 1.3 V

    ext-clock: 100 MHz cores: 1: 3007 2: 3007 3: 3007 4: 3007 5: 3007 6: 3007

    7: 3007 8: 3007 9: 3007 10: 3007 11: 3007 12: 3007 13: 3007 14: 3007

    15: 3007 16: 3007 17: 3007 18: 3007 19: 3007 20: 3007 21: 3007 22: 3007

    23: 3007 24: 3007 bogomips: 225197

  Flags-basic: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a

    ssse3 svm

Graphics:

  Device-1: Advanced Micro Devices [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900

    XTX/7900 GRE/7900M] vendor: Sapphire PULSE driver: amdgpu v: kernel

    arch: RDNA-3 pcie: speed: 16 GT/s lanes: 16 ports: active: DP-1,DP-2

    empty: HDMI-A-1,HDMI-A-2,Writeback-1 bus-ID: 03:00.0 chip-ID: 1002:744c

    class-ID: 0300

  Device-2: Advanced Micro Devices [AMD/ATI] Raphael vendor: Gigabyte

    driver: amdgpu v: kernel arch: RDNA-2 pcie: speed: 16 GT/s lanes: 16 ports:

    active: none empty: DP-3, DP-4, DP-5, HDMI-A-3, Writeback-2

    bus-ID: 17:00.0 chip-ID: 1002:164e class-ID: 0300 temp: 64.0 C

  Device-3: SunplusIT Depstech webcam driver: snd-usb-audio,uvcvideo

    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 9-1.4:5

    chip-ID: 1bdf:5050 class-ID: 0102 serial: <filter>

  Display: unspecified server: X.Org v: 24.1.12 with: Xwayland v: 24.1.12

    compositor: kwin_wayland driver: X: loaded: amdgpu

    unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi

    gpu: amdgpu display-ID: :1 screens: 1

  Screen-1: 0 s-res: 4389x1234 s-dpi: 96 s-size: 1161x326mm (45.71x12.83")

    s-diag: 1206mm (47.48")

  Monitor-1: DP-1 pos: primary,left model: Samsung U32J59x serial: <filter>

    res: mode: 2194x1234 hz: 60 scale: 100% (1) dpi: 80

    size: 697x392mm (27.44x15.43") diag: 800mm (31.5") modes: max: 3840x2160

    min: 720x400

  Monitor-2: DP-2 pos: right model: Samsung U32J59x serial: <filter> res:

    mode: 2194x1234 hz: 60 scale: 100% (1) dpi: 80

    size: 697x392mm (27.44x15.43") diag: 800mm (31.5") modes: max: 3840x2160

    min: 720x400

  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi

    device: 1 drv: radeonsi device: 2 drv: swrast gbm: drv: radeonsi

    surfaceless: drv: radeonsi x11: drv: radeonsi inactive: wayland

  API: OpenGL v: 4.6 vendor: amd mesa v: 26.1.4-arch1.1 glx-v: 1.4

    direct-render: yes renderer: AMD Radeon RX 7900 XT (radeonsi navi31 ACO DRM

    3.64 7.1.2-arch3-1) device-ID: 1002:744c

  API: Vulkan v: 1.4.350 layers: 6 surfaces: N/A device: 0

    type: discrete-gpu hw: amd driver: mesa radv device-ID: 1002:744c device: 1

    type: integrated-gpu hw: amd driver: mesa radv device-ID: 1002:164e

  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo de: kscreen-console,

    kscreen-doctor, xfce4-display-settings wl: wayland-info

    x11: xdpyinfo, xprop, xrandr

Audio:

  Device-1: Advanced Micro Devices [AMD/ATI] Navi 31 HDMI/DP Audio

    driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16

    bus-ID: 03:00.1 chip-ID: 1002:ab30 class-ID: 0403

  Device-2: Advanced Micro Devices [AMD/ATI] Radeon High Definition Audio

    driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16

    bus-ID: 17:00.1 chip-ID: 1002:1640 class-ID: 0403

  Device-3: Advanced Micro Devices [AMD] Ryzen HD Audio vendor: Gigabyte

    driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16

    bus-ID: 17:00.6 chip-ID: 1022:15e3 class-ID: 0403

  Device-4: C-Media Audio Adapter (Unitek Y-247A)

    driver: cmedia_hs100b,snd-usb-audio,usbhid type: USB rev: 1.1 speed: 12 Mb/s

    lanes: 1 bus-ID: 3-5:3 chip-ID: 0d8c:0014 class-ID: 0300

  Device-5: SunplusIT Depstech webcam driver: snd-usb-audio,uvcvideo

    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 9-1.4:5

    chip-ID: 1bdf:5050 class-ID: 0102 serial: <filter>

  API: ALSA v: k7.1.2-arch3-1 status: kernel-api

  Server-1: sndiod v: N/A status: off

  Server-2: JACK v: 1.9.22 status: off

  Server-3: PipeWire v: 1.6.7 status: n/a (root, process) with:

    1: pipewire-pulse status: active 2: wireplumber status: active

    3: pipewire-alsa type: plugin

Network:

  Device-1: Realtek RTL8125 2.5GbE vendor: Gigabyte driver: r8169 v: kernel

    pcie: speed: 5 GT/s lanes: 1 port: e000 bus-ID: 10:00.0 chip-ID: 10ec:8125

    class-ID: 0200

  IF: enp16s0 state: up speed: 2500 Mbps duplex: full mac: <filter>

  Device-2: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter

    driver: mt7921e v: kernel pcie: speed: 5 GT/s lanes: 1 bus-ID: 11:00.0

    chip-ID: 14c3:0616 class-ID: 0280

  IF: wlan0 state: down mac: <filter>

  IF-ID-1: vmnet1 state: unknown speed: N/A duplex: N/A mac: <filter>

  IF-ID-2: vmnet8 state: unknown speed: N/A duplex: N/A mac: <filter>

Bluetooth:

  Device-1: MediaTek Wireless_Device driver: btusb v: 0.8 type: USB rev: 2.1

    speed: 480 Mb/s lanes: 1 bus-ID: 3-7:5 chip-ID: 0e8d:0616 class-ID: e001

    serial: <filter>

  Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: disabled

    rfk-block: hardware: no software: no address: N/A

Drives:

  Local Storage: total: 5.8 TiB used: 1.59 TiB (27.3%)

  ID-1: /dev/nvme0n1 vendor: Samsung model: SSD 990 PRO 2TB size: 1.82 TiB

    speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter> fw-rev: 4B2QJXD7

    temp: 51.9 C scheme: GPT

  ID-2: /dev/sda vendor: Kingston model: DataTraveler 3.0 size: 115.59 GiB

    type: USB rev: 3.2 spd: 5 Gb/s lanes: 1 tech: N/A serial: <filter>

    fw-rev: PMAP scheme: MBR

  ID-3: /dev/sdc vendor: ASolid model: USB size: 117.19 GiB type: USB

    rev: 3.2 spd: 5 Gb/s lanes: 1 tech: N/A serial: <filter> scheme: MBR

  ID-4: /dev/sdd vendor: Kingston model: DataTraveler 3.0 size: 115.59 GiB

    type: USB rev: 3.2 spd: 5 Gb/s lanes: 1 tech: N/A serial: <filter>

    fw-rev: PMAP scheme: GPT

  ID-5: /dev/sde vendor: Western Digital model: WD40EZRZ-22GXCB0

    size: 3.64 TiB type: USB rev: 3.1 spd: 5 Gb/s lanes: 1 tech: HDD rpm: 5400

    serial: <filter> fw-rev: 1021 scheme: GPT

Partition:

  ID-1: / size: 195.31 GiB used: 76.37 GiB (39.1%) fs: btrfs

    dev: /dev/nvme0n1p2

  ID-2: /boot/efi size: 2 GiB used: 584 KiB (0.0%) fs: vfat

    dev: /dev/nvme0n1p1

  ID-3: /home size: 1.63 TiB used: 1.51 TiB (92.9%) fs: btrfs

    dev: /dev/nvme0n1p3

  ID-4: /var/log size: 195.31 GiB used: 76.37 GiB (39.1%) fs: btrfs

    dev: /dev/nvme0n1p2

Swap:

  Alert: No swap data was found.

Sensors:

  System Temperatures: cpu: 95.4 C mobo: 48.0 C

  Fan Speeds (rpm): N/A

  GPU: device: amdgpu temp: 51.0 C mem: 58.0 C fan: 0 watts: 25.00

    device: amdgpu temp: 53.0 C

Info:

  Memory: total: 128 GiB note: est. available: 124.91 GiB

    used: 9.62 GiB (7.7%)

  Processes: 580 Power: uptime: 1h 18m states: freeze,mem,disk suspend: deep

    wakeups: 0 hibernate: platform Init: systemd v: 261 default: graphical

  Packages: 2764 pm: pacman pkgs: 2731 pm: flatpak pkgs: 33 Compilers:

    clang: 22.1.6 gcc: 16.1.1 Shell: Sudo (sudo) v: 1.9.17p2 default: Bash

    v: 5.3.15 running-in: yakuake inxi: 3.3.40




vulkaninfo --summary
==========
VULKANINFO
==========

Vulkan Instance Version: 1.4.350


Instance Extensions: count = 26
-------------------------------
VK_EXT_acquire_drm_display             : extension revision 1
VK_EXT_acquire_xlib_display            : extension revision 1
VK_EXT_debug_report                    : extension revision 10
VK_EXT_debug_utils                     : extension revision 2
VK_EXT_direct_mode_display             : extension revision 1
VK_EXT_display_surface_counter         : extension revision 1
VK_EXT_headless_surface                : extension revision 1
VK_EXT_layer_settings                  : extension revision 2
VK_EXT_surface_maintenance1            : extension revision 1
VK_EXT_swapchain_colorspace            : extension revision 5
VK_KHR_device_group_creation           : extension revision 1
VK_KHR_display                         : extension revision 23
VK_KHR_external_fence_capabilities     : extension revision 1
VK_KHR_external_memory_capabilities    : extension revision 1
VK_KHR_external_semaphore_capabilities : extension revision 1
VK_KHR_get_display_properties2         : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2       : extension revision 1
VK_KHR_portability_enumeration         : extension revision 1
VK_KHR_surface                         : extension revision 25
VK_KHR_surface_maintenance1            : extension revision 1
VK_KHR_surface_protected_capabilities  : extension revision 1
VK_KHR_wayland_surface                 : extension revision 6
VK_KHR_xcb_surface                     : extension revision 6
VK_KHR_xlib_surface                    : extension revision 6
VK_LUNARG_direct_driver_loading        : extension revision 1

Instance Layers: count = 10
---------------------------
VK_LAYER_INTEL_nullhw             INTEL NULL HW                                                1.1.73   version 1
VK_LAYER_MESA_anti_lag            Open-source implementation of the VK_AMD_anti_lag extension. 1.4.303  version 1
VK_LAYER_MESA_device_select       Linux device selection layer                                 1.4.303  version 1
VK_LAYER_MESA_overlay             Mesa Overlay layer                                           1.4.303  version 1
VK_LAYER_MESA_screenshot          Mesa Screenshot layer                                        1.4.303  version 1
VK_LAYER_MESA_vram_report_limit   Limit reported VRAM                                          1.4.303  version 1
VK_LAYER_VALVE_steam_fossilize_32 Steam Pipeline Caching Layer                                 1.3.207  version 1
VK_LAYER_VALVE_steam_fossilize_64 Steam Pipeline Caching Layer                                 1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_32   Steam Overlay Layer                                          1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_64   Steam Overlay Layer                                          1.3.207  version 1

Devices:
========
GPU0:
        apiVersion         = 1.4.354
        driverVersion      = 26.1.4
        vendorID           = 0x1002
        deviceID           = 0x744c
        deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
        deviceName         = AMD Radeon RX 7900 XT (RADV NAVI31)
        driverID           = DRIVER_ID_MESA_RADV
        driverName         = radv
        driverInfo         = Mesa 26.1.4-arch1.1
        conformanceVersion = 1.4.0.0
        deviceUUID         = 00000000-0300-0000-0000-000000000000
        driverUUID         = 414d442d-4d45-5341-2d44-525600000000
GPU1:
        apiVersion         = 1.4.354
        driverVersion      = 26.1.4
        vendorID           = 0x1002
        deviceID           = 0x164e
        deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
        deviceName         = AMD Ryzen 9 7900X 12-Core Processor (RADV RAPHAEL_MENDOCINO)
        driverID           = DRIVER_ID_MESA_RADV
        driverName         = radv
        driverInfo         = Mesa 26.1.4-arch1.1
        conformanceVersion = 1.4.0.0
        deviceUUID         = 00000000-1700-0000-0000-000000000000
        driverUUID         = 414d442d-4d45-5341-2d44-52560000000

Maybe it’ll help.

If you need more information, let me know, and I’ll help as best I can.

I upgraded to v6.7.2 and still the same issue, I noticed something interesting when running Midtown Madness 1 that is always reproducible:

  • Run the game wtih WINE staging 11.10 - 11.12 + Wayland + NO OBS recording > FPS drops
  • Run the game wtih WINE staging 11.10 - 11.12 + Wayland + WITH OBS recording > No FPS drop
  • Run the game wtih WINE staging 11.10 - 11.12 + xwayland + NO OBS recording > No FPS drop
  • Run the game wtih WINE staging 11.10 - 11.12 + xwayland + WITH OBS recording > No FPS drop

So, at least for Midtown Madness 1, something regressed in how Wayland composition is handled. Not sure what OBS triggers in the background that affects it.

I have the flatpak version of OBS if that helps

With VSync on, many games really suffer badly, example with GTA IV using Plasma v6.7.2. The FPS is all over the place