Change AMD Radeon GPU Core/Memory Clock Frequency
I've just discovered using radeon-profile
that my AMD Radeon R5 M330 is limited to 750MHz core/1000MHz memory on Ubuntu, but since that's too low (Core should be limited to 1030MHz) I want to increase the limit. I have tried some methods which include adding/modifying files in /sys/class/drm/card1/device/
, but even with root access (tried both sudo
and root terminal using sudo su
) it says permission denied. I haven't found any other methods.
I am not trying to overclock here because the OEM set the core clock speed for the GPU on Windows to 1030MHz, so I just want to set the limit on Ubuntu to what it's supposed to be.
TL;DR: How to change the clock speed limit for the core/memory of an AMD Radeon GPU?
Note: I'm using open-source driver radeon
with the padoka
PPA added.
radeon-profile: tool for changing profiles and monitoring some GPU parameters
Might wanna ask here: https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/open-source-amd-linux/37384-radeon-profile-tool-for-changing-profiles-and-monitoring-some-gpu-parameters/page14?83602-radeon-profile-tool-for-changing-profiles-and-monitoring-some-GPU-parameters=
The developer of the tool has been active at that forum.
I was able to achieve that with the help of this tutorial:
https://gist.github.com/Francesco149/0302fbb5e056f3339ae17d3c13257929
After downloading the Linux kernel source, I modified line 2985 of /linux-4.13.0/drivers/gpu/drm/radeon/si_dpm.c
from max_sclk = 75000;
to max_sclk = 103000;
, then rebuilt, installed the modified kernel, and rebooted my machine.
However, it includes rebuilding the whole Linux kernel and installing it, which if not done properly, it can cause the OS to break and maybe not even boot up. Also it takes a lot of time, as it took almost an hour to compile on my machine, so it is not an ideal solution.
Warning: Do this only if you know what you are doing, because you might break your OS, or even damage your hardware.
Another Warning: You should set max_sclk
to the clock frequency set by your machine's OEM or lower, unless you know what you are doing.
Update: The fix above is a hack. The proper fix would be to check first if your GPU is stable at the maximum core clock, then remove your GPU's ID from the list like in this patch, and submit your patch to the mailing list for it to be merged upstream.