Hmm... I posted this deal in r/cade on Reddit. Perhaps some enterprising individual read about the deal and may have bought a slew of them to build some super sweet MAME/RetroPie x86-64 cabinets with. Speaking of which, I have been experimenting with RetroPie and wanting to get games running as smoothly as possible, I whipped up various sets of commands over the last couple of weeks to eek out the last drop of performance from this little steam engine that could. Below are the instructions to set up a "soft" overclock on Ubuntu Focal 20.04 LTS. It is only casually referred to as an overclock, but, in reality, it is not, hence the "soft" in the name. This trick is completely safe and covered under warranty. What this soft overclocking utility does is raise the OS's default TDP, temperature ceiling, and boost clock levels to the absolute maximum without overriding the processor's own internal stock safety mechanisms and thereby not voiding your warranty.
The processor as a result will boost as long and as hard as it possibly can without exceeding the Ryzen R1505G's firmware defined peak boost clock (3.3GHz), safe dynamic voltages, or safe temperature threshold (~95 Celsius). After running these commands, I was able to net a nice uplift in performance and now easily maintain 3.3 GHz under sustained workloads. You can read more about how ryzenadj works
here and
here. You might note I pushed some numbers higher than the processor's specified maximums (e.g. max-socclk-frequency or the maximum CPU clock speed is defined as 3700 MHz) but I did this just to ensure the processor does not let its grip loose on its boost clock once a workload is detected. These commands should work quite interchangeably in most Debian-based Linux distributions including, of course, Debian and Ubuntu.
Code:
cd /opt
Sudo mkdir ryzenadj
sudo apt install libpci-dev
sudo git clone https://github.com/FlyGoat/RyzenAdj.git .
sudo mkdir build && cd build
sudo make
sudo ./ryzenadj --stapm-limit=45000 --fast-limit=45000 --slow-limit=45000 --tctl-temp=95 --vrm-current=55000 --vrmsoc-current=55000 --vrmmax-current=55000 --vrmsocmax-current=55000 --psi0-current=55000 --psi0soc-current=55000 --max-socclk-frequency=3700 --min-socclk-frequency=3300 --max-gfxclk=1400 --min-gfxclk=1000
cat << EOF | sudo tee /etc/systemd/system/ryzenadj.service
[Unit]
Description=RyzenAdj - Adjust power management settings for Ryzen Mobile Processors
Wants=cpufrequtils.service
After=cpufrequtils.service
[Service]
Type=oneshot
User=root
ExecStart=/opt/ryzenadj/build/ryzenadj --stapm-limit=45000 --fast-limit=45000 --slow-limit=45000 --tctl-temp=95 --vrm-current=55000 --vrmsoc-current=55000 --vrmmax-current=55000 --vrmsocmax-current=55000 --psi0-current=55000 --psi0soc-current=55000 --max-socclk-frequency=3700 --min-socclk-frequency=3300 --max-gfxclk=1400 --min-gfxclk=1000
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable ryzenadj
sudo systemctl start ryzenadj
sudo cpupower -c all frequency-info
Prior to this, you may likely also need to run this set of commands to alter the power management profile from ondemand to performance as described
here.
Code:
sudo apt-get install cpufrequtils
echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils
sudo systemctl disable ondemand