Specs:
- CPU: i5-13500H
- GPU: Intel Arc A350M 4GB
- Battery: 70Wh
- BIOS: Latest (v301 from 2023)
- OS: Fedora 42
Everything works as far as I'm aware. I've not tried the fingerprint sensor. The following is a (technical, sorry) guide to optimize battery life.
This information is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
The battery life was quite poor by default. At idle and minimum brightness, my laptop was using 22W which equated to only around 3 hours doing nothing. I was able to improve this to 3W at idle, theoretically equating to almost 24 hours instead of 3.
The CPU is limited to 15W on battery and 45W on charge. I find these to be sensible defaults so I left them as-is.
But the GPU is a problem. The dedicated graphics card requires 9W at idle just to stay online, which is insane.
Close all apps, disconnect your charger, and run the following in a terminal to setup powertop.
sudo dnf install powertop
sudo powertop --calibrate # (optional, takes around 15 minutes, will turn off your screen a few times)
After installing, run sudo powertop
to read your power draw e.g.
The battery reports a discharge rate of 22.68 W
Since the Arc dGPU takes a lot of power and isn't that much faster than the integrated Xe graphics, I just disabled it.
On some laptops, you can use supergfxctl --mode integrated
(see next section for setup) but it didn't work for me so I had to replace the driver....
First find the id of your Arc GPU. Mine is 04:00.0
:
$ lspci -nnk | grep -E "Arc|DG2" -A2
04:00.0 Display controller [0380]: Intel Corporation DG2 [Arc A350M] [8086:5694] (rev 05)
Subsystem: ASUSTeK Computer Inc. Device [1043:29ad]
Kernel driver in use: i915
Then replace the i915 (Intel graphics) driver with vfio-pci (normally used for VM passthrough) to stop it being used for display:
sudo dnf install driverctl
sudo driverctl set-override 0000:04:00.0 vfio-pci
After a reboot, you should be able to see vfio-pci in use and that the status is suspended
:
$ lspci -nnk -s 04:00.0
04:00.0 Display controller [0380]: Intel Corporation DG2 [Arc A350M] [8086:5694] (rev 05)
Subsystem: ASUSTeK Computer Inc. Device [1043:29ad]
Kernel driver in use: vfio-pci
Kernel modules: i915, xe
$ cat /sys/bus/pci/devices/0000:04:00.0/power/runtime_status
suspended
If you wish to re-enable the dGPU later, run:
sudo driverctl unset-override 0000:04:00.0 && reboot
You can get controls (including power settings) similar to MyASUS and Armoury Crate on Windows with asusctl:
sudo dnf copr enable lukenukem/asus-linux
sudo dnf install asusctl supergfxctl rog-control-center
sudo systemctl enable --now asusd supergfxd
Then you can launch ROG Control Center from your apps menu.