Kernels & Games: why zen when so many games won't work there, but do in lts?

Good morning, folks! So, I’ve decided to kill some of my Steam library backlog, forcing myself to play at least once every game I have (when I started this, I had over 500 titles never played there, I’m down to 450 currently).

But, and here’s the point of this thread, I’ve been noticing quite a few games so far won’t “just run” when I boot as usual - which means zen. The latest I’ve had this issue with was Driftland, gold in ProtonDB, but here on zen it’d never get past the “starting up” phase. Then I thought of switching to lts and bam, ended up playing it for 2 hours yesterday.

I missed taking notes when this happened before, but considering I’ve been through ~50 games in the past week or so, I’d say at least 10 of them had issues when running with zen, but no problems on lts.

Should I just give up on zen, remove it and turn lts into the boot as usual?

System:
  Kernel: 6.1.54-1-lts arch: x86_64 bits: 64 compiler: gcc v: 13.2.1 clocksource: tsc
    available: acpi_pm parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-lts
    root=UUID=468e3250-834f-4678-85b1-f50f268e557d rw rootflags=subvol=@ quiet quiet
    rd.udev.log_priority=3 vt.global_cursor_default=0
    resume=UUID=92d5bc58-440e-4eab-9f01-4fa35d34e02b loglevel=3
  Desktop: KDE Plasma v: 5.27.8 tk: Qt v: 5.15.10 wm: kwin_x11 vt: 2 dm: SDDM
    Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Laptop System: Dell product: G5 5590 v: N/A serial: <superuser required> Chassis: type: 10
    serial: <superuser required>
  Mobo: Dell model: 0F3T2G v: A00 serial: <superuser required> UEFI: Dell v: 1.22.0
    date: 11/10/2022
Battery:
  ID-1: BAT0 charge: 45.4 Wh (100.0%) condition: 45.4/60.0 Wh (75.6%) volts: 16.8 min: 15.2
    model: SMP DELL JJPFK87 type: Li-poly serial: <filter> status: full
CPU:
  Info: model: Intel Core i7-9750H bits: 64 type: MT MCP arch: Coffee Lake gen: core 9 level: v3
    note: check built: 2018 process: Intel 14nm family: 6 model-id: 0x9E (158) stepping: 0xA (10)
    microcode: 0xF4
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache: L1: 384 KiB
    desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB L3: 12 MiB desc: 1x12 MiB
  Speed (MHz): avg: 4134 high: 4199 min/max: 800/4500 scaling: driver: intel_pstate
    governor: powersave cores: 1: 4081 2: 4109 3: 4101 4: 4035 5: 4088 6: 4136 7: 4187 8: 4137
    9: 4180 10: 4190 11: 4165 12: 4199 bogomips: 62431
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: Dell driver: i915 v: kernel
    arch: Gen-9.5 process: Intel 14nm built: 2016-20 ports: active: none off: eDP-1 empty: DP-1,
    DP-2, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:3e9b class-ID: 0300
  Device-2: NVIDIA TU106M [GeForce RTX 2060 Mobile] vendor: Dell driver: nvidia v: 535.104.05
    alternate: nouveau,nvidia_drm non-free: 535.xx+ status: current (as of 2023-08) arch: Turing
    code: TUxxx process: TSMC 12nm FF built: 2018-22 pcie: gen: 2 speed: 5 GT/s lanes: 8 link-max:
    gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 01:00.0 chip-ID: 10de:1f11 class-ID: 0300
  Device-3: Microdia Integrated_Webcam_HD driver: uvcvideo type: USB rev: 2.0 speed: 480 Mb/s
    lanes: 1 mode: 2.0 bus-ID: 1-5:3 chip-ID: 0c45:671f class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.2.0 compositor: kwin_x11 driver: X:
    loaded: modesetting,nvidia unloaded: nouveau alternate: fbdev,intel,nv,vesa dri: iris gpu: i915
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 2560x2160 s-dpi: 96 s-size: 675x570mm (26.57x22.44") s-diag: 883mm (34.78")
  Monitor-1: DP-1-0 pos: primary,top res: 2560x1080 hz: 60 dpi: 81 size: 798x334mm (31.42x13.15")
    diag: 865mm (34.06") modes: N/A
  Monitor-2: HDMI-1-0 pos: bottom res: 2560x1080 hz: 60 dpi: 96 size: 677x290mm (26.65x11.42")
    diag: 736mm (29") modes: N/A
  Monitor-3: eDP-1 size-res: N/A modes: N/A
  API: OpenGL v: 4.6 Mesa 23.1.7-arch1.1 renderer: Mesa Intel UHD Graphics 630 (CFL GT2)
    direct-render: Yes
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Dell driver: snd_hda_intel v: kernel
    alternate: snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3 chip-ID: 8086:a348 class-ID: 0403
  Device-2: NVIDIA TU106 High Definition Audio vendor: Dell driver: snd_hda_intel v: kernel pcie:
    gen: 1 speed: 2.5 GT/s lanes: 8 link-max: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 01:00.1
    chip-ID: 10de:10f9 class-ID: 0403
  Device-3: Realtek USB Audio driver: snd-usb-audio type: USB rev: 2.0 speed: 480 Mb/s lanes: 1
    mode: 2.0 bus-ID: 1-4.5:6 chip-ID: 0bda:4014 class-ID: 0102 serial: <filter>
  API: ALSA v: k6.1.54-1-lts status: kernel-api with: aoss type: oss-emulator tools: N/A
  Server-1: PipeWire v: 0.3.80 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 vendor: Dell driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1
    port: 3000 bus-ID: 3c:00.0 chip-ID: 10ec:2502 class-ID: 0200
  IF: enp60s0 state: down mac: <filter>
  Device-2: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter vendor: Dell
    driver: ath10k_pci v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 3d:00.0
    chip-ID: 168c:003e class-ID: 0280 temp: 48.0 C
  IF: wlp61s0 state: down mac: <filter>
  Device-3: Realtek RTL8153 Gigabit Ethernet Adapter driver: r8152 type: USB rev: 3.0
    speed: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 bus-ID: 6-1.2:3 chip-ID: 0bda:8153 class-ID: 0000
    serial: <filter>
  IF: enp58s0u1u2 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: Qualcomm Atheros driver: btusb v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1
    mode: 1.1 bus-ID: 1-14:8 chip-ID: 0cf3:e007 class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 4.2 lmp-v: 8 status:
    discoverable: no pairing: no class-ID: 7c010c
Drives:
  Local Storage: total: 1.14 TiB used: 737.91 GiB (63.1%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital model: PC SN520 NVMe WDC 256GB
    size: 238.47 GiB block-size: physical: 512 B logical: 512 B speed: 15.8 Gb/s lanes: 2 tech: SSD
    serial: <filter> fw-rev: 20240012 temp: 52.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital model: WD10SPZX-75Z10T3 size: 931.51 GiB
    block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s tech: HDD rpm: 5400 serial: <filter>
    fw-rev: 4514 scheme: GPT
Partition:
  ID-1: / raw-size: 221.19 GiB size: 221.19 GiB (100.00%) used: 184.87 GiB (83.6%) fs: btrfs
    dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 632 KiB (0.2%) fs: vfat
    dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 221.19 GiB size: 221.19 GiB (100.00%) used: 184.87 GiB (83.6%) fs: btrfs
    dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 221.19 GiB size: 221.19 GiB (100.00%) used: 184.87 GiB (83.6%)
    fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 221.19 GiB size: 221.19 GiB (100.00%) used: 184.87 GiB (83.6%)
    fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 15.31 GiB used: 13.2 MiB (0.1%) priority: 100 comp: zstd
    avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 12 dev: /dev/zram0
  ID-2: swap-2 type: partition size: 16.98 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/nvme0n1p3 maj-min: 259:3
Sensors:
  System Temperatures: cpu: 61.0 C pch: 71.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Processes: 341 Uptime: 25m wakeups: 3 Memory: total: 16 GiB note: est. available: 15.31 GiB
  used: 7.42 GiB (48.5%) Init: systemd v: 254 default: graphical tool: systemctl Compilers:
  gcc: 13.2.1 clang: 16.0.6 Packages: pm: pacman pkgs: 1917 libs: 482
  tools: gnome-software,octopi,pamac,paru,yay Client: shell wrapper v: 5.1.16-release inxi: 3.3.29
Garuda (2.6.16-1):
  System install date:     2023-04-01
  Last full system update: 2023-09-20
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut nvidia-dkms
  Windows dual boot:       No/Undetected
  Failed units:            
1 Like

The zen kernel has some strange bugs related to hibernation for me so I haven’t been using it for a while. I am pretty sure I am not the only one having issues with zen kernel on forum so yeah go ahead and use the kernel that works for you. I am pretty sure that if you just use the “default” kernel 6.5.4.arch2-1 you won’t face any issues you are with zen kernel.

I would also suggest you to try linux-clear kernel I have been using it after finding out about it from a community member quite recently and oh boy is it blazing fast, not just as a placebo effect but really both my boot times and game fps have become better thanks to this kernel. The boot is near instantaneous not just measly 5 seconds with dracut anymore and games have gained 7 or more fps confirmed by both me and the community member.

btw, when installing the clear kernel it will give you some “recommended” kernel parameters, do use them.

[2023-09-22T17:33:18+0530] [ALPM] installed linux-clear (6.5.4-1)
[2023-09-22T17:33:18+0530] [ALPM-SCRIPTLET] :: Adjust kernel command line in your bootloader to Clear Linux kernel default:
[2023-09-22T17:33:18+0530] [ALPM-SCRIPTLET]    quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests initcall_debug
[2023-09-22T17:33:18+0530] [ALPM-SCRIPTLET]    intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp
[2023-09-22T17:33:18+0530] [ALPM-SCRIPTLET]    page_alloc.shuffle=1 rcupdate.rcu_expedited=1
[2023-09-22T17:33:18+0530] [ALPM-SCRIPTLET]    rootfstype=ext4,btrfs,xfs,f2fs tsc=reliable rw

My current kernel command line from /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1 rd.udev.log_priority=3 vt.global_cursor_default=0 resume=UUID=1b9b6f2d-a19b-4eee-b2bf-6af31dfdf566 loglevel=3  intel_pstate=disable # Modified by garuda-migrations: splash"
GRUB_CMDLINE_LINUX="rootfstype=btrfs tsc=reliable rw"

You need

sudo update-grub

For these changes to take effect.

Btw, No need to remove kernels you can just choose which kernel to boot into using the garuda boot options menu. That way if you ever happen to need to fallback to a different kernel due to whatever reason you have the choice.

7 Likes

Just here because this topic is interesting to me. Did you also try any of the other alternative “performance” patched kernels e.g. Xanmod/tkg? Would be curious to know if those also have the issues for you or not.

2 Likes

not so far, I’m not that much into performance (as long as it’s playable. Tropico 6 with 20 fps isn’t playable =p ), so I’ve been mostly (where I can) turning everything down to minimum and just trying to play them.

this looks like an easy and interesting fix. I’ll look into, thanks =)

ok, this doesn’t seem like it’s a “zen-only” thing. I’m having this right now with Stories - The Path of Destinies Remastered.

No compatibility settings being forced.

And if I try to cancel or kill Steam, it’ll just leave some processes running…

1 Like

Linux kernels are ever-changing. Even the LTS receives security updates. Occasional kernel regressions, unfortunately, are also a fact of life, and the reason many of us run with multiple installed kernels. One slips up? Use another. The important thing for anyone to remember is not to panic.

You wanted a rolling release distribution, right? :smiley:

7 Likes

not really, I just didn’t care =p Garuda seemed like a nice new flavor to experiment =) also the fact that I had never used an Arch-based distro before, only Ubuntu-based ones (Ubuntu itself, but in the past few years PopOS for already bringing nvidia drivers without any hassle).

I’m a lazy person for things that can/should be automated. I don’t like to keep doing stuff repeatedly =p

in my case, it showed

:: Adjust kernel command line in your bootloader to Clear Linux kernel default:
   quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests initcall_debug
   intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp
   page_alloc.shuffle=1 rcupdate.rcu_expedited=1
   rootfstype=ext4,btrfs,xfs,f2fs tsc=reliable rw

so I should put that all in a single line on GRUB_CMDLINE_LINUX_DEFAULT?

is there a way to add these things JUST for linux-clear and leave the current cmdline for zen?

sudo update-grub executed… lets reboot. pray for me :sweat_smile:

well, here we are.

└─Δ garuda-inxi  
System:
  Kernel: 6.5.5-1-clear arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc available: acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-clear
    root=UUID=468e3250-834f-4678-85b1-f50f268e557d rw rootflags=subvol=@
    quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests
    initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check
    noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1
    rootfstype=ext4,btrfs,xfs,f2fs tsc=reliable rw ibt=off
  Desktop: KDE Plasma v: 5.27.8 tk: Qt v: 5.15.10 wm: kwin_x11 vt: 2
    dm: SDDM Distro: Garuda Linux base: Arch Linux

Then Garuda–or any Arch-based distribution may not be for you. Rolling releases require more attention–more than a self-described lazy person–might like. :eyes: There are daily package updates in the Arch-world and Garuda is no exception. Not that you have to update daily–many, many do–but I wouldn’t go much more than a week or so, myself.

There are also important Announcements posted in Garuda Forums and Arch homepage, things like Arch Linux - News and a smart :monkey: reads them. Again, the nature of rolling releases. You won’t find any fire-and-forget distributions in the Arch World. None whatsoever. :eek!:

But here’s a dirty little secret (seemingly). Arch can be maintained in a current, secure, leading-edge state as long as Arch is around, and probably for a lot longer. Garuda inherits that status. You can’t do anything approaching that in any fixed distribution. And it’s easy. Just stay current in your reading and type a simple command or two. Takes very little time, truly.

A decent “experiment” would call for that, eh? :smiley:

Here’s another dirty little secret. We’ve (the Linux Community in its entirety) been working on “can/should be automated” for many, many years. ALL of the responses you get in any desktop environment comes from the work of thousands of users before you.

See what you can add to that Community.
:smiley:

6 Likes

Why did you remove these parameters from your kernel command line? Especially the resume parameter that’s needed for hibernate. Please append them to the back of kernel parameters after the tsc=reliable rw parameter.

I don’t think so but I could be wrong, will check and if I find something will let you know.

Yeah

1 Like

probably because I misunderstood “add to” by “replace them”. Will fix it, thanks

When I started using Garuda I was doing daily garuda-update, but my laziness caught up to me and I started doing every 4-5 days. But there was one time I left it with no updates for like… 10 days or so? Then I got a notification reminding me to update, and I did =p

well, I guess my post above is a homage to this effort, actually, isn’t it? I was just mentioning this stuff on Bluesky, that years (decades, actually? at least a couple) ago when I first heard of Linux, everyone was like “no, you need to compile your kernel, then install your drivers and…” and I was already “ok, I’m sticking to Windows” - and now, here we are =p

back to problems: so, with linux-clear I got to play MO:Astray without problems for some 40 minutes, then I thought I’d try Stories again. This time, I saw all those damn vc_redists popping up and doing their thing, and then BAM! Looked like the game would start! Steam changed the button to “Stop” (or close, I don’t remember know) and screens did stuff (they always do when you have dual monitors), and then I heard some audio of something that sounded like an opening/intro cutscene… and then… I noticed that my fans quieted down. And nothing was happening anymore.

Nothing. I could move my mouse on the secondary monitor, my Bluesky timeline on Tokimeki was getting updated, but my mouse clicks weren’t going through and the display on the main monitor was frozen on that window changing way that happens when games start.

I ctrl+alt+f3 my way out of GUI, checked btop and saw that Stories’ process had vanished. ctrl+alt+f2 back to the desktop, and everything seems “back to normal”, like I never had started the game - except Steam now says I played it for a minute, which is a blatant lie.

and then, after putting those arguments back in place and another reboot, Stories played just fine. Magic, I say. =p

it really bugs me, but so far what I can share is: for web stuff (navigation, email, social networks, forums) and “general dev/office”, zen is awesome. It’s the best performance.

But for games, it seems to stop some games from playing - and I can’t quite put my finger on what/why.

That said, for games I’m really liking the compatibility of linux-clear. But I do feel that only when I “monotask” the game. Single monitor on, everything else shut down, -clear is better than -zen for performance. “Normal” state, -clear is just more compatible, but outside of gaming it doesn’t perform as good as -zen.

2 Likes

Do not use many older games as of late; have only had trouble with ESO not working in Hardened Kernel; works great in Zen after adding commands to launch for install.

Much appreciated.

There are approximately 27,800,000 lines of code in the Linux kernel, and kernels are always (even the LTS) changing.

There are approximately 15,600 Linux kernel developers, and they, also, are ever-changing.

And that’s just the kernel!

The fact that Linux runs at all seems pretty amazing to me; to the point that gaming problems seem kinda minor.
:wink:

Numbers per Google & Wikipedia.

5 Likes

I have about 200 steam games.

Everything from pay day 3, CS2, dead space, Spiderman remaster, Hogwarts etc, to older ones like half life 2

I have not had a single issue running any of them on Zen.

4 Likes

Could also try another version of Proton; check the Proton Database to see if there are some configuration changes that could be made; which Proton version works the best.

https://www.protondb.com/

ProtonDB search already became a shortcut “pdb ” on my browser a week or so ago XD but thanks, maybe someone else ends up here and finds this tip!

I think there’s too many variables - kernel, packages, drivers, proton versions… even my monitor! I run with a 2560x1080 ultrawide display, and just a few hours ago I tried to play UnderHero and it was the most awful experience I’ve had in gaming, except for full on crashes. The first screen that showed up had a white bar to the right. Then the second, as the screen moved from left to right, had a “trail column” about the same size on the left. Then I thought going windowed would solve it, but the game would respect the border of my taskbar up top, and have a window that was bigger than my display’s vertical length, “eating up” the bottom of the window.

On the other hand, I just came out of a hour-long game session of Perimeter, which despite the game configuration having to be set down to 1024x768, played wonderfully with just those black columns at the side to center the game screen on my monitor.

2 Likes

I used for about 7 years the distro KaOS and I feel like they do get this point right.
Initially, they also used ‘the most recent’ kernel, and they experienced the same thing:
Quite frequent issues with it.

As KaOS is a rolling distribution as well, going for a LTS kernel by default was no option.
So they opted for ‘the second most recent kernel.’

In fact, that let the current release ripe for like 6–8 weeks, that means they usually adopt a new kernel, when it reaches around version X.x.15, or something like that.

In my experience, I had about as many kernel related issues within these 7 years, as I had in Garuda in my first year or so.

So you can definitely eat your cake and have it too, and it’s not even that complicated.

2 Likes

Then this could be up your alley.

1 Like

KaOS, like Garuda, is a highly-customized boutique distribution. I’ve run it once or twice over its lifetime.

But I’ve run Archlinux, the vanilla variety, for 10-12 years and have not had any kernel-bombs, other than sometimes a minor regression here or there. Having very “vanilla” hardware probably helps. But, while regressions in one kernel may be annoying, the simplicity of just booting into a different one makes the whole thing moot.

And since you can boot into only one kernel at a time, so no, you can’t (the cake).
:wink:

3 Likes

it does look interesting, indeed! I’m just gonna have to check for zsh compatibility, as I don’t use fish.

I laughed at this conclusion XD thanks, Bro