Performance Regression between LTS 6.6 and LTS 6.12

Hi, I am experiencing a performance regression in a lot of games, with this regression being completely reversible by simply downgrading the kernel back to LTS 6.6.
Shown below is a screenshot of War Thunder Benchmarks, with the LTS 6.6 results being shown on the left and the LTS 6.12 results being shown on the right.


I have waited for a long while before updating to LTS 6.12, simply due to this performance regression, in the hopes that the regression would get fixed with time, which it wasn’t. I have no idea what the issue is, any help would be appreciated!

Rather than keeping the official LTS packages in a downgraded state, you could instead upgrade them, then install the 6.6 LTS packages from the AUR.

yay -S linux-lts66 linux-lts66-headers

This, of course, means your updates would take longer — maybe 1 minute — but at least you aren’t running Arch in an unsupported way, possibly causing other issues.

I haven’t done any benchmarks myself, but I did notice the performance impact in games.
I thought it was just my device’s age — it still could be — rather than the kernel update.

3 Likes

For you device age coul be a factor, but I highly doubt that is the case for me (AMD 7800X3D and an AMD Radeon 7800XT, both just over a year old and bought new). While the AUR solution might help as a short term fix, I still would like to figure out what is wrong with the up to date kernel, as the only difference between benchmarks is the kernel version, with all other packages staying the exact same.

I used War Thunder as an example, as it is a native game so there are no possible issues that could be caused by running through Proton, but a game where the performance regression is absolutely horrid is Cyberpunk 2077, which with the exact same settings, setup and packages (outside of the kernel) suffers an average 15ish FPS loss, on a normal FPS of 60ish. Again, reverting fixes it.

It’s not actually a short-term fix — it’s in the name: LTS. :wink:

That said, this may be ironed out over a few updates. Apart from reporting this to Arch maintainers and/or kernel.org itself (upstream), I doubt there is anything you or anyone not working on the affected kernel packages can do, besides using another kernel.

What you are showing here is graphics performance. What is your GPU?

Please give us the output fo “inxi -Fz

As stated in one of my previous comments, a Radeon 7800XT

I know you’re not enthused by this issue, but we’re trying to help. The actual output is better for more relevant details anyway. Please post it.

System:
  Kernel: 6.12.15-1-lts arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: initrd=\42bed76a7b8c4d85beeb17b8b264fdb8\6.12.15-1-lts\initrd
    nvme_load=YES nowatchdog rw
    root=UUID=f5381eaa-86d9-48a9-a272-657ee2d10bbe
    amdgpu.ppfeaturemask=0xffffffff
    systemd.machine_id=42bed76a7b8c4d85beeb17b8b264fdb8
  Desktop: KDE Plasma v: 6.3.1 tk: Qt v: N/A info: frameworks v: 6.11.0
    wm: kwin_wayland vt: 1 dm: SDDM Distro: EndeavourOS base: Arch Linux
Machine:
  Type: Desktop Mobo: Micro-Star model: MAG B650 TOMAHAWK WIFI (MS-7D75)
    v: 1.0 serial: <superuser required> uuid: <superuser required> UEFI: American
    Megatrends LLC. v: 1.J0 date: 07/24/2024
CPU:
  Info: model: AMD Ryzen 7 7800X3D bits: 64 type: MT MCP arch: Zen 4 gen: 4
    level: v4 note: check built: 2022+ process: TSMC n5 (5nm) family: 0x19 (25)
    model-id: 0x61 (97) stepping: 2 microcode: 0xA601209
  Topology: cpus: 1x dies: 1 clusters: 1 cores: 8 threads: 16 tpc: 2
    smt: enabled cache: L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 8 MiB
    desc: 8x1024 KiB L3: 96 MiB desc: 1x96 MiB
  Speed (MHz): avg: 3449 min/max: 545/5050 boost: enabled scaling:
    driver: amd-pstate-epp governor: powersave cores: 1: 3449 2: 3449 3: 3449
    4: 3449 5: 3449 6: 3449 7: 3449 8: 3449 9: 3449 10: 3449 11: 3449 12: 3449
    13: 3449 14: 3449 15: 3449 16: 3449 bogomips: 134463
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow mitigation: Safe RET
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Enhanced / Automatic IBRS; IBPB:
    conditional; STIBP: always-on; RSB filling; PBRSB-eIBRS: Not affected;
    BHI: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 32 [Radeon RX 7700 XT /
    7800 XT] vendor: ASUSTeK driver: amdgpu v: kernel arch: RDNA-3
    code: Navi-3x process: TSMC n5 (5nm) built: 2022+ pcie: gen: 4
    speed: 16 GT/s lanes: 16 ports: active: DP-2 empty: DP-1, DP-3, HDMI-A-1,
    Writeback-1 bus-ID: 03:00.0 chip-ID: 1002:747e class-ID: 0300
  Device-2: Advanced Micro Devices [AMD/ATI] Raphael vendor: Micro-Star MSI
    driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm)
    built: 2020-22 pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: none
    empty: DP-4, DP-5, DP-6, HDMI-A-2, Writeback-2 bus-ID: 13:00.0
    chip-ID: 1002:164e class-ID: 0300 temp: 30.0 C
  Display: wayland server: X.org v: 1.21.1.15 with: Xwayland v: 24.1.5
    compositor: kwin_wayland driver: X: loaded: amdgpu
    unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
    gpu: amdgpu display-ID: 0
  Monitor-1: DP-2 model: LG (GoldStar) ULTRAGEAR serial: <filter>
    built: 2023 res: mode: 2560x1440 hz: 165 scale: 100% (1) dpi: 108 gamma: 1.2
    size: 697x392mm (27.44x15.43") diag: 690mm (27.2") ratio: 16:9 modes:
    max: 2560x1440 min: 640x480
  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 wayland: drv: radeonsi x11: drv: radeonsi
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.3.4-arch1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 7800 XT (radeonsi
    navi32 LLVM 19.1.7 DRM 3.60 6.12.15-1-lts) device-ID: 1002:747e
    memory: 15.62 GiB unified: no display-ID: :1.0
  API: Vulkan v: 1.4.303 layers: 8 device: 0 type: discrete-gpu name: AMD
    Radeon RX 7800 XT (RADV NAVI32) driver: N/A device-ID: 1002:747e
    surfaces: xcb,xlib,wayland device: 1 type: integrated-gpu name: AMD
    Radeon Graphics (RADV RAPHAEL_MENDOCINO) driver: N/A device-ID: 1002:164e
    surfaces: xcb,xlib,wayland
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor gpu: corectrl,radeontop 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: gen: 4 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] Rembrandt Radeon High
    Definition Audio vendor: Micro-Star MSI driver: snd_hda_intel v: kernel
    pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 13:00.1 chip-ID: 1002:1640
    class-ID: 0403
  Device-3: Advanced Micro Devices [AMD] Family 17h/19h/1ah HD Audio
    vendor: Micro-Star MSI driver: snd_hda_intel v: kernel pcie: gen: 4
    speed: 16 GT/s lanes: 16 bus-ID: 13:00.6 chip-ID: 1022:15e3 class-ID: 0403
  Device-4: DCMT USB Condenser Microphone
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 1.1 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 1-5.3:6 chip-ID: 31b2:0011 class-ID: 0300
    serial: <filter>
  Device-5: Micro Star USB Audio driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-6:3
    chip-ID: 0db0:422d class-ID: 0300
  API: ALSA v: k6.12.15-1-lts status: kernel-api
    tools: alsactl,alsamixer,amixer
  Server-1: PipeWire v: 1.2.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Realtek RTL8125 2.5GbE vendor: Micro-Star MSI driver: r8169
    v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1 port: c000 bus-ID: 0e:00.0
    chip-ID: 10ec:8125 class-ID: 0200
  IF: enp14s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    driver: mt7921e v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1
    bus-ID: 0f:00.0 chip-ID: 14c3:0616 class-ID: 0280
  IF: wlan0 state: down mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: MediaTek Wireless_Device driver: btusb v: 0.8 type: USB rev: 2.1
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-7:8 chip-ID: 0e8d:0616
    class-ID: e001 serial: <filter>
  Report: btmgmt ID: hci0 rfk-id: 1 state: down bt-service: disabled
    rfk-block: hardware: no software: no address: N/A
Drives:
  Local Storage: total: 3.64 TiB used: 2.01 TiB (55.3%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:3 vendor: Western Digital model: WD BLACK
    SN850X HS 2000GB size: 1.82 TiB block-size: physical: 4096 B
    logical: 4096 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 620331WD temp: 26.9 C scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Western Digital
    model: WDS100T2B0C-00PXH0 size: 931.51 GiB block-size: physical: 4096 B
    logical: 4096 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 211070WD temp: 35.9 C scheme: GPT
  ID-3: /dev/sda maj-min: 8:0 vendor: Western Digital model: WD Blue SA510
    2.5 1000GB size: 931.51 GiB block-size: physical: 512 B logical: 512 B
    speed: 6.0 Gb/s tech: SSD serial: <filter> fw-rev: 8100 scheme: GPT
Partition:
  ID-1: / raw-size: 930.52 GiB size: 914.84 GiB (98.31%)
    used: 789.65 GiB (86.3%) fs: ext4 dev: /dev/nvme1n1p2 maj-min: 259:2
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 41.4 C mobo: 34.0 C
  Fan Speeds (rpm): N/A
  GPU: device: amdgpu temp: 44.0 C mem: 64.0 C fan: 0 watts: 37.00
    device: amdgpu temp: 30.0 C
Info:
  Memory: total: 64 GiB note: est. available: 61.91 GiB used: 3.21 GiB (5.2%)
  Processes: 393 Power: uptime: 2m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 24.75 GiB services: org_kde_powerdevil,upowerd
    Init: systemd v: 257 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1491 libs: 376 tools: pacseek,yay Compilers:
    clang: 19.1.7 gcc: 14.2.1 Shell: Bash v: 5.2.37 running-in: konsole
    inxi: 3.3.37

Right, sorry, did not intend to sound pissed off. Here is the output of inxi -Fxxxza --no-host.

Aren’t we all as a matter of fact. . . .

Rich :wink:

I have clue what is going on in your case. I could not find a hint on the internet.

If the issue is really kernel related and not software related, like KDE / wayland, you could try to turn off vulnerability mitigations to see if that makes a difference between kernel series 6.6. and 6.12. Simply add mitigations=off to the kernel commandline.

Other than that, it could also be KDE / wayland related. Have you tried to run the benchmark with pure X11?