Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

asusctl

The command-line client for the asusd daemon

asusctl talks to the asusd system daemon over D-Bus. Run asusctl info to check the daemon is reachable and see basic system information.

All examples assume asusd.service is running. If a command reports an error, check the daemon logs:

sudo journalctl -b -u asusd

Contents

info

Show the program version and system information, and list what your laptop supports.

asusctl info
asusctl info --show-supported
OptionDescription
--show-supportedList the supported core functions, platform properties, keyboard brightness levels, aura modes, aura zones, and aura power zones

profile

Platform profile management. The platform profile controls the power/thermal behaviour of the laptop and is mapped to the kernel’s platform_profile interface.

asusctl profile list            # list available profiles
asusctl profile get             # active profile, plus AC and battery profiles
asusctl profile set Performance # set the current profile
asusctl profile next            # cycle to the next profile

Available profiles:

Note

Available profiles vary by laptop and kernel support. The table below lists those that may be present. Run asusctl profile list to see the profiles your system actually exposes.

ProfileDescription
BalancedDefault profile
PerformanceMaximum performance, higher fan speed
QuietLower fan speed, reduced performance
LowPowerLowest power draw
CustomUses the custom fan curve of the same name

Profile names are case-insensitive. The AC and battery profiles can be set independently with -a and -b, which makes asusd switch profiles automatically when the power source changes:

asusctl profile set Quiet -b        # profile to use on battery
asusctl profile set Performance -a  # profile to use on AC
SubcommandDescription
listList the available profiles
getShow the active profile, the AC profile, and the battery profile
set <profile>Set the profile
nextSwitch to the next profile in the list
tuning [true|false]Enable or disable profile tuning; omit the argument to show the current state
OptionDescription
-a, --acWith set: also set the profile to use while on AC power
-b, --batteryWith set: also set the profile to use while on battery power

Profile tuning enables and disables the PPT (TDP) tuning group, which controls whether power limits set through the armoury interface are applied. When tuning is disabled, the updated PPT configuration is stored but only applied once tuning is enabled again:

asusctl profile tuning      # show current state
asusctl profile tuning true
asusctl profile tuning false

battery

Battery charge control.

asusctl battery info         # show the current charge limit
asusctl battery limit 80     # stop charging at 80%
asusctl battery oneshot      # one-shot full charge to 100%
asusctl battery oneshot 90   # one-shot charge to 90%
SubcommandDescription
infoShow the current battery charge limit
limit <20-100>Set the charge limit percentage
oneshot [percent]Perform a one-shot full charge; an optional target percent overrides the default of 100

fan-curve

Custom fan curves are only supported on specific models. The data format is a comma-separated list of exactly 8 points in the form 30c:1%,49c:2%,..., where each point is a temperature in degrees Celsius followed by a fan speed. If the % is omitted the fan speed range is 0-255. Temperatures and fan speeds must be non-decreasing along the curve, and temperatures above 100 °C are not recommended.

asusctl fan-curve --mod-profile Balanced --data 30c:1%,49c:2%,59c:3%,69c:4%,79c:31%,89c:49%,99c:56%,100c:58%
asusctl fan-curve --mod-profile Balanced --fan cpu --data 30c:1%,49c:2%,59c:3%,69c:4%,79c:31%,89c:49%,99c:56%,100c:58%

There are three fan profiles (Quiet, Balanced, and Performance), each linked to the platform profile of the same name. Enable or disable them:

asusctl fan-curve --mod-profile Balanced --enable-fan-curves true
asusctl fan-curve --mod-profile Balanced --enable-fan-curve true --fan cpu
asusctl fan-curve --mod-profile Balanced --default
asusctl fan-curve --get-enabled

If no profile is activated manually, the fan curve from the BIOS is used.

OptionDescription
--mod-profile <profile>The profile to modify. When given without any other option, prints the current curve data for that profile
--data <points>Set the fan curve data; requires --mod-profile
--fan <cpu|gpu|mid>Select the fan to modify; defaults to cpu. Required by --enable-fan-curve
--enable-fan-curves <true|false>Enable or disable all fan curves of a profile; requires --mod-profile
--enable-fan-curve <true|false>Enable or disable a single fan curve; requires --mod-profile and --fan
--defaultSet the active profile’s fan curves back to the defaults
--get-enabledPrint the fan curve data of the active profile

leds

Keyboard backlight brightness control.

asusctl leds set high    # brightness levels: off, low, med, high
asusctl leds get         # show the current brightness
asusctl leds next        # cycle to the next brightness level
asusctl leds prev        # cycle to the previous brightness level
SubcommandDescription
set <off|low|med|high>Set the keyboard brightness level
getShow the current keyboard brightness
nextToggle to the next brightness level
prevToggle to the previous brightness level

aura

Aura lighting control for the keyboard, logo, lightbar, and other zones.

aura effect

Cycle through the built-in factory modes:

asusctl aura effect --next-mode
asusctl aura effect --prev-mode

Or set a specific effect directly:

asusctl aura effect static -c ff00ff
asusctl aura effect breathe --colour ff0000 --colour2 0000ff --speed low
asusctl aura effect rainbow-cycle --speed med --zone one
asusctl aura effect rainbow-wave --direction left --speed med
asusctl aura effect stars --colour ff00ff --colour2 00ff00 --speed low
asusctl aura effect rain --speed med
asusctl aura effect highlight -c ff00ff --speed low
asusctl aura effect laser -c ff00ff --speed low
asusctl aura effect ripple -c ff00ff --speed low
asusctl aura effect pulse -c ff00ff
asusctl aura effect comet -c ff00ff
asusctl aura effect flash -c ff00ff
EffectOptions
static-c/--colour
breathe--colour, --colour2, --speed
rainbow-cycle--speed
rainbow-wave--direction, --speed
stars--colour, --colour2, --speed
rain--speed
highlight-c/--colour, --speed
laser-c/--colour, --speed
ripple-c/--colour, --speed
pulse-c/--colour
comet-c/--colour
flash-c/--colour

Every effect accepts --zone, which defaults to none (all zones).

OptionDescription
-c, --colour <hex>RGB value, e.g. ff00ff
--colour2 <hex>Second RGB value, e.g. ff00ff
--speed <low|med|high>Effect speed
--direction <up|down|left|right>Effect direction
--zone <zone>Zone for the effect; see the zone table below

Zones can be given as a number or a name:

ValueName
0none (all zones, default)
1one
2two
3three
4four
5logo
6lightbar-left
7lightbar-right

aura power

Enable or disable individual Aura zones per power state on newer (2021+) keyboards. The --boot, --awake, --sleep, and --shutdown switches enable the zone for that state; omitting a switch sets it to false:

asusctl aura power keyboard --awake
asusctl aura power lightbar --boot --awake
asusctl aura power lid --awake --sleep
asusctl aura power ally --shutdown
ZoneDescription
keyboardKeyboard zone
logoLogo zone
lightbarLightbar zone
lidLid zone
rear-glowRear glow zone
allyROG Ally zone
OptionDescription
--bootEnable power while the device is booting
--awakeEnable power while the device is awake
--sleepEnable power while the device is sleeping
--shutdownEnable power while the device is shutting down or hibernating

aura power-tuf

For older ROG and TUF laptops (product ID 0x1866):

asusctl aura power-tuf --awake true --boot false
asusctl aura power-tuf --awake false --keyboard
asusctl aura power-tuf --boot true --lightbar
OptionDescription
--awake <true|false>Whether the LEDs are enabled while awake
--boot <true|false>Whether the boot animation is enabled
--sleep <true|false>Whether the suspend animation is enabled
--keyboardApply the state to the keyboard zone
--lightbarApply the state to the lightbar zone

anime

AniMe Matrix display control. The display can be configured with options on the anime command:

asusctl anime --enable-display true
asusctl anime --enable-display false
asusctl anime --brightness low        # brightness: off, low, med, high
asusctl anime --clear                 # clear the display
asusctl anime --enable-powersave-anim true
asusctl anime --off-when-unplugged true
asusctl anime --off-when-suspended true
asusctl anime --off-when-lid-closed true
OptionDescription
--enable-display <true|false>Enable or disable the display
--enable-powersave-anim <true|false>Enable or disable the built-in run/powersave animation
--brightness <off|low|med|high>Set the global base brightness
--clearClear the display
--off-when-unplugged <true|false>Turn the display off when external power is unplugged
--off-when-suspended <true|false>Turn the display off when the laptop suspends
--off-when-lid-closed <true|false>Turn the display off when the lid is closed
--override-type <GA401|GA402|GU604|G635L|G835L>Override the display type if it is not detected automatically

Display an image or animation:

asusctl anime image --path ./image.png
asusctl anime pixel-image --path ./image.png
asusctl anime gif --path ./animation.gif --loops 3
asusctl anime pixel-gif --path ./animation.gif --loops 0
SubcommandOptions
image--path (required), --scale (default 1.0), --x-pos (default 0.0), --y-pos (default 0.0), --angle (default 0.0, radians), --bright (default 1.0)
pixel-image--path (required), --bright (default 1.0)
gif--path (required), --scale, --x-pos, --y-pos, --angle, --bright, --loops (default 0)
pixel-gif--path (required), --bright, --loops (default 0)

--bright expects a value between 0.0 and 1.0. --loops 0 plays the GIF infinitely.

Change the built-in boot/awake/sleep/shutdown animations with set-builtins:

asusctl anime set-builtins --awake BinaryBannerScroll --set true
asusctl anime set-builtins --shutdown SeeYa --set true
OptionDescription
--boot <animation>Animation shown while booting
--awake <animation>Animation shown while awake
--sleep <animation>Animation shown while sleeping
--shutdown <animation>Animation shown while shutting down
--set <true|false>Apply the animations (required)

Available built-in animations:

Power stateAnimations
--bootGlitchConstruction, StaticEmergence
--awakeBinaryBannerScroll, RogLogoGlitch
--sleepBannerSwipe, Starfield
--shutdownGlitchOut, SeeYa

slash

Slash LED bar control (found on some Zenbook models).

asusctl slash get      # show the current state
asusctl slash list     # list the available animations

Configure the slash light bar:

asusctl slash set --enable
asusctl slash set --disable
asusctl slash set --brightness 200
asusctl slash set --interval 3
asusctl slash set --mode Flow
asusctl slash set --show-on-boot true
asusctl slash set --show-on-shutdown true
asusctl slash set --show-on-sleep false
asusctl slash set --show-on-battery true
asusctl slash set --show-battery-warning true
SubcommandDescription
getShow the current state of the slash LED bar
setSet slash LED bar options
listList the available animations
OptionDescription
--enableEnable the slash LED bar
--disableDisable the slash LED bar
-l, --brightness <0-255>Set the brightness value
--interval <0-5>Set the interval value
--mode <mode>Set the animation mode; use slash list for the options
-B, --show-on-boot <true|false>Show the animation on boot
-S, --show-on-shutdown <true|false>Show the animation on shutdown
-s, --show-on-sleep <true|false>Show the animation on sleep
-b, --show-on-battery <true|false>Show the animation on battery power
-w, --show-battery-warning <true|false>Show the low-battery warning animation

Available animations: Static, Bounce, Slash, Loading, BitStream, Transmission, Flow (default), Flux, Phantom, Spectrum, Hazard, Interfacing, Ramp, GameOver, Start, Buzzer.

scsi

SCSI drive LED control (some laptops expose these LEDs):

asusctl scsi --enable true
asusctl scsi --list
asusctl scsi --mode RainbowCycle --speed med --direction forward
asusctl scsi --mode Static --colours ff0000 --colours 00ff00
OptionDescription
--enable <true|false>Enable or disable the SCSI drive LEDs
--mode <mode>Set the LED mode; use --list for the options
--speed <slowest|slow|med|fast|fastest>Set the animation speed
--direction <forward|reverse>Set the animation direction
--colours <hex>Set the LED colours; repeat the option for up to 4 colours
--listList the available animations

Available modes: Off, Static, Breathe, Flashing, RainbowCycle, RainbowWave, RainbowCycleBreathe, ChaseFade, RainbowCycleChaseFade, Chase, RainbowCycleChase, RainbowCycleWave, RainbowPulseChase, RandomFlicker, DoubleFade.

armoury

Read and write firmware attributes exposed by the asus-armoury kernel driver. Run asusctl armoury list to see the attributes supported by your laptop.

asusctl armoury list               # list supported firmware attributes
asusctl armoury get dgpu_disable   # read an attribute
asusctl armoury set dgpu_disable 1 # set an attribute
asusctl armoury set dgpu_disable -1 # reset an attribute to its default
SubcommandDescription
listList all firmware attributes supported by asus-armoury
get <property>Get the value of a firmware attribute
set <property> <value>Set a firmware attribute; a value of -1 resets it to the default

Attributes of type PPT (power limits) are only applied to the hardware while profile tuning is enabled; otherwise the new value is stored and applied the next time tuning is turned on.

See GPU Switching for the full dGPU/MUX story.

backlight

ScreenPad backlight control (Zenbook models with a ScreenPad):

asusctl backlight --screenpad-brightness 80
asusctl backlight --screenpad-gamma 1.2
asusctl backlight --sync-screenpad-brightness true

With no options, the current screenpad settings are printed.

OptionDescription
--screenpad-brightness <0-100>Set the screen brightness
--screenpad-gamma <0.5-2.2>Set the screenpad gamma brightness; 1.0 is linear
--sync-screenpad-brightness <true|false>Sync the screenpad brightness with the primary display

xgmled

XG Mobile LED control:

asusctl xgmled get      # show the current LED state
asusctl xgmled set 1    # 1 = on, 0 = off
SubcommandDescription
getShow the current XG Mobile LED state
set <0|1>Set the XG Mobile LED on (1) or off (0)

Something not working?

See the FAQ for common issues. In most cases the answer is in the asusd logs:

sudo journalctl -b -u asusd