Games in the background run much slower (maybe Wayland Frame Callback issue?)

I have several games that I like to run in the background for a minute or so, say, auto-farming a stage I’ve already completed. On Wayland, the game seems to slow down when it’s in the background. Individual sound effects play at normal speed but they’re much more spaced out in time. So a stage that will auto-play in 20 seconds while I watch it will keep going for over a minute. This does not happen on X11, which I just installed to test.

If you want a game to test with, Vampire Survivors works. Start a game with a weapon you won’t die instantly with. Listen to the popping sound enemies make when they die. Now switch to a different virtual desktop. For me, that slows down noticeably on Wayland while on X11 it keeps popping at the same rate. To be clear, it’s not that the sounds are slowing down, it’s that the game slows down.

So I’ve got 2 questions:

  1. Does anyone else experience this or is it just me? If it’s just me, does anyone have an idea on how to stop it? To my very unknowing self, it sounds like Frame Callbacks are causing this. Is there any way to change them?
  2. For the time being, I’m staying on X11. I’m used to Wayland and that feels a bit smoother. I know Wayland is the “future” but is there any sign of X11 breaking anytime soon?

System information, in case it’s relevant:

**System:** 
  **Host:** endeavouros **Kernel:** 6.12.55-1-lts **arch:** x86_64 **bits:** 64 **compiler:** gcc 
    **v:** 15.2.1 **clocksource:** tsc 
  **Desktop:** KDE Plasma **v:** 6.5.0 **tk:** Qt **v:** N/A **wm:** kwin_x11 **vt:** 2 **dm:** SDDM 
    **Distro:** EndeavourOS **base:** Arch Linux 
**Machine:** 
  **Type:** Desktop **System:** ASUS **product:** N/A **v:** N/A **serial:** <superuser required> 
  **Mobo:** ASUSTeK **model:** PRIME B550-PLUS **v:** Rev X.0x 
    **serial:** <superuser required> **part-nu:** SKU **uuid:** <superuser required> 
    **UEFI:** American Megatrends **v:** 2003 **date:** 03/10/2021 
**Battery:** 
  **Device-1:** hidpp_battery_0 **model:** Logitech Wireless Mouse **serial:** 66-c2-ad-de 
    **charge:** 55% (should be ignored) **rechargeable:** yes **status:** discharging 
**CPU:** 
  **Info:** 6-core **model:** AMD Ryzen 5 5600X **bits:** 64 **type:** MT MCP **smt:** enabled 
    **arch:** Zen 3+ **rev:** 2 **cache:** **L1:** 384 KiB **L2:** 3 MiB **L3:** 32 MiB 
  **Speed (MHz):** **avg:** 1734 **min/max:** 550/4651 **boost:** enabled **cores:** **1:** 1734 
    **2:** 1734 **3:** 1734 **4:** 1734 **5:** 1734 **6:** 1734 **7:** 1734 **8:** 1734 **9:** 1734 **10:** 1734 
    **11:** 1734 **12:** 1734 **bogomips:** 88841 
  **Flags-basic:** avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a 
    ssse3 svm 
**Graphics:** 
  **Device-1:** NVIDIA AD103 \[GeForce RTX 4070 Ti SUPER\] **vendor:** PNY 
    **driver:** nvidia **v:** 580.95.05 **arch:** Lovelace **pcie:** **speed:** 2.5 GT/s **lanes:** 16 
    **ports:** **active:** none **off:** DP-3 **empty:** DP-1,DP-2,HDMI-A-1 **bus-ID:** 08:00.0 
    **chip-ID:** 10de:2705 **class-ID:** 0300 
  **Display:** x11 **server:** X.Org **v:** 21.1.18 **with:** Xwayland **v:** 24.1.8 
    **compositor:** kwin_x11 **driver:** **X:** **loaded:** nvidia **unloaded:** modesetting 
    **alternate:** fbdev,nouveau,nv,vesa **gpu:** nvidia,nvidia-nvswitch 
    **display-ID:** :0 **screens:** 1 
  **Screen-1:** 0 **s-res:** 3440x1440 **s-dpi:** 109 **s-size:** 802x342mm (31.57x13.46") 
    **s-diag:** 872mm (34.33") 
  **Monitor-1:** DP-3 **mapped:** DP-4 **note:** disabled **model:** ViewSonic VA3456-WQHD 
    **serial:** WCK211500764 **res:** N/A **dpi:** 109 **size:** 800x335mm (31.5x13.19") 
    **diag:** 867mm (34.1") **modes:** **max:** 3440x1440 **min:** 640x480 
  **API:** EGL **v:** 1.5 **hw:** **drv:** nvidia **platforms:** **device:** 0 **drv:** nvidia **device:** 2 
    **drv:** swrast **gbm:** **drv:** nvidia **surfaceless:** **drv:** nvidia **x11:** **drv:** nvidia 
    **inactive:** wayland,device-1 
  **API:** OpenGL **v:** 4.6.0 **compat-v:** 4.5 **vendor:** nvidia mesa **v:** 580.95.05 
    **glx-v:** 1.4 **direct-render:** yes **renderer:** NVIDIA GeForce RTX 4070 Ti 
    SUPER/PCIe/SSE2 
  **API:** Vulkan **v:** 1.4.328 **layers:** 9 **surfaces:** N/A **device:** 0 
    **type:** discrete-gpu **driver:** nvidia **device-ID:** 10de:2705 
  **Info:** **Tools:** **api:** clinfo, eglinfo, glxinfo, vulkaninfo 
    **de:** kscreen-console,kscreen-doctor **gpu:** nvidia-smi **wl:** wayland-info 
    **x11:** xdpyinfo, xprop, xrandr 
**Audio:** 
  **Device-1:** NVIDIA **vendor:** PNY **driver:** snd_hda_intel **v:** kernel **pcie:** 
    **speed:** 16 GT/s **lanes:** 16 **bus-ID:** 08:00.1 **chip-ID:** 10de:22bb **class-ID:** 0403 
  **API:** ALSA **v:** k6.12.55-1-lts **status:** kernel-api 
  **Server-1:** sndiod **v:** N/A **status:** off 
  **Server-2:** PipeWire **v:** 1.4.9 **status:** active **with:** **1:** pipewire-pulse 
    **status:** active **2:** wireplumber **status:** active **3:** pipewire-alsa **type:** plugin 
    **4:** pw-jack **type:** plugin 
**Network:** 
  **Device-1:** Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet 
    **vendor:** ASUSTeK RTL8111H **driver:** r8169 **v:** kernel **pcie:** **speed:** 2.5 GT/s 
    **lanes:** 1 **port:** f000 **bus-ID:** 07:00.0 **chip-ID:** 10ec:8168 **class-ID:** 0200 
  **IF:** enp7s0 **state:** down **mac:** fc:34:97:a5:0d:60 
  **Device-2:** TP-Link UE300 10/100/1000 LAN (ethernet mode) \[Realtek RTL8153\] 
    **driver:** r8152 **type:** USB **rev:** 3.0 **speed:** 5 Gb/s **lanes:** 1 **bus-ID:** 2-2:2 
    **chip-ID:** 2357:0601 **class-ID:** 0000 **serial:** 000001 
  **IF:** enp2s0f0u2 **state:** up **speed:** 1000 Mbps **duplex:** full 
    **mac:** 54:af:97:5c:38:56 
  **IF-ID-1:** br-0294b8e19c51 **state:** up **speed:** 10000 Mbps **duplex:** unknown 
    **mac:** 52:e3:65:59:e3:58 
  **IF-ID-2:** br-1ef9d0198f9c **state:** up **speed:** 10000 Mbps **duplex:** unknown 
    **mac:** 42:75:6c:5f:f7:0b 
  **IF-ID-3:** br-6b654e0a77c3 **state:** up **speed:** 10000 Mbps **duplex:** unknown 
    **mac:** 6e:17:39:63:8f:1e 
  **IF-ID-4:** br-808b8128bb31 **state:** up **speed:** 10000 Mbps **duplex:** unknown 
    **mac:** ba:c2:16:61:af:ff 
  **IF-ID-5:** br-815b9c921066 **state:** up **speed:** 10000 Mbps **duplex:** unknown 
    **mac:** d2:f5:52:bd:ff:74 
  **IF-ID-6:** br-a2fc23dd24e4 **state:** up **speed:** 10000 Mbps **duplex:** unknown 
    **mac:** e2:05:7c:d2:d3:01 
  **IF-ID-7:** docker0 **state:** down **mac:** 0e:38:06:a4:9a:0b 
  **IF-ID-8:** tailscale0 **state:** unknown **speed:** -1 **duplex:** full **mac:** N/A 
  **IF-ID-9:** veth3964fca **state:** up **speed:** 10000 Mbps **duplex:** full 
    **mac:** 0e:2f:be:e6:f0:73 
  **IF-ID-10:** veth3a82fb3 **state:** up **speed:** 10000 Mbps **duplex:** full 
    **mac:** 9a:48:c4:08:6b:5a 
  **IF-ID-11:** veth49466ad **state:** up **speed:** 10000 Mbps **duplex:** full 
    **mac:** ae:3c:8c:4b:5b:4d 
  **IF-ID-12:** veth7f42034 **state:** up **speed:** 10000 Mbps **duplex:** full 
    **mac:** 32:a3:79:f5:d1:ed 
  **IF-ID-13:** vethb06695e **state:** up **speed:** 10000 Mbps **duplex:** full 
    **mac:** 86:db:56:21:c8:66 
  **IF-ID-14:** vethd61da89 **state:** up **speed:** 10000 Mbps **duplex:** full 
    **mac:** c6:9b:7c:c0:07:69 
**Bluetooth:** 
  **Device-1:** ASUSTek Bluetooth Controller **driver:** btusb **v:** 0.8 **type:** USB 
    **rev:** 1.1 **speed:** 12 Mb/s **lanes:** 1 **bus-ID:** 1-3:2 **chip-ID:** 0b05:1bf6 
    **class-ID:** e001 
  **Report:** btmgmt **ID:** hci0 **rfk-id:** 0 **state:** up **address:** BC:FC:E7:2D:78:B7 
    **bt-v:** 5.4 **lmp-v:** 13 **class-ID:** 6c0104 
**Drives:** 
  **Local Storage:** **total:** 10.03 TiB **used:** 2.18 TiB (21.8%) 
  **ID-1:** /dev/nvme0n1 **vendor:** Silicon Power **model:** SPCC M.2 PCIE SSD 
    **size:** 953.87 GiB **speed:** 31.6 Gb/s **lanes:** 4 **tech:** SSD **serial:** 30012119521 
    **fw-rev:** HBAF28FT **temp:** 32.9 C **scheme:** GPT 
  **ID-2:** /dev/nvme1n1 **vendor:** Crucial **model:** CT2000P3PSSD8 **size:** 1.82 TiB 
    **speed:** 63.2 Gb/s **lanes:** 4 **tech:** SSD **serial:** 2423E8B711AE **fw-rev:** P9CR40D 
    **temp:** 35.9 C **scheme:** GPT 
  **ID-3:** /dev/sda **vendor:** Crucial **model:** CT2000MX500SSD1 **size:** 1.82 TiB 
    **speed:** 6.0 Gb/s **tech:** SSD **serial:** 2137E5D1AD0F **fw-rev:** 043 **scheme:** GPT 
  **ID-4:** /dev/sdb **vendor:** Crucial **model:** CT2000MX500SSD1 **size:** 1.82 TiB 
    **speed:** 6.0 Gb/s **tech:** SSD **serial:** 2105E4F09DDD **fw-rev:** 033 **scheme:** GPT 
  **ID-5:** /dev/sdc **vendor:** Toshiba **model:** HDWE140 **size:** 3.64 TiB 
    **speed:** 6.0 Gb/s **tech:** HDD **rpm:** 7200 **serial:** 28LSK8Z8F58D **fw-rev:** FP2A 
    **scheme:** GPT 
**Partition:** 
  **ID-1:** / **size:** 1.78 TiB **used:** 720.92 GiB (39.5%) **fs:** ext4 **dev:** /dev/nvme1n1p2 
**Swap:** 
  **ID-1:** swap-1 **type:** partition **size:** 8.8 GiB **used:** 0 KiB (0.0%) **priority:** -2 
    **dev:** /dev/nvme1n1p3 
**Sensors:** 
  **System Temperatures:** **cpu:** 34.0 C **mobo:** 26.0 C 
  **Fan Speeds (rpm):** **fan-1:** 0 **fan-2:** 1158 **fan-3:** 1046 **fan-4:** 0 **fan-5:** 0 
    **fan-6:** 0 **fan-7:** 947 
**Info:** 
  **Memory:** **total:** 96 GiB **note:** est. **available:** 94.18 GiB **used:** 8.99 GiB (9.5%) 
  **Processes:** 397 **Power:** **uptime:** 37m **states:** freeze,mem,disk **suspend:** deep 
    **wakeups:** 0 **hibernate:** platform **Init:** systemd **v:** 258 **default:** graphical 
  **Packages:** 1701 **pm:** pacman **pkgs:** 1689 **pm:** flatpak **pkgs:** 12 **Compilers:** 
    **clang:** 21.1.4 **gcc:** 15.2.1 **alt:** 14 **Shell:** Bash **v:** 5.3.3 **running-in:** konsole 
    **inxi:** 3.3.39