In the begining there was light. But it was not controlled. Then rog-core was birthed and all was bright and colourful. Eventually rog-core grew arms and legs and sort of power-profiles and other system control features.
There were issues though,
rog-core couldn't really recover from some problems such as the device sleeping or being late to initialise, and to fix these problems would take too much effort and time for little gain.
rog-core was stripped out and moved to the
asus-hid kernel module, which is in the process of being upstreamed (specifically the keyboard init sequence and all Fn key functions). This has allowed for a far better and more robust keyboard driver, and for
rog-core to be depreciated for the
asusctl fork and rewrite of it.
asusctl currently controls:
- CPU power profiles according to fan mode level
- Battery charge limit setting
- RGB keyboard modes
- AniMe matrix display (CLI tools coming soon)
More features will appear as time goes on. Do note that
rog-core is depreciated and will not be supported any longer.
Currently there are either two or three parts to install depending on your laptop.
hid-asus-rogdkms module for the keyboard. This is not required for kernel version 5.11+.
asus-rog-nb-wmidkms module for G14-G15 support. This is not required for kernel version 5.9+.
asusctl, not a hard requirement but does some nice things
A quick run of
lsusb | grep 1866 in a terminal will tell you if you have the N-Key type keyboard on USB, if you do then
asus-hig-rog dkms module will work for you.
NOTE: You will have an easier time if you install your distro Nvidia drivers first. The same applies to manually installed Nvidia drivers.
As of now, the only officially supported distributions are Fedora 33 and OpenSUSE Tumbleweed. Arch is not supported, and I (the maintainer of asusctl) will no longer be helping troubleshoot it.
The DKMS modules are packaged for:
- Fedora 32, 33
- OpenSUSE Tumbleweed
- Ubuntu 20.04, 20.10
asusctl is packaged officially only for:
- Fedora 33
- OpenSUSE Tumbleweed
You must first:
- update your distro
- install Nvidia drivers
- remove any distro provided methods of graphics switching (like prime)
The easiest way to install is to add the provided repo. Create the file
[asus] name=asus failovermethod=priority baseurl=https://download.opensuse.org/repositories/home:/luke_nukem:/asus/Fedora_33/ enabled=1 gpgcheck=0
You can then install all required packages with:
$ dnf update --repo asus --refresh $ dnf install asusctl dkms-hid-asus-rog dkms-asus-rog-nb-wmi
$ zypper ar --priority 50 --refresh https://download.opensuse.org/repositories/home:/luke_nukem:/asus/openSUSE_Tumbleweed/ asus-linux $ zypper ref $ zypper in asusctl dkms-hid-asus-rog dkms-asus-rog-nb-wmi
$ echo "deb https://download.opensuse.org/repositories/home:/luke_nukem:/asus/xUbuntu_20.04/ /" > /etc/apt/sources.list.d/asus.list $ wget -q -O - https://download.opensuse.org/repositories/home:/luke_nukem:/asus/xUbuntu_20.04/Release.key | apt-key add - $ apt-get update $ apt-get install asusctl dkms-hid-asus-rog dkms-asus-rog-nb-wmi
21.04 as required.
NOTE: Distro versions
20.10 will not build the latest 3.4+ version of asusctl due
to the rust compiler they ship with being ancient. You will be better off updating to
which will also get you the benefits of a 5.11 kernel.
Are you willing to create and maintain packaging? Open an issue on the website repo.
For the DKMS modules you will need to install your distros dev package for the kernel, make tools, dkms, and C compiler.
git clone https://gitlab.com/asus-linux/hid-asus-rog && cd hid-asus-rog
dkms add .
dkms build hid-asus-rog/1.0.0
dkms install hid-asus-rog/1.0.0
and then reboot. On kernel load you should see the keyboard backlight flick as the keyboard is initialised, you can also test the keys such as screen-brightness, keyboard backlight up/down etc. At this point if you only need keyboard functions then you're done.
git clone https://gitlab.com/asus-linux/asus-rog-nb-wmi && asus-rog-nb-wmi
dkms add .
dkms build asus-rog-nb-wmi/1.0.0
dkms install asus-rog-nb-wmi/1.0.0
Please see the repository for guidance.
If you added the distro repos then you will get updates the usual way. If you manually installed then you will need to use
git pull and follow the steps for build and install.
If you update your kernel while you have the dkms modules installed then you should not need to do anything, dkms will rebuild the modules for your kernel automatically.
Reboot and congratulations, everything is running now. Using
asusctl --help will provide some instructions on how/what to set up via CLI. You can also edit the following files:
/etc/asusd/asusd-ledmodes.toml, only useful for RGB keyboards, edit this to add or change supported modes and laptops
/etc/asusd/asusd.conf, for all laptops
Note: at some point the work done in the DKMS modules will make it in to the mainstream kernel, making the DKMS modules obsolete for that kernel version and above - the patches have been submitted and it is a matter of time. When that finally happens, we will add a note here.
Note2: systemd can sometimes be an issue for asusd in that asusd is possible to be loaded before the required modules are loaded. This issue will manifest as errors about missing functionality in the journal log. To counteract this you can add the following file:
# /etc/modules-load.d/asus.conf asus_wmi asus_nb_wmi asus_rog_nb_wmi hid_asus_rog