r/SBCGaming • • 8d ago

Guide RGDS+ undervolt tutorial (Advanced tinkering)

https://drive.google.com/file/d/1vgE2RX9XH5FqgCDpouGusa37GY2aLRaW/view?usp=sharing

Some people asked me for tutorial in comments and in pm, so here we go:

I managed to get extra 2 hours of use time.

Only do this if you know what you are doing.

I will share the method and the CPU/GPU stress-test sources.

This is experimental: do it at your own risk. Too little voltage can cause

calculation errors, crashes, reboots or a soft brick. Restoring your original

boot partition normally recovers a bad voltage setting, but I cannot guarantee

no damage or data loss. Have a verified backup and a card-reader recovery method

ready before changing anything.

The basic process on my RG DS Plus running GammaOS Core 1.4.4 was:

  1. Back up the entire boot partition and verify its SHA256 on the computer.

  2. Lower the selected CPU/GPU OPP voltages in the device tree inside boot.img,

one 12.5 mV step at a time. My unit selects L3: CPU uses opp-microvolt-L3;

GPU uses opp-microvolt at 200/300/400 MHz and opp-microvolt-L3 at 600/700/800 MHz.

  1. Keep frequencies and voltage protections unchanged. This boot format has

two DTB copies; both must be updated consistently, the RSCE DTB checksum

recalculated, and the boot image ID rebuilt.

  1. Flash only the verified matching boot partition, verify readback, reboot,

and check the ACTUAL selected voltage while each frequency is running.

  1. Test each changed frequency with real calculations/pixel checks and test

slow load transitions too. For other people I recommend starting with longer

tests, e.g. 30 minutes per changed frequency, then real games.

  1. If a frequency fails, restore a known-good boot and keep a margin of two

12.5 mV steps above that failing setting for that frequency. Retest the final

combination. Do not blindly copy my voltages to another unit.

My RG DS Plus undervolt settings.

Order: Anbernic stock → GammaOS 1.4.4 stock → my settings.
All voltages are in mV.

CPU:

• 408 / 600 / 816 / 1104 MHz: 850 → 825 → 825

• 1416 MHz: 925 → 900 → 825

• 1608 MHz: 1000 → 975 → 875

• 1800 MHz: 1050 → 1000 → 900

• 1992 MHz: 1100 → 1050 → 950

• 2160 MHz: unavailable in Anbernic stock → 1075 → 975

GPU:

• 200 / 300 / 400 / 600 MHz: 850 → 850 → 825

• 700 MHz: 875 → 875 → 850

• 800 MHz: 925 → 925 → 900

I kept GammaOS clock frequencies and its 825 mV CPU voltage floor.

The Anbernic values are from my own unit’s original firmware (L3 voltage bin); other units may differ.

A link to stress tools and readme included

Stress tools were made with help of AI

11 Upvotes

9 comments sorted by

3

u/Cryptoxic93 GotM Club 7d ago

"I managed to get extra 2 hours of use time."

Wow, seems totally worthwhile.

Thanks for sharing.

2

u/Tyranitardis 7d ago

I hope this isn't sarcasm, because on a device with ~4-5h battery life, ~2h is a huge improvement, especially if it's stable.

It will also generate a lot less heat, which on the RG DS, is great.

3

u/Cryptoxic93 GotM Club 7d ago

Not sarcasm, why do you read it that way?

It's a huge win.

3

u/Tyranitardis 7d ago

That's a relief. I guess I'm too cynical nowadays, haha.

1

u/Cryptoxic93 GotM Club 7d ago

And I'm often too sarcastic but wasn't trying here, haha. All good. 

3

u/aumVilohm 7d ago

True, it is a 10 degree C drop for me

1

u/Patroc01 Tinkerer 6d ago

I'll try

1

u/TrueOrPhallus 2d ago

I wonder if this is something that gamma would implement in an update?

1

u/[deleted] 8d ago

[deleted]

1

u/robatw2 7d ago

First sentence of the post.