Does anyone know how to undervolt an APU (onexfly f1 pro)?

Does anyone know how to undervolt an APU? There are no parameters for this in LACT, and there's no information on the internet about this either.
Solution:
GitHub
FAQ
Adjust power management settings for Ryzen APUs. Contribute to FlyGoat/RyzenAdj development by creating an account on GitHub.
Jump to solution
26 Replies
皇家海星
皇家海星2mo ago
ryzenadj is included with bazzite, use that if your apu is known to work with it
皇家海星
皇家海星2mo ago
GitHub
GitHub - FlyGoat/RyzenAdj: Adjust power management settings for Ryz...
Adjust power management settings for Ryzen APUs. Contribute to FlyGoat/RyzenAdj development by creating an account on GitHub.
皇家海星
皇家海星2mo ago
if not, you can also try smokelessUMAF otherwise no I'd advise against undervolting on mobile APUs anyway, there is so little headroom that it's more effort than its worth for very little gain
Грюндик
ГрюндикOP2mo ago
A user from the official onexplayer Discord set the CPU and GPU to -35, and his Onexfly F1 Pro console received a 5-watt performance boost. This means he gets the same FPS in games at 15 watts as he did at 20 watts without undervolting. Oh, and the official Ryzenadj GitHub page literally doesn't mention a single parameter related to voltage. To find the right parameters, you need to guess by typing "sudo ryzenadj" in the console and find the treasured lines: --set-coall and --set-cogfx So, I only have one last question left: will the changes I make be saved? Or will I need to write a systemd service later?
Solution
皇家海星
皇家海星2mo ago
GitHub
FAQ
Adjust power management settings for Ryzen APUs. Contribute to FlyGoat/RyzenAdj development by creating an account on GitHub.
Грюндик
ГрюндикOP2mo ago
One more important clarification, in case anyone was also looking for an answer to this question. These parameters require u32 values, i.e., a positive hexadecimal number in the format 0xFFFFF. Accordingly, to reduce the voltage by, say, 30 mV, you need to convert 30 to hexadecimal, then subtract the number we obtained above from the hexadecimal number 100000. So, 100000 - 1E = FFFE2. Therefore, the parameter should look like this: --set-coall=0xFFFE2
Honjow
Honjow2mo ago
May I ask what device you tested on? I tried it and only got the result "set_coall is rejected by SMU", unable to set it successfully
Грюндик
ГрюндикOP2mo ago
onexfly f1 pro This error occurs when you try to assign an impossible value to a variable.
Honjow
Honjow2mo ago
I just tried --set-coall=0xFFFE2 and other smaller values; all of them report set_coall is rejected by SMU
Грюндик
ГрюндикOP2mo ago
if you try --set-coall=1048546?
Honjow
Honjow2mo ago
Same report
Грюндик
ГрюндикOP2mo ago
Can you take a screenshot of the terminal?
Honjow
Honjow2mo ago
The ryzen_smu kernel module warning will not affect the results
No description
Грюндик
ГрюндикOP2mo ago
I had the same command complain about this kernel module, but the values ​​were still applied. Try asking on the official onexplayer Discord. https://discord.gg/M4w5GeX3
Honjow
Honjow2mo ago
How can we verify that these values have taken effect?
Грюндик
ГрюндикOP2mo ago
in response to the command, the system will display a message that the value for the parameter has been successfully set
Honjow
Honjow2mo ago
Maybe it's because of model differences; I tested the oxp x1mini
Грюндик
ГрюндикOP2mo ago
This is strange, considering that ryzenadj is a universal and cross-platform tool for working with AMD processors, and your console isn't even new, its chip is 100% supported. Perhaps the issue really is with bazzite, and some module doesn't support the 8840u, causing your error.
Honjow
Honjow2mo ago
Can you show your kernel parameters? cat /proc/cmdline
Грюндик
ГрюндикOP2mo ago
No description
Honjow
Honjow2mo ago
After some validation tests, including installing different distributions and swapping devices, I’ve roughly confirmed this is a device limitation — or rather a BIOS limitation. It probably isn’t caused by the system itself not supporting it. Among the devices I have, only the Steam Deck supports it, and it’s running the official SteamOS. Other devices, including GOS (SteamOS), the Ally, GPD, etc., cannot be configured successfully.
Honjow
Honjow2mo ago
This is a related decky plugin, but it hardcodes the number of cores and doesn't provide error messages https://github.com/totallynotbakadestroyer/Decky-Undervolt
GitHub
GitHub - totallynotbakadestroyer/Decky-Undervolt: Steam Deck underv...
Steam Deck undervolting plugin for Decky Loader. Contribute to totallynotbakadestroyer/Decky-Undervolt development by creating an account on GitHub.
antheas
antheas2mo ago
usually these apus do not support undervolting some do some dont HX370 might X840U do not
Honjow
Honjow2mo ago
z2e not support , might
Грюндик
ГрюндикOP2mo ago
GitHub
GitHub - aarron-lee/SimpleDeckyTDP: Decky TDP plugin for PC handhel...
Decky TDP plugin for PC handhelds + Linux. Contribute to aarron-lee/SimpleDeckyTDP development by creating an account on GitHub.
Honjow
Honjow2mo ago
As expected, it's not supported

Did you find this page helpful?