//Proper Haxk20 tech rant
So uhmmm this is interesting.
Apparently Acer decided to not make proper vBIOS for Nitro 5 RX560X and they left some stuff well just empty or to stock.
For example they set the maximum OC clocks to stock so even if you want to overclock you cant exactly on Linux.
OK but why can we OC on windows ?
Well to no ones suprise windows stuff doesnt exactly follow specs published and well they just ignore some stuff so if you want you can OC on windows even past the max OC clocks because oh safety on windows isnt a fucking thing.
OK so how do we fix it on Linux ?
Well we have 2 ways.
1. Is to dump vBIOS. Edit it to contain the proper max limit and load it on startup because flashing it isnt great to do on laptop.
This will get you OC support but takes ages because again this isnt normal GPU. Its desktop GPU in laptop and Acer had to do something to it because oh well. So you will get lot of shit in the way.
Second way you can OC is to lets just say disable the security feature on Linux.
Hmmmm but AMDGPU driver doesnt exactly support that.
What do we do ?
Well if you look at AMDGPU code there is code for overdrive which is basically driver for overclocking support. When you look at the code for it you will be blown away first at what you are looking at but then Oh boom. variables for max clock on memory and core. Bingo.
OK set it to the values and boot the patched kernel. Hmmmmmm why is it so slow ?
Why is it running at minimum clocks ?
Look at the code again and you forgot that drivers use Hz instead of MHz. Yeahhhhhh. OK multiply the value to match Hz and its at stock. But no worries. Now when i tell the GPU to run at clocks past its limit it wont yell at me that i cant do that.

OK now comes a little weird part. I didnt find docs about boot parameters in linux and i didnt find a way to implement them. So if anybody has a way of implementing them please comment here a link to it. I will possibly even make this a patch and send it to kernel since well manual patching is shit.

  • 2
    I suppose you use arch, then you may be able to write you own mkinitcpio-hook, that parses additional kernel-parameters and does the settings on boot.
  • 1
    @metamourge I can set parameters. i need to create the parameter in kernel. And my friends from SODP team helped me and gave me a documentation so when i will have time i will implement a proper patch for this and maybe even get it mainlined LUL (Not likely)
Add Comment