English | Nederlands
CachyOS on the ASUS ROG Zephyrus G16 GA605WV (2024). My personal setup log: documenting what worked, what didn't, and how I fixed it.
Browse the full documentation site: zephyrus-linux.stensel.nl
This is my personal setup log for running CachyOS on this laptop. I'm not a software engineer or developer: just someone who switched to Linux and ran into a lot of things that didn't work out of the box. I figured I'd write it all down so others don't have to go through the same trial and error I did.
I'm still actively testing and experimenting: things may change, break, or turn out to be wrong. Everything here is based on my own experience and should be taken as-is, at your own risk.
I am not affiliated with, endorsed by, or acting on behalf of ASUS, NVIDIA, Microsoft, CachyOS, or any other company or project mentioned here.
This documentation site is built with Hugo using the Hextra theme. The theme is managed as a Hugo module (via Go modules, no git submodules).
Prerequisites:
- Hugo extended v0.157.0 (built with this version)
- Go (required for Hugo modules)
- Git
On Arch Linux / CachyOS:
sudo pacman -S hugo goClone the repository:
git clone https://github.com/Stensel8/Zephyrus-Linux.git
cd Zephyrus-LinuxHugo automatically downloads the theme module on first run.
Run the development server:
hugo serverThe site is available at http://localhost:1313/. Hugo watches for file changes and reloads automatically.
Build for production:
hugo --gc --minifyThe output is written to ./public/. On push to main, GitHub Actions builds and deploys to GitHub Pages automatically.
All images in this repository use the AVIF format: open, royalty-free, and more efficient than PNG or JPEG at equivalent quality. AVIF is the modern standard for web images.
To convert PNG screenshots to AVIF, install avifenc from the libavif package:
sudo pacman -S libavifBatch convert all PNGs in static/images/ (converts and removes originals):
cd static/images
for f in *.png; do avifenc -q 80 -s 6 "$f" "${f%.png}.avif" && rm "$f"; done-q 80: 80% quality (0–100 scale, 100 = lossless)-s 6: encoder speed (0 = best compression, 10 = fastest)
This project wouldn't exist without the work of these people and communities:
- ASUS Linux community: The project behind
asusctlandrog-control-center. Luke Jones has been a major driving force, but numerous contributors have submitted kernel patches, many of which are now merged into mainline Linux, making modern ASUS ROG laptops genuinely usable on Linux. - CachyOS: The distribution powering this setup. CachyOS is an Arch-based distro with extensive hardware-specific optimizations: an improved scheduler (BORE/EEVDF), better power management, dynamic refresh rate support, and built-in drivers for both the AMD iGPU and NVIDIA dGPU, including integrated GPU switching. Of all the distributions I tested (including Fedora, which came close), CachyOS is by far the strongest on this device.
- Foxboron/sbctl: Secure Boot key management tool used to enroll custom keys and sign the kernel and EFI binaries. Essential for keeping Secure Boot enabled with a custom kernel.
- sched-ext / scx_lavd: The Linux scheduler extensibility framework powering the
scx_lavdCPU scheduler. Excellent latency and responsiveness for desktop and gaming workloads. - lz42/libinput-config: Kernel-level workaround for GNOME/Wayland's missing scroll speed setting, intercepting libinput events before they reach the compositor.
- Yubico/pam-u2f: PAM module enabling FIDO2/WebAuthn hardware token authentication for sudo and the lock screen. Used alongside
systemd-cryptenrollfor full-disk encryption unlock via YubiKey. - Looking Glass: Low-latency GPU passthrough display project. Didn't work on this hardware, but the project and documentation are excellent.
- Hugo: The static site generator used to build the documentation site.
- Hextra: The Hugo theme powering the documentation site.
This project is licensed under the MIT License.
