Conversation
…sistence - Add kbd_rgb_mode/kbd_rgb_state sysfs support for TUF Gaming keyboards - Add systemd-tmpfiles config (90-ghelper.conf) for boot-time sysfs permissions - Add performance mode readback verification for kernel coupling detection - Update udev rules and install.sh for new TUF sysfs paths
Build ArtifactsBuilt from commit
Quick test: # Option 1: AppImage (easiest)
chmod +x GHelper-x86_64.AppImage
./GHelper-x86_64.AppImage
# Option 2: Native binary
chmod +x ghelper
./ghelper
|
Sync local installer with remote installer: add systemd-tmpfiles deployment and TUF keyboard sysfs paths that were missing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
kbd_rgb_mode/kbd_rgb_statesysfs attributes — the primary RGB interface for TUF Gaming keyboards, derived from kernel source and asusctl analysissystemd-tmpfilesconfig to fix sysfs permissions lost on reboot when kernel modules are built-in (affects battery charge limit + platform_profile)throttle_thermal_policyandplatform_profileModels affected
Root cause analysis
Backlight / Aura controls do nothing (TUF)
Windows G-Helper calls
DEVS(0x00100056, [0xb4, mode, R, G, B, speed])directly via ATKACPI driver. Linux kernel exposes the same ACPI call through/sys/class/leds/asus::kbd_backlight/kbd_rgb_mode— but g-helper-linux was only writing tomulti_intensitywhich many TUF models don't have. Now routes TUF models throughkbd_rgb_modewith proper protocol (matching asusctl's implementation). Falls back tomulti_intensityifkbd_rgb_modedoesn't exist — no risk to other models.Battery limit ignored after reboot
Windows uses Task Scheduler to re-apply the limit at boot via direct ATKACPI. Linux kernel resets charge limit to 100% on every boot (
asus_wmi_battery_addsetsRSOC=100), and the sysfs file is created root-only (0644). Ifasus-wmiis built-in (common on Fedora), udev rules never fire. The newsystemd-tmpfilesconfig ensures the file is writable before G-Helper starts.Performance mode reverts to Standard after reboot (GA403UM)
Windows calls
DEVS(0x00120075, mode)directly — no intermediate layer. Linux has boththrottle_thermal_policyandplatform_profilewhich can be coupled in the kernel — writing one may reset the other. Added readback verification with automatic re-apply if the thermal policy was overridden.Files changed
src/Platform/Linux/LinuxAsusWmi.csSetKeyboardRgbMode(),SetKeyboardRgbState(),HasKeyboardRgbMode()src/USB/Aura.csApplyAura()/ApplyDirect()/ApplyPower()through kbd_rgb_mode/statesrc/Mode/ModeControl.csinstall/90-ghelper.confinstall/90-ghelper.rulesinstall/install.shTODO.md