Skip to content

v3.1 — GPU OC 600 MHz + CPU OC 1608 MHz

Choose a tag to compare

@zenmode-adri zenmode-adri released this 20 May 22:46
· 120 commits to master since this release

What's new in v3.1

GPU OC 600 MHz — confirmed stable

The GPU clock uses gpll (1200 MHz) / 2 = 600 MHz exactly. Unlike CPU OC, there is no rockchip,avs-scale restriction — adding an opp-600000000 node to /gpu-opp-table in the DTB is sufficient. No kernel recompile needed.

Benchmark results (L2 bin, glmark2 terrain off-screen):

Condition Freq Voltage FPS
Undervolted baseline 520 MHz 1087.5 mV 15–16
GPU OC 600 MHz 1150 mV 18

+20% FPS, stable at 62°C.

Voltage: 1150 mV (vdd_logic PMIC hard limit). Within rockchip,max-volt = 1175 mV.

vdd_logic is shared between GPU and all SoC logic. Undervolt margin is very tight — GPU OC uses the maximum safe voltage. Future work: find the minimum stable voltage at 600 MHz.


CPU OC 1608 MHz — re-added to DTB menu (from v3.0)

The v1.8 implementation failed because rockchip,avs-scale=4 was silently stripping OPPs >1512 MHz at boot. The fix (avs-scale=0) is now correctly applied alongside the OPP node.

Menu: DTB Undervolt → CPU OC 1608 MHz [EXPERIMENTAL]
Voltage selector: 1350 / 1325 / 1300 / 1275 mV. Start conservative (1350 mV).


Full OC/UV state on our test unit (L2 bin)

Component Freq Voltage Status
CPU 1512 MHz 1175 mV (−125 mV UV) ✅ Stable
CPU OC 1608 MHz 1350 mV ✅ Stable (+1.6% over 1512)
GPU 520 MHz 1087.5 mV (−12.5 mV UV) ✅ Stable
GPU OC 600 MHz 1150 mV ✅ Stable (+20% terrain fps)

Silicon lottery applies. Results are specific to our L2 bin unit. Your device may differ — always start with conservative voltages and have an SD card reader available for recovery.

For full technical details see docs/opp-research.md.