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
asus-nb-ctrl fork and rewrite of it.
asus-nb-ctrl 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+.
asus-nb-ctrl, 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 asus-nb-ctrl) will no longer be helping troubleshoot it.
The DKMS modules are packaged for:
- Fedora 32, 33
- OpenSUSE Tumbleweed
- Ubuntu 20.04, 20.10
asus-nb-ctrl is packaged officially only for:
- Fedora 33
- OpenSUSE Tumbleweed
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 asus-nb-ctrl dkms-hid-asus-rog dkms-asus-rog-nb-wmi
dkms-asus-rog-nb-wmi is only required for G14 and G15 laptops.
NOTE: fedora 32 has a very old rust version which breaks the zbus crate currently, so the repo autobuild fails. You may need to manually install.
$ zypper ar --priority 50 --refresh https://download.opensuse.org/repositories/home:/luke_nukem:/asus/openSUSE_Tumbleweed/ asus-linux $ zypper ref $ zypper in asus-nb-ctrl dkms-hid-asus-rog dkms-asus-rog-nb-wmi
ubuntu - Modules only
$ 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 dkms-hid-asus-rog dkms-asus-rog-nb-wmi
20.10 as required.
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.
Clone the source from here then run:
$ make dkms $ make onboot
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.
Clone the source from asus-rog-nb-wmi, then follow the steps for
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