Skip to content

feat: add support for ROG Zephyrus G16 GU606AX - #281

Merged
Ghoul4500 merged 2 commits into
OpenGamingCollective:mainfrom
Boogie61:feat/gu606ax-support
Aug 10, 2026
Merged

feat: add support for ROG Zephyrus G16 GU606AX#281
Ghoul4500 merged 2 commits into
OpenGamingCollective:mainfrom
Boogie61:feat/gu606ax-support

Conversation

@Boogie61

@Boogie61 Boogie61 commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Keyboard aura and lid Slash for the GU606AX. Board name GU606AX, aura device 0b05:19b6.

Aura

Right now it falls back to the default entry:

[WARN rog_aura::aura_detection] the aura_support.ron file has no entry for
this model: GU606AX, 19b6. Using a default

which means Static only. Instead of copying the GU605M entry I loaded one with all twelve modes through asusd_user_ledmodes.ron and tried each on the keyboard:

  • works: Static, Breathe, RainbowCycle, RainbowWave, Pulse
  • nothing visible: Star, Rain, Highlight, Laser, Ripple, Comet, Flash

The dead ones are all per-key effects — the keyboard is single-zone so they get accepted but nothing shows. That leaves the same set as GU605M, which is what the entry uses.

Slash

No GU606 branch in from_dmi(), so the ledbar is never picked up:

[INFO asusd::aura_types] Unknown or invalid slash: "19b6", skipping

Before assuming the GU605 format works I replayed the set-mode packets straight to the hidraw node, plus three variants: with the 0xd2 packet that set_mode() builds but never sends, with 0x10 instead of 0x19 in slot 2, and with the mode in slot 0. All four drove the ledbar fine, so the format is already right and only the enum variant and DMI match are needed.

After that everything works — detection, enable, brightness, all modes:

[INFO asusd::aura_types] Found slash type GU606_2026: 19b6

One thing if you test this

asusctl 6.3.11 can't drive Slash here, its CLI uses a fixed D-Bus object path so slash set --mode silently does nothing. Not related to this PR, already fixed on main by c47ccea, but a released CLI against a patched daemon looks like the patch is broken. Build the CLI from main.

Without an entry asusd falls through to the built-in default:

    [WARN rog_aura::aura_detection] the aura_support.ron file has no entry
    for this model: GU606AX, 19b6. Using a default

which leaves the keyboard with Static only and no zone control.

Verified on hardware (GU606AX, Intel Core Ultra 9 386H, USB 0b05:19b6)
by loading a candidate entry through /etc/asusd/asusd_user_ledmodes.ron
with all twelve basic modes enabled, then applying each one and watching
the keyboard:

    working  Static, Breathe, RainbowCycle, RainbowWave, Pulse
    no effect  Star, Rain, Highlight, Laser, Ripple, Comet, Flash

The seven that do nothing are the per-key effects; the controller accepts
the packets without error but the keyboard is single-zone, so nothing is
visible. RainbowWave is kept because it is accepted and cycles colour,
matching the existing GU605M/GU605C entries.

That leaves the same shape as its predecessor GU605M, which is what this
entry uses.
SlashType::from_dmi() had no branch for GU606, so the lid ledbar was
never claimed even though the device is present:

    [DEBUG asusd::aura_types] Testing for HIDRAW Slash
    [INFO  asusd::aura_types] Unknown or invalid slash: "19b6", skipping

The GU606AX uses the same 0x19b6 controller and the same packet format as
the GU605 2025 models, so this only adds the enum variant and the DMI
match; no packet changes are needed.

Verified on hardware before writing the patch: the set-mode packets that
asusd emits were replayed byte-for-byte to the raw hidraw node, alongside
three variants (with the unsent 0xd2 prepare packet, with the GA605 0x10
slot value, and with the mode written to slot 0). All four drove the
ledbar correctly, confirming the existing format is right for this model
and that nothing in rog-slash/src/usb.rs needs to change.

With the variant added, detection, enable, brightness and all animation
modes work:

    [INFO asusd::aura_types] Found slash type GU606_2026: 19b6

Note for testing: `asusctl` 6.3.11 cannot drive Slash on this machine
because its CLI resolves a fixed D-Bus object path. That is unrelated to
this change and is already fixed on main by c47ccea, but a 6.3.11 CLI
against a patched daemon will make the mode commands appear to do
nothing.
@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: bc7c4f04-3589-4d8e-a39d-e651ab907af2

📥 Commits

Reviewing files that changed from the base of the PR and between 61c39ff and 2e5ee59.

📒 Files selected for processing (3)
  • rog-aura/data/aura_support.ron
  • rog-slash/src/data.rs
  • rog-slash/src/usb.rs
📜 Recent review details
🔇 Additional comments (3)
rog-aura/data/aura_support.ron (1)

1046-1054: LGTM!

rog-slash/src/data.rs (1)

21-21: LGTM!

Also applies to: 36-36, 50-50, 73-74, 96-96

rog-slash/src/usb.rs (1)

34-34: LGTM!


📝 Walkthrough

Summary by CodeRabbit

  • New Features
    • Added support for the GU606 device.
    • Enabled advanced single-zone keyboard lighting modes, including static, breathing, rainbow, and pulse effects.
    • Added keyboard power control support.
    • Improved device detection and USB communication for compatible GU606 models.

Walkthrough

Added GU606 Aura support and GU606_2026 Slash support. The changes configure lighting behavior, detect the device from DMI data, parse its type, map product identifiers, and select USB report ID REPORT_ID_19B6.

Changes

GU606 support

Layer / File(s) Summary
GU606 Aura configuration
rog-aura/data/aura_support.ron
Adds the GU606 device entry with ga401q layout, supported lighting modes, single-zone lighting, and keyboard power control.
Slash detection and report mapping
rog-slash/src/data.rs, rog-slash/src/usb.rs
Adds SlashType::GU606_2026, product ID mappings, DMI detection, string parsing, and REPORT_ID_19B6 handling.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related issues

Possibly related PRs

Suggested labels: enhancement, rog-aura, rog-slash

Suggested reviewers: ghoul4500

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the primary change: support for the ROG Zephyrus G16 GU606AX.
Description check ✅ Passed The description gives a detailed change summary, motivation, tested hardware, observed limitations, and hardware verification results.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Comment @coderabbitai help to get the list of available commands.

@Ghoul4500 Ghoul4500 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your contribution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request rog-aura Keyboard / Aura RGB rog-slash Slash LED Bar

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants