CPU Overclock
Lift the CPU cap from 1.4 to 1.5 GHz when you need it
The R36S Cortex-A35 has a turbo OPP at 1512 MHz that sits dormant by default. Toggle it on for the games that need every Hz; leave it off for cooler / longer battery life on the rest.
How to enable
EmulationStation → ** ** (Start) → System Settings → Performance → Enable CPU Overclock → ON.
The toggle persists in /storage/.config/system.cfg (enable.turbo-mode=1) and is reapplied on every boot by 095-turbo-mode autostart.
To turn it off, flip the toggle. No reboot required for either direction.
What changes when it's on
OFF (default) ON
─────────────────────────────────────────────────
cpufreq/boost 0 1
top freq idle 1416 MHz 1416 MHz
top freq game 1416 MHz 1512 MHz
voltage @ top 1.350 V 1.400 VIdle/menu doesn't change — the governor decides on demand. Only when the CPU actually needs the top OPP does the extra ~7 % kick in.
During gameplay, runemu.sh switches the governor to performance and pins scaling_max_freq to the highest value scaling_available_frequencies exposes (which depends on whether boost is on).
Why this exists
Stock RK3326 BSP exposes 1512 MHz only as turbo-mode in the OPP table — the kernel hides it from cpuinfo_max_freq until cpufreq/boost=1 is set. Plus, the vdd_arm regulator default in the upstream PX30 device tree is capped at 1.35 V, which is too low to drive 1.5 GHz reliably on most chips. ArchR raised that cap to 1.45 V (RK817 DCDC_REG2 spec is 1.5 V), set the OPP to 1.4 V, and exposed the toggle.
Some chips run 1.5 GHz at 1.35 V fine. Some need 1.4 V. None have been reported failing at 1.4 V yet.
When to use it
- PSP (PPSSPP standalone) — God of War, Tekken 6, Daxter — small but consistent fps gain
- Dreamcast (Flycast) — Crazy Taxi, Sonic Adventure 2 — frametime smoothing
- N64 (Mupen64Plus) — heavy scenes (SM64 castle, Zelda OoT Hyrule Field)
- PSX (Beetle PSX HW) — texture-heavy 3D
- PortMaster — box86/box64 ports that throttle at 1.4 GHz
For 2D / handheld / 8-16 bit cores, leaving it OFF is the right choice — they don't need it and you save battery + heat.
Verify it's working
Over SSH:
# OFF expected: 0
# ON expected: 1
cat /sys/devices/system/cpu/cpufreq/boost
# OFF expected: 408000 816000 1008000 1416000
# ON expected: 408000 816000 1008000 1416000 (turbo OPP shows up separately)
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_frequencies
# ON expected: 1512000
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_boost_frequencies
# Live freq during a game (run in a tight loop):
watch -n 0.5 cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freqIf you see 1512000 flowing through scaling_cur_freq while a heavy game runs, the overclock is active.
Risks
- Thermals: 1.5 GHz at 1.4 V dissipates more heat than 1.4 GHz at 1.35 V. The R36S is passively cooled; in a hot room, in a sustained heavy load, it will throttle sooner. The kernel handles this — it just means you cap closer to 1.4 GHz once temperature hits the passive trip (~70 °C).
- Battery: ~10–15 % shorter battery life under heavy load with the overclock on. Negligible at idle / menu.
- Per-chip variation: a small minority of chips report instability at 1.5 GHz / 1.4 V. If your device reboots while playing PSP/DC, turn the toggle off as a first diagnostic.
Reverting / disabling permanently
Toggle in ES → off. To force-off via shell (e.g. if ES is stuck):
echo 0 | sudo tee /sys/devices/system/cpu/cpufreq/boost
sudo sed -i 's/^enable.turbo-mode=1/enable.turbo-mode=0/' /storage/.config/system.cfg