GPU Overclocking
Introduction
Overclocking has been a common practice among advanced users seeking to maximize the performance of their hardware. In the context of gaming, GPU overclocking is typically used to achieve higher frame rates, smoother gameplay, and improved performance in graphically intensive applications. Technically, GPU overclocking involves increasing the core and memory clock speeds of the graphics card beyond the manufacturer’s default settings to enhance rendering capabilities and throughput.
Overclocking your GPU can void manufacturer warranties, reduce hardware lifespan, and may cause system instability or permanent hardware damage. Proceed with caution and at your own risk. This guide assumes you have a fundamental understanding of hardware overclocking and is intended for users who have experience overclocking on Windows and are transitioning to Fedora Linux. |
Overclocking Guide
AMD
The AMD GPU driver is built into the Linux kernel and comes preinstalled with every Fedora installation. However, advanced features such as clock and voltage adjustment are disabled by default.
To enable these features, you need to add the following kernel parameter: amdgpu.ppfeaturemask=0xffffffff
This setting unlocks access to performance tuning capabilities such as manual clock and voltage adjustments.
Use the following command to add the kernel parameter.
sudo grubby --update-kernel=ALL --args='amdgpu.ppfeaturemask=0xffffffff'
To revert back and disable overclocking capabilities, you can use the following command.
sudo grubby --update-kernel=ALL --remove-args='amdgpu.ppfeaturemask=0xffffffff'
Overclocking Tools
Graphical tools for overclocking allow users to easily configure voltage and clock settings, fan curves as well as monitor temperature and power draw. Below are several recommended tools to help you get started with GPU overclocking:
-
CoreCtrl - https://gitlab.com/corectrl/corectrl
This guide will use LACT as the primary example for demonstrating the basic overclocking procedure.
Regardless of the tool you choose, it is strongly recommended to read the official documentation to familiarize yourself with its features. This will help in diagnosing any issues that may occur during the overclocking process. |
LACT Installation
The installation steps below require you to enable a third-party COPR repository. |
Below is a basic rundown of the steps required to install LACT:
-
Enable the COPR repository by running the following command in your terminal:
sudo dnf copr enable ilyaz/LACT
-
Refresh the repository and update packages if necessary:
sudo dnf update
-
Install LACT:
sudo dnf install lact
-
Enable the LACT service using
systemctl
:sudo systemctl enable --now lactd
-
Launch LACT from your application menu or launcher.
Basic Usage
Overclocking principles in Fedora (and any other Linux distribution) are the same as on Windows using AMD Adrenalin Software. The basic idea of adjusting clocks, power limits, and voltages applies here as well.
The only difference that might be new for first-time users is the AMDGPU performance levels and AMDGPU power profiles. Below is a basic explanation of AMD performance levels and power profiles, along with what they are used for.
Performance Levels
Performance Level | Description |
---|---|
Auto |
The AMDGPU driver dynamically selects the optimal power profile based on load and power budget. |
low |
AMDGPU will force the GPU and memory clocks to stay at the lowest possible power state. |
high |
AMDGPU will force the GPU core and memory clocks to run at the highest available power state. |
manual |
User can choose which power profile to use and apply it to the GPU’s power management. Power profile details are listed in the table below. |
Power Profiles
Power Profile | Description |
---|---|
BOOTUP_DEFAULT |
The default AMDGPU driver power parameter. |
3D_FULLSCREEN |
Power profile optimized for full 3D applications such as games. |
POWER_SAVINGS |
AMDGPU will try to use the lowest possible power state to save power whenever possible. |
COMPUTE |
Power profile optimized for compute workloads such as OpenCL and ROCm (e.g., local LLM inference). |
MANUAL |
User can manually adjust power profile parameters (for advanced users). |
Usage Example
Once LACT is installed and running, you can begin adjusting clock speeds, voltages, and applying power profiles. This section covers the basic steps to perform a safe and effective overclock using LACT.
Always increase clocks and voltages gradually, and test for system stability after each change. Overclocking too aggressively can cause crashes or hardware damage. |
-
Launch LACT from your application launcher.
-
On the main screen, you will see your GPU listed along with real-time stats such as temperature, clocks, voltage, and power draw.
-
Navigate to the OC section. This is where you can adjust the following parameters:
-
Maximum GPU Clock (MHz)
: Maximum targeted GPU core clock speed in MHz -
Maximum GPU Voltage (mV)
: Maximum GPU core voltage in milivolt -
Maximum VRAM Clock (MHz)
: Maximum GPU Memory clock speed in MHz
-
-
Start by increasing the GPU clock by a small increment (e.g., +25 MHz) and apply the settings. Do the same with the memory clock if needed.
-
Apply the changes by clicking the Apply button. The new values will take effect immediately.
-
Monitor your system for stability by running a game or benchmark. If the system is stable, you can try increasing the clocks slightly more. If it crashes or shows artifacts, dial back the settings.
-
Optionally, go to the Power Profile section and set the profile to
3D_FULLSCREEN
for gaming, orCOMPUTE
if you’re doing compute-heavy workloads. -
Once you find stable settings, you can save them as a profile in LACT for easy reuse.
LACT applies settings only when the daemon (lactd ) is running. To persist settings across reboots, make sure the service is enabled and your profile is saved.
|
You can use tools like Unigine Superposition or Unigine Heaven , or ingame benchmark to test performance and stability after applying overclock settings. You can use mangohud as detailed here.
|
Want to help? Learn how to contribute to Fedora Docs ›