mirror of
https://github.com/theupriser/steamify-cachyos.git
synced 2026-10-03 17:41:58 +02:00
3.9 KiB
3.9 KiB
TODO: NVIDIA fix for gaming mode (branch feature/nvidia-gaming-fix)
Delete this file together with .no-release-yet when the feature is released.
Written 2026-10-01 so a new session can pick this up.
Problem
A PC with an NVIDIA RTX 5080 (Blackwell, open kernel modules) shows a corrupted
image when gaming mode (gamescope) starts. Cause not confirmed. Steamify had no
NVIDIA handling at all. Likely: nvidia-drm.modeset=1 / nvidia-drm.fbdev=1
missing, or a gamescope/driver mismatch.
What is built (all on this branch, pushed)
lib/nvidia.sh: part of the SteamOS conversion (gaming_enable/gaming_disable). With an NVIDIA GPU + driver it addsnvidia-drm.modeset=1 nvidia-drm.fbdev=1to the kernel command line (Limine, systemd-boot, GRUB; backup first) and, only when every installed kernel hasnvidia_drm,/etc/mkinitcpio.conf.d/90-steamify-nvidia.conf. Rebuilds initramfs + boot entries, verifies the config and the generated entries have the parameters (error otherwise). Undone on disable. Description:TECHNICAL.md.FEATURE_VERSION[gaming]=2.9.7so installs that already have the conversion re-apply it.- Test hooks
NVIDIA_DRM_DIR,NVIDIA_MODULES_DIR,NVIDIA_LIMINE_CONF,NVIDIA_SDBOOT_DIR,NVIDIA_GRUB_CFG: only set by tests; defaults are the real paths.
Tested
bash tests/nvidia-test.sh: 22 checks against a fake RTX 5080 beside an iGPU, a stubmodinfo, temp boot loader files. All pass.- Real VMs (QEMU/KVM, Limine, systemd-boot, GRUB): enable, reboot, kernel command line
has the parameters; disable, reboot, original command line. All pass. Found and fixed:
Limine pasted an appended
+=line as text into the cmdline; a kernel without the NVIDIA modules made limine-mkinitcpio skip its boot entry.
Still to do
- On the NVIDIA PC (only place the real fix can be judged), from this checkout:
bash tests/nvidia-hardware-test.sh check(before),... apply(asks sudo), reboot,... check(after:nvidia_drm modeset/fbdev = Y), boot gaming mode, then... visual(was the picture clean?). Everything goes to~/steamify-nvidia-report.txt: paste it into the session. - If the parameters apply but the picture is still corrupted: look at the report's
gamescope/NVIDIA log lines and the versions (
nvidia-open,nvidia-utils,gamescope,gamescope-session-cachyos); the cause is then probably a gamescope/driver mismatch for Blackwell, not this fix. - Not covered by any test: the early-load drop-in on a machine that has the modules (the VMs have none), and a boot loader other than the three.
- Changelog: fill in the commit hashes of this feature's lines (next commit, per AGENTS.md).
- When complete and tested: ask the user whether it may be released. On a yes delete
.no-release-yetand this file, open the PR intorelease/2.9.7(local branch only so far, one commitchore: Version 2.9.7; push it then) and merge it. The user mergesrelease/2.9.7intomain.
Working rules for this repo (see AGENTS.md and ../steamify-cachyos-dev/AGENTS.md)
- Never work on
mainor arelease/*branch; noCo-Authored-By/ "Generated with Claude" lines in commits or PRs. No git identity on the dev laptop: usegit -c user.name="Rick Peters" -c user.email="rickpeters@upriser.nl" commit. - Don't push
release/2.9.7before the PR (a push can start a dev ISO build).
If the VM tests need repeating (dev laptop, Ubuntu)
scripts/vminstall.sh(steamify-cachyos-dev) withVM_BOOTLOADER=limine|systemd-boot|grub,CI=1, a shortVM_DIR(~/vms/...: socket paths over 108 bytes fail) andVM_SSH_KEY.- This session's shell lacked the
kvmgroup: run QEMU steps assg kvm -c "...". /tmp/vminstall-iso.lockbelongs to another user and there is nobsdtar: use a copy ofvminstall.shwith another lock path and absdtarshim (Pythonpycdlibin a venv).- Delete everything afterwards (
~/vmsincl.pkg-cache, the 3 GB ISO, keys).