After lots of trial and error, I got asusctl to work on my 2020 ASUS G14 running Ubuntu 22.04 LTS. Here’s a guide on how I did it.
EDIT: I recently hopped to Linux Mint 21 LTS and I can confirm that this method also works on Mint running the stock kernel 5.15! The kernel upgrade wasn’t necessary and I found it to cause stability issues but you’re mileage may vary.
EDIT: Hopped to Pop!_OS 22.04 LTS and can now confirm that this method works and even works now with Fan Curves! If you have an kernel older then 5.17, then the Fan Curves won’t show up it seams. Pop uses kernel 6.0.6.
# Update kernel to 5.17 or higher first and reboot (I ended up installing 6.0.6 and worked fine). Skip this step if you’re on Pop!_OS 22.04 LTS as it comes with 6.0.6!
EDIT: I ended up removing the updated kernel as I found it to be rather unstable later on, however it still appeared to work on my 2020 G14. I tested on Mint 21 with kernel 5.15 and it was able to compile successfully. It might not be needed for compiling but I haven’t tested it.
mkdir kernelupdate cd kernelupdate
# For 6.0.6:
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0.6/amd64/linux-headers-6.0.6-060006-generic_6.0.6-060006.202210290932_amd64.deb wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0.6/amd64/linux-headers-6.0.6-060006_6.0.6-060006.202210290932_all.deb wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0.6/amd64/linux-image-unsigned-6.0.6-060006-generic_6.0.6-060006.202210290932_amd64.deb wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0.6/amd64/linux-modules-6.0.6-060006-generic_6.0.6-060006.202210290932_amd64.deb sudo dpkg -i *.deb
# Or 5.17:
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.17/amd64/linux-headers-5.17.0-051700-generic_5.17.0-051700.202203202130_amd64.deb wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.17/amd64/linux-headers-5.17.0-051700_5.17.0-051700.202203202130_all.deb wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.17/amd64/linux-image-unsigned-5.17.0-051700-generic_5.17.0-051700.202203202130_amd64.deb wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.17/amd64/linux-modules-5.17.0-051700-generic_5.17.0-051700.202203202130_amd64.deb sudo dpkg -i *.deb
# Afer reboot, verify that the kernel is installed by running
uname -r
# Download asusctl
EDIT: I had to install 4.5.0 as ‘asusctl-main’ failed to compile due to missing dependencies. (‘cargo:warning=`”pkg-config” “–libs” “–cflags” “pango” “pango >= 1.38″` did not exit successfully: exit status: 1’)
wget https://gitlab.com/asus-linux/asusctl/-/archive/4.5.0/asusctl-4.5.0.zip
# Unzip into folder
unzip asusctl-4.5.0.zip
# cd into unzipped folder
cd asusctl-4.5.0
# Update repos and install dependencies
sudo apt update sudo apt upgrade sudo apt install gcc pkg-config openssl libasound2-dev cmake build-essential python3 libfreetype6-dev libexpat1-dev libxcb-composite0-dev libssl-dev libx11-dev libfontconfig1-dev curl libclang-dev libudev-dev checkinstall
# Install rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env"
# Compile asusctl and install
make sudo make install
# Start asusctl daemons
systemctl daemon-reload && systemctl restart asusd
There are a few quarks I thought I’d mention.
- The icon doesn’t show the ROG logo as it should in the launcher, however it does open. (EDIT: It did show up for me later on.)
- Clicking the ‘x’ to close it crashes it and requires it to be Force Quitted. Right clicking the icon from the left hand launcher and clicking quit works fine however. (EDIT: Reverting to the stock kernel seamed to fix this but your mileage may vary.)