Garuda Linux by default is configured for to provice the best performance out of the box on Desktop. Naturally this will cause problems if you're trying to use Garuda on a laptop. So follows a basic guide to what you can do to both configure and tune Garuda to run on your laptop.
Before we begin ensure your system is up-to-date with a good old fashioned
sudo pacman -Syu
This will ensure you have no issues down the line due to conflicts between older and newer packages.
You can use
pamac better known as
Add/Remove Software to do everything and it will take care of updating for you if you're not comfortable with the terminal yet. If you do encounter an error consider searching the forum as other people may have already found the solution. It helps keep the forum clean and organized.
First we start with removing the
gamemode packages from your install.
pacman -R performance-tweaks gamemode
These make your hardware run at their peak performance all the time which is not possible on a laptop and will cause it to overheat which usually leads to a crash.
Step 2: Out of the box, part of the garuda customization is that it ships with
linux-zen kernel. This in similar fashion is not optimized for laptop use so must be removed. However since we are talking about the kernel you want to ensure you have another installed first before you remove your only one.
By default Garuda ships with only the zen kernel. If you're reading this for a fresh install Garuda Setup Assistant will ask you to install from a selection of kernels and you can use that. Just select
linux-lts from the options.
Otherwise install the
linux-lts kernel from your installer of choice. Below we are using
pacman like the rest of this guide.
sudo pacman -S linux linux-lts
linux-lts kernels are better suited for laptop use as they have no tweaks. Ideally you want to be on the
linux kernel for gaming as it has the latest and greatest performance improvements, however sometimes things break and if you don't have the time to look into it you can simply boot using the lts kernel and that usually solves the issue. Alternatively you could just use lts and not bother with the bleeding edge one.
The zen kernel is tuned for max performance as well and is mainly targeted at desktops. So it needs to be removed. Since we have two other kernels installed now we can safely remove it.
sudo pacman -R linux-zen
Step 3: Now that Garuda's tweaks have been removed we will need to install a few packages to manage the CPU and keep it from overheating and crashing the system.
sudo pacman -S auto-cpufreq thermald
While they are downloading lets go through them one by one:
auto-cpufreq: This package as the name implies will throttle your CPU down when it reaches a set temperature threshold. This is vital for doing any intensive task on your laptop if you're running linux. It ensures you get the best performance without overheating your laptop. Once installed simply enable and start the service with
sudo systemctl enable auto-cpufreq.service sudo systemctl start auto-cpufreq.service
You can check what its doing with
auto-cpufreq --stats to ensure its running properly.
thermald: This package as the name implies helps to regulate your system temperature by monitoring system temps and using available cooling methods to keep your laptop from overheating.
Once again lets enable and start it through
sudo systemctl enable thermald.service sudo systemctl start thermald.service
More information can be found through its man page
Once started it will take care of everything on its own. Cool! (pun intended)
On top of all this Garuda also has a package of tweaks for powersaving on laptops aptly named
powersave-tweaks that you can install.
This guide is suitable for every laptop uptil this point. Now lets move onto laptops with dGPUs. I will be focusing on NVIDIA gpus because those are the only laptops I have. If you own an AMD dGPU feel free to reply to this post with your input.
Step 4: For laptops using optimus gpus you will need to first install the nvidia drivers.
sudo pacman -S nvidia nvidia-lts nvidia-prime nvidia-utils
nvidia-dkms is optional if you're running a custom kernel. However afaik there isn't a kernel that is tuned for laptop use yet so for now we don't need to worry about it.
Once that is done we need to install
sudo pacman -S optimus-manager optimus-manager-qt
optimus-manager This package will allow you to quickly swap between three modes of operation on your laptop: intel, hybrid and nvidia.
Intel mode will completely turn your nvidia gpu off making it inaccessible to the system.
Hybrid mode uses the intel gpu for everything. However you can use
prime-run to run games or other high-performance applications on the dGPU.
Nvidia will only use the dGPU for everthing.
Once again use systemctl to enable and start the service.
sudo systemctl enable optimus-manager.service sudo systemctl start optimus-manager.service
optimus-manager-qt This provides a handy little indicator in your notification bar to easily tell what mode you are running on. It also proivdes a settings ui to manage optimus-manager.
You can access teh settings by right-clicking on the icon and choosing settings.
In the settings first ensure
launch at startup is ticked. Then click on optimus and you can choose which mode to startup in from
startup mode option.
Most important however is to goto Nvidia tab and setting
dynamic power management from
Fine. This ensure the behaviour mentioned above for Hybrid mode.
That is all! Congratulations ! Now your garuda setup is optimized for laptop use. All of these tools can be configured and customized to your liking so be sure to check out their respective pages. I will add and update this guide as much as I can overtime. Thanks!
TODO: Add powertop and laptop mode tools.