Overclocking Pi 3
-
You can overclock from 1,2GHz to 1,4GHz (works in some cases)... but imho it isn't a "must have".
The Pi2 was easier to overclock from 0,9GHz to 1,1GHz (very stable run) in most cases 1,2GHz were also no problem to reach. The temperature increase was not a big part to deal with :)
-
Generally, overclocking really gives a usable boost to the more complex emulators - the N64 and Dreamcast notably (for the latter, in testing it's the GPU overclock that really helps this emulator).
As I record audio/video from the RetroArch emulator cores directly on my Pi, overclocking really helps with this too.
For the other emulators, if you're using shaders to give an enhanced retro feel to the visuals, overclocking may be needed as adding the graphical effects puts a strain on the system (depending on which shader is used)
-
@jay81uk I've written various guides on overclocking/testing the Pi 2 and Pi 3, including the temperature issues - if you search my posts you'll find them, or visit retroresolution.com
-
I will be using N64 on my Pi so I guess overclocking is important then.
A real shame Silent Hill PSP doesn't work apparently.
-
@jay81uk keep in mind that the n64 is a very difficult machine to emulate, due to the option developers had of writing custom microcode for the GPU. Some games really fly even on a Pi 2 (Mario 64...), whereas others are unplayable on an overclocked Pi 3, or plain just don't work.
There is a compatibility list spreadsheet (I don't have the link to hand, but search the forum and you'll find it).
The N64 Retroarch core generally hampers everything, so you're best off using the mupen64plus non-retroarch version. Then it's a question of picking the optimal n64 'core' to use for a given title.
Again, searching the forum should unearth some detailed discussions on all thus.
I keep meaning to write up a guide, but never quite make it...
-
I just watched this video -
It seems simple to overclock. He has scared me though saying he's not responsible if the Pi explodes?!
I have some heatsinks arriving soon. Currently, Zelda on N64 does slightly lag. Is overclocking the Pi going to make Zelda fly like Mario 64 and Mario Kart does, or is it just not worth it?
Thanks
-
@jay81uk hi,
Regarding overclocking, you should be fine provided you don't override/turn off the Governor, which dynamically adjusts the clock speeds based on demand and temperature.Further details can be found on the following discussion threads:
https://retropie.org.uk/forum/topic/2257/overclocking
(Mainly, the final post in this thread)https://retropie.org.uk/forum/topic/2597/pi3-overclocking-overheating-issues
-
@RetroResolution said in Overclocking Pi 3:
@jay81uk I've written various guides on overclocking/testing the Pi 2 and Pi 3, including the temperature issues - if you search my posts you'll find them, or visit retroresolution.com
Thx Retro - I took your page to my RPi favourites
-
@cyperghost great, glad to help!
-
I don't think the video above means the 'governer' is changed at all. Could someone check if the instructions in that video are ok please?
-
@jay81uk said in Overclocking Pi 3:
I don't think the video above means the 'governer' is changed at all. Could someone check if the instructions in that video are ok please?
That's correct, I didn't see anything in there about adjusting the governor.
To be precise, the governor doesn't necessarily adjust the clock speed dynamically. Certain governors (like 'ondemand') do, but others (such as 'performance' or 'powersave') blindly run at a set frequency (the maximum in the case of 'performance').
Temperature-triggered throttling is done by a separate mechanism. You don't want to adjust this for safety. The CPU frequency governors are load-based (e.g. ondemand raises clockspeed if it can and if it sits at 95%+ load).
You can also set the governor when you start an emulator (I forget off-hand where the option is). "ondemand" is great most of the time, but when I play a game, I don't want it to pause before ramping up. I'd rather have it run whole-hog until the game finishes.
-
Wow... I'm not even overclocking and I got the warning square just playing a NES game!
I've got the official red/white case with no heatsink at the moment. However from what I've read, even with a heatsink, this case is like an oven....
-
@jay81uk Are you sure you're not seeing the rainbow-colored warning square, or is it yellow-to-red colored? Even sealed in a box I can't imagine a Pi overheating on a NES game.
-
No it's a dark yellow coloured box.
-
Bummer. If you're in the market, you can get a great layered case / heatsinks / fan for like $8 on eBay. It's not the quietest, but I couldn't overheat it if I tried.
-
Just find it weird it happened on a NES game! I'll have to add a heatsink and take the lid off when playing I guess.
Or get the flirc case.
-
@jay81uk You may find that simply removing the cover is sufficient.
-
@bazmonkey Interesting info on the governor and thermal throttling there - looks like I need to do some more research!
[Edit] can you point me in the direction of more information on this? I've only seen details on the governor, but not the mechanism of thermal throttling.
-
@RetroResolution said in Overclocking Pi 3:
[Edit] can you point me in the direction of more information on this? I've only seen details on the governor, but not the mechanism of thermal throttling.
It's basically like this: the cpufreq governor is what the kernel is using to decide what CPU frequency to ask for (possibly based on load). Underneath that is the firmware, which truly decides what CPU frequency you get. Besides taking into account what the kernel would like, it internally forces the CPU to the min frequency (600MHz on a Pi 3) and disables any overvoltage if the temp goes over some value.
This is a good detailed read on how the governors actually work. Note: no mention of temperature at all.
The firmware is closed-source. You can tell, though, that it's not working by adjusting the governor. One of my poor fellas being forced to throttle:
pi@funkatron:/sys/devices/system/cpu/cpu0/cpufreq $ while read file; do echo "$file - $(sudo cat $file)"; done <<< "$(ls)"; vcgencmd measure_temp
affected_cpus - 0 1 2 3
cpuinfo_cur_freq - 1300000
cpuinfo_max_freq - 1300000
cpuinfo_min_freq - 600000
cpuinfo_transition_latency - 355000
related_cpus - 0 1 2 3
scaling_available_frequencies - 600000 1300000
scaling_available_governors - conservative ondemand userspace powersave performance
scaling_cur_freq - 1300000
scaling_driver - BCM2835 CPUFreq
scaling_governor - ondemand
scaling_max_freq - 1300000
scaling_min_freq - 600000
scaling_setspeed - <unsupported>
temp=84.9'Cpi@funkatron:/sys/devices/system/cpu/cpu0/cpufreq $ while read file; do echo "$file - $(sudo cat $file)"; done <<< "$(ls)"; vcgencmd measure_temp
affected_cpus - 0 1 2 3
cpuinfo_cur_freq - 600000
cpuinfo_max_freq - 1300000
cpuinfo_min_freq - 600000
cpuinfo_transition_latency - 355000
related_cpus - 0 1 2 3
scaling_available_frequencies - 600000 1300000
scaling_available_governors - conservative ondemand userspace powersave performance
scaling_cur_freq - 1300000
scaling_driver - BCM2835 CPUFreq
scaling_governor - ondemand
scaling_max_freq - 1300000
scaling_min_freq - 600000
scaling_setspeed - <unsupported>
temp=84.4'CThe frequency isn't being adjusted by something like setting the governor to powersave, nor is it forcing down the maximum frequency of the ondemand governor. The "scaling_driver" is the governor's driver for actually adjusting the CPU's frequency: it's not what's driving the governor. The kernel sees that the frequency is throttled, but isn't privy to why. So... it's gotta be in the firmware somewhere.
-
@bazmonkey that's excellent, thanks for the detailed insight, I really appreciate it. In many ways the Pi is the gift that keeps on giving - complex enough to do amazing things, but logical enough that it's possible to learn how that complexity is manifested.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.