English | Nederlands
My Linux setup for the ASUS ROG Zephyrus G16 GA605WV (2024), written down and scripted. It is how I like Linux, and how I get a fresh install to exactly that state: a menu that shows what is already done on your machine, explains every step and links to the guide page for it. You don't need this exact laptop. Only the pages and script items that talk to its hardware are specific to the G16, everything else works on any machine.
Browse the guides: zephyrus-linux.thectic.nl
curl -LO https://zephyrus-linux.thectic.nl/scripts/zephyrus-setup.py
python3 zephyrus-setup.py # the menu
python3 zephyrus-setup.py apply --recommended --dry-run # or just look at the planThe setup script shows what is done and what is still open, explains what applying each item would do and links to the guide for it. Nothing changes until you have seen the plan and confirmed it. Check the SHA-256 on the script's page before you run it. Applying is built for CachyOS and other Arch-based systems with GNOME.
- Guides for CachyOS and Bazzite: the settings and software I actually use, and why. Pages about the laptop's own hardware (the ASUS tools, brightness, the Wi-Fi card, the color profiles) are G16-specific. The GNOME desktop, security, applications, virtualization and gaming pages work on any machine.
- A setup script that turns most of that into a menu, with a "learn more" link per item.
- Dedicated scripts for the harder fixes (brightness in every GPU mode, Wi-Fi tuning, eduroam), which the setup script can open for you after checking them against the SHA-256 published in the guides.
This is my own setup, not a neutral survey. It is opinionated: my favorite settings and the software I actually use, on the one laptop I own. I wrote it down so I can rebuild the machine quickly, and so others who like the same things get there faster. I'm not a developer, just someone who switched to Linux and ran into a lot of things that didn't work out of the box, and much of this is what I figured out along the way.
CachyOS (Arch) is my daily driver, mostly because some of what I do wants a bit more direct control over the system than an atomic image gives you. I used to dual-boot it with Bazzite (Fedora Atomic) on the same machine and still keep those guides. The site's Getting Started page explains the choice, and a switcher at the top of every page moves between the two sets of guides.
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, Universal Blue, 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.160.0 (or greater)
- Go (required for Hugo modules)
- Git
- VS Code
On Arch Linux / CachyOS:
sudo pacman -S hugo goClone the repository:
git clone https://github.com/THectic-NL/Zephyrus-Linux.git
cd Zephyrus-LinuxHugo automatically downloads the theme module on first run.
Run the development server:
cd src
hugo serverThe site is available at http://localhost:1313/. Hugo watches for file changes and reloads automatically.
Build for production:
cd src
hugo --gc --minifyThe output is written to ./src/public/. On push to main, GitHub Actions builds the site and deploys it to Bunny.net (Storage zone + Pull Zone) at zephyrus-linux.thectic.nl.
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 src/static/images/ (converts and removes originals):
cd src/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, now maintained under the Open Gaming Collective. Luke Jones has been a major driving force, and numerous contributors have submitted kernel patches, many of which are now merged into mainline Linux, making modern ASUS ROG laptops genuinely usable on Linux. - G-Helper: The Windows tool whose way of handling ASUS color profiles (a per-model zip from ASUS's CDN, offered as Native, sRGB, DCI-P3 and Display P3) is the model for the color modes in the setup script.
- CachyOS: An Arch-based distribution with extensive hardware-specific tuning: 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. One of the two distributions these guides cover.
- Bazzite / Universal Blue: The people who make the atomic Fedora images this laptop runs well on, and who have contributed many of the patches that make it perform better. The other distribution these guides cover.
- 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.
