There is an amazing developer over in the git that has been working hard to get the FN keys to work and keyboard back light among other things on the rog zephyrus series to work. The program is called rog-core at the moment, I believe a name change is coming. After some bumps in the road and some searching here on the forum and help for the rog-core dev. I have been able to get this to work on my Asus ROG Zephyrus GA502DU. The FN keys for keyboard light, screen brightness, fan speed, enable disable track pad. You also can set a charge limit for the laptop as well and can confirm that is working as well on solus. You can custom map the rog-key, there is a list of limited functions on the git.
First step is to make sure you have the devel tools (which include llvm and make) installed with this command
sudo eopkg install -c system.devel
You will also need to install git as well sudo eopkg install git
This next part has to be done before installing cargo, cargo bundles with rust and the following step wont work with rust already installed
After that you will need to follow this link and run the command listed https://rustup.rs/ it installs rustc
After that is installed you will need to install cargo
and llvm-clang
, on the git there are 2 other packages listed they are libusb and libdbus. I did not install those with the listed package names. I was able to still get this to install and work.
After you get all the required packages to compile you will now clone the repo
'git clone https://github.com/flukejones/rog-core.git'
Open a terminal in the rog-core location and run make
and sudo make install
if both complete with out errors then simply reboot the system and you should now have a pretty much functional keyboard.
As far as trouble shooting goes if you run into issues, I will try my best to help but there is a discord listed in the github. Seeing as how solus is a small independent distro and community the dev did warn of possible issues. As of right now I am typing this with it installed and working fully. There is a patch to add better stability and functionality to it. The Solus Devs rather you not mess with the kernel and if you do you are shit out of luck if something goes wrong.