https://github.com/m0ppers/g14-perf-control
Utility to control performance related settings on the Asus Zephyrus G14
https://github.com/m0ppers/g14-perf-control
asus fan g14 profiles
Last synced: 4 months ago
JSON representation
Utility to control performance related settings on the Asus Zephyrus G14
- Host: GitHub
- URL: https://github.com/m0ppers/g14-perf-control
- Owner: m0ppers
- License: unlicense
- Created: 2020-10-31T16:32:09.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-01-12T16:44:01.000Z (over 3 years ago)
- Last Synced: 2025-12-07T22:28:36.706Z (6 months ago)
- Topics: asus, fan, g14, profiles
- Language: Rust
- Homepage:
- Size: 11.7 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# g14-perf-control
Small utility to set performance related settings on your Asus G14.
Alternative to https://gitlab.com/asus-linux/asus-nb-ctrl
This utility only does the basic stuff. Just setting fan profiles and boost settings.
asus-nb-ctrl does A LOT more (dbus, notify, gpu settings etc.) but needs to run as a daemon
and this utility just needs to run on demand.
```
g14-perf-control 0.1.0
A small tool to control performance settings on your Asus G14
USAGE:
g14-perf-control [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-c [default: /etc/g14-perf-control.toml]
SUBCOMMANDS:
help Prints this message or the help of the given subcommand(s)
info Print current profile
set Set to a specific profile
toggle Toggle profile
```
## Configuration
An example file is being distributed. All settings are optional. If you don't set a setting
`g14-perf-control` will not change that setting.
If you leave out fan curves the tool will still set the fan profile but leave
curves as they are (meaning the G14 firmware does whatever it does for that profile).
The profiles are fixed so you can't add custom profiles and have to work with
`normal`, `boost` and `silent` because the kernel module supports exactly these.
`g14-perf-control` needs write access to:
```
/sys/devices/system/cpu/cpufreq/boost
/sys/devices/platform/asus-nb-wmi/throttle_thermal_policy
```
Either you have some magic udev rules or you likely need to `sudo` when executing `g14-perf-control`.
Information about configuring fan curves can be found here:
https://docs.rs/rog_fan_curve/0.1.7/rog_fan_curve/#config-string-format
### Sway integration
.config/sway/config
```
bindsym XF86Launch4 exec sudo g14-perf-control toggle
```
(needs passwordless sudo for that command. See sudo)
### Waybar integration
Waybar allows updating widgets via signals. By setting `waybar_notify` you can integrate with waybar
and `g14-perf-control` will trigger updates to your widget.
Example setup:
.config/waybar/config
```
[...]
"modules-right": ["idle_inhibitor", "custom/asus-laptop", "pulseaudio", "network", "network#wifi", "cpu", "memory", "temperature", "battery", "clock", "tray"],
[...]
"custom/asus-laptop": {
"format": " {}",
"interval": "once",
"signal": 1,
"exec": "g14-perf-control info"
},
[...]
```
/etc/g14-perf-control.toml
```
waybar_notify = 1
```
Note that signal and waybar_notify have to match.