AMD is starting to become the mainstream option for gamers nowadays with their CPUs & GPUs, allowing on-budget gamers to enjoy great performance for mostly half the price of the other vendors in the market like Intel and NVIDIA.
Sadly AMD does not provide its AMD Radeon software for Linux (The controlling program responsible of tweaking GPU & CPU), and hence Linux users have to find alternatives or develop their own in order to unlock the full potential of the parts they bought.
Luckily, a new game changer is finally available in market; Meet CoreCtrl.
CoreCtrl: Tweaking AMD’s CPUs & GPUs on Linux For Gaming
CoreCtrl is a free and open source program that enables AMD users on Linux to control and manipulate the settings of their GPUs & CPUs. Instead of using random Shell scripts and other command line utilities from all over the place to do that, CoreCtrl brings all the needed functionality into a one central place where everything can be controlled, with a beautiful user interface.
Using CoreCtrl, you can:
- Edit the running settings of your CPU & GPU (Fan speed, power, performance, governor and much more).
- Create different profiles in order to use them anytime with different workloads.
- Control and change your CPU governor and running speed.
- Control and change your GPU running mode and speed.
- Control all the available fans; Their speeds (how many RPMs), at which degrees to start working and under what conditions they should reach full utilization.
- Control and limit the power (Watts) given to your CPU and GPU.
- Monitor complete stats of your PC’s current working status, and much load is there on its parts.
- Apply different settings per application or game; E.g you can choose to automatically run a different profile for Steam and its games rather than everything else on your system.
- Many more features to discover by yourself.
CoreCtrl is both open source and free, and you can install it on your Linux distribution of choice right now.
The installation instructions are fully detailed on the GitLab page of the project. For Ubuntu/Mint users, you can add the following PPA and install it:
sudo add-apt-repository ppa:ernstp/mesarc sudo apt install corectrl
sudo dnf install corectrl
For Arch-based distributions:
sudo yay -Sy corectrl
Other distributions binaries or source code compilation instructions can be retrieved from the project’s page.
The profile view is the first thing you’ll see after you start CoreCtrl:
- Modify the global settings so that everything under the operating system will use these settings.
- Click on the “+” from the top right side in order to create a new profile, from which you’ll be able to specify which executable program do you want to apply special settings for (E.g /usr/games/steam).
After you open any profile, the following view will be shown for you:
You can control your GPU via:
Browse FOSS Post ad-free when you subscribe to PatreonBuy Some Coffee
- Specifying the speeds at which you would like your GPU to operate under, as well as set some running modes (Automatic, Fixed) for it.
- Specifying the power limit it may drain (Per Watts), the more power you give, the more performance you may get and vice versa. You can also choose some already-available power profiles as you can see.
- Choose at which temperatures should your GPU fans start to work. You know that GPUs start to get hot when games start loading, and hence the fans would automatically start working too. However, some configurations force the GPU to underperform so that a 60-70 temperature is not reached in order to heat less. But this sadly causes performance drawbacks, and the solution for it is simply to start your fans early at most of their power so that your GPU can continue operating without having to fall back to lower performance levels in order to prevent heating.
- You can also monitor the current performance metrics of your GPU as you can see from the graphs. CoreCtrl is very beautiful in this regard.
If you switch to the CPU tab, you’ll find the following view:
You can specify the CPU governor (CPU algorithm responsible for the performance) according to your needs. You can also choose the “Custom frequency” option in order to manually enter the CPU clock speeds you desire.
As you can see, you can save and import profile settings from the upper right-side menu (Don’t forget to save your settings once you finish tweaking).
Finally, there are some general information about your system CoreCtrl can display for you from the “System” tab on the bottom:
Useful to see what features do your CPU & GPU support.
Thanks for all of these features, you can for example:
- Tweak the general settings of your system to normal, easy levels that do not cause heating.
- Create separate profiles with different CPU & GPU options for various games/software that you desire on your system. For example, you can tell it run at maximum performance and power when running Steam games instead of everything else on your system.
- Export/Import profiles that work best for you.
- Keep tweaking until you reach a good performance level.
Just keep in mind that manipulating the power/performance levels is not generally recommended unless you know what you are doing. Most users in fact can generally gain 10-30 FPS in their games by simply starting the fans at early levels without modifying anything else at all in their systems.
So that could be a good option for you to try if you are newbie to these kinds of things, rather than burn your chips or shorten their virtual age.
More additional documentation and information about CoreCtrl and its usage can be found on its official wiki pages.
CoreCtrl is an amazing open source software that fulfills a unique use case for AMD users on Linux. Using this software users will be able to gain additional performance from the parts they have in their PCs, and may even decide to skip a hardware upgrade due to the performance gain it can give.
And it gives it quite easily; Just few clicks with a beautiful Qt-driven user interface that makes the operation very smooth and quick.
CoreCtrl is definitely a must-have for AMD users on Linux.