ry-install — self-contained CachyOS installer + diagnostics for the GTR9 Pro
Sharing a tool I’ve been maintaining since I got my GTR9 Pro running CachyOS. Most of the Linux pain points that come up in this forum (MES firmware crashes, MT7925 WiFi 7 stalls, GPU not staying at high perf, ntsync missing for Proton, etc.) are baked into the fixes here. Posting in case it saves anyone else the rabbit hole.
Repo: https://github.com/ryanmusante/ry-install · Version: v3.3 · License: MIT
It’s a single self-contained Fish script with all 16 config files embedded — no submodules, no external configs to clone alongside it. The script is also a system management tool with status, monitoring, diagnostic, and cleanup utilities tailored for Strix Halo.
Targeted hardware
| Component | Spec |
| CPU | Ryzen AI Max+ 395 (Zen 5, 16C/32T) |
| GPU | Radeon 8060S (RDNA 3.5, gfx1151, 40 CUs) |
| Memory | 128GB LPDDR5x-8000 (unified) |
| WiFi | MediaTek MT7925 (WiFi 7) |
| Ethernet | Dual Intel E610 10GbE |
What it fixes
| GTR9 Pro symptom on Linux | Fix applied |
| GPU hangs / MES errors under compute or game load | amdgpu.cwsr_enable=0, gpu_recovery=1, runpm=0 (cmdline + modprobe) |
| MT7925 WiFi 7 stalls and dropouts | mt7925e.disable_aspm=1 |
GPU clocks stuck at auto after boot | amdgpu-performance.service (Arch #72655 — udev timing unreliable) |
| CPU stuck at low EPP | cpupower-epp.service sets governor + EPP to performance |
| Wine/Proton fast NT sync missing | ntsync autoload + udev perms (kernel 6.14+) |
sp5100_tco, snd_acp_pci, eSCO dmesg noise | Module blacklist + bluetooth disable_esco=1 |
| Slow boot waiting for network | NetworkManager-wait-online masked |
| Sleep/suspend wake issues on new platform | All sleep targets masked (S0ix unreliable) |
| Random NVMe stalls | nvme_core.default_ps_max_latency_us=0 |
Plus 20 total kernel params, 5 environment vars (RADV/SAM, shader cache, NTSYNC), 13 added packages, 7 removed (incl. power-profiles-daemon, plymouth, ufw).
What’s installed (16 embedded files)
| Path | Purpose |
/etc/sdboot-manage.conf | Kernel cmdline (20 params) |
/boot/loader/loader.conf | systemd-boot tuning |
/etc/mkinitcpio.conf | Initramfs (zstd, amdgpu+nvme early KMS) |
/etc/modprobe.d/99-cachyos-modprobe.conf | Module options + blacklist |
/etc/modules-load.d/99-cachyos-modules.conf | ntsync autoload |
/etc/udev/rules.d/99-cachyos-udev.rules | ntsync perms, USB autosuspend off |
/etc/NetworkManager/conf.d/99-cachyos-nm.conf | iwd backend, powersave off |
/etc/iwd/main.conf | iwd as NM backend |
/etc/systemd/resolved.conf.d/99-cachyos-resolved.conf | mDNS off |
/etc/systemd/logind.conf.d/99-cachyos-logind.conf | Ignore power/lid |
/etc/environment | Global env vars |
/etc/conf.d/wireless-regdom | Regulatory domain |
cpupower-epp.service | Perf state services |
~/.config/fish/conf.d/10-ssh-auth-sock.fish | SSH agent socket |
~/.config/environment.d/50-gaming.conf | User-service gaming vars |
Quick start
git clone https://github.com/ryanmusante/ry-install.git
cd ry-install
./ry-install.fish # unattended (progress bar)
Safety
| Concern | Handling |
| Atomic writes | Temp file + mv for every install |
| Validation | All configs syntax-checked before install (mkinitcpio hooks, units, fish, modprobe) |
| WiFi creds | Never logged, connection file 0600 |
Requirements & limits
CachyOS or Arch • systemd-boot • fish 3.4+ • 2GB free on root • AMDGPU only (no Intel/NVIDIA) • ntsync features need kernel 6.14+ • Secure Boot untested.
Tested only on my GTR9 Pro 395 / 128GB. Other Strix Halo SKUs should work but may want threshold tuning. Issues / PRs welcome — particularly from non‑Pro GTR9 owners since I can’t test those.