Overclocking the Pi3b+ GPU (Results)
-
Id like to add to this that ive been playing with my 3b+'s for quite a while now and one of them doesnt handle overclocking all that well. Anything past 570 for core, gpu or v3d causes it to stall out eventually as well as 1450 is the max for cpu. Dont even bother touching the RAM on that board...
My other one which i bought at release handles quite a bit and will run for 3 days (probably more if it let it) under moderate load with the following config:
arm_freq=1500
core_freq=580
v3d_freq=580
over_voltage=6
sdram_freq=733
force_turbo=1Ive since scrapped that config for the following and reicast as well as some n64 games run beautifully:
arm_freq=1200 I know i went down on this - i dont need it.
core_freq=610 This is where the magic happens, but even a 615 will cause a emergency boot occasionally failing to mount /boot. It will run for days even at 630 ~IF~ i can get it to boot lol
force_turbo=1edit: fail on the cpu/arm freq...
-
Keep in mind that any overclock that causes your system to freeze or exhibit abnormal behavior, whether its immediately or days later is unstable. There also isnt much point underclocking your system or using force_turbo. The CPU governor controls when to apply your overclock settings. Force_turbo just applies your overclock even when your pi is idle (which is pretty pointless).
-
@quicksilver said in Overclocking the Pi3b+ GPU (Results):
Keep in mind that any overclock that causes your system to freeze or exhibit abnormal behavior, whether its immediately or days later is unstable. There also isnt much point underclocking your system or using force_turbo. The CPU governor controls when to apply your overclock settings. Force_turbo just applies your overclock even when your pi is idle (which is pretty pointless).
Yep, and thats why 610 is where i leave the core_freq. I actually noticed some small slowdowns in the middle of certain games (super mario worlds intro for example) which i was able to correct by using force_turbo.
Unless im testing an overclock which i wont be doing anymore the pi is being used so force_turbo being on isnt hurting anything in my case.
-
@Parabolaralus something you could try is to set the CPU governor to performance mode. Can be found in the runcommand options in the retropie setup
-
@quicksilver said in Overclocking the Pi3b+ GPU (Results):
@Parabolaralus something you could try is to set the CPU governor to performance mode. Can be found in the runcommand options in the retropie setup
Yep, that should be the preferred way of forcing the CPU to max clocks, since it will prevent it from running all out when you're in the menu. Does anyone know why this is not the default in RetroPie? The on demand governor causes issues with some SNES games as well, at least if you use other settings that are demanding.
@Parabolaralus said in Overclocking the Pi3b+ GPU (Results):
sdram_freq=733
Not saying it's impossible, but I very much doubt that this amount of overclock is stable. How have you tested it?
-
@quicksilver said in Overclocking the Pi3b+ GPU (Results):
I have read some posts by some of the RPI engineers on the official RPI forums that based on your sdram overclock the sdram_over_voltage will scale somewhat automatically. For example if you set 550mhz then it scales your sdram over volt to 2. I'll have to see if I can find the post.
I looked around, but couldn't find any info. So, I used vcgencmd to measure the voltages under load at stock frequencies and with overclock:
Command used: for id in core sdram_c sdram_i sdram_p ; do echo -e "$id:\t$(vcgencmd measure_volts $id)" ; done
Stock:
core: volt=1.3688V
sdram_c: volt=1.2500V
sdram_i: volt=1.2500V
sdram_p: volt=1.2250VOverclocked:
core: volt=1.3938V
sdram_c: volt=1.2500V
sdram_i: volt=1.2500V
sdram_p: volt=1.2250VFortunately, there is no automatic SDRAM voltage hike. Only the CPU has received the specified +0.025V due to over_voltage=1.
EDIT: It's interesting to note that the official documentation says default SDRAM voltage is 1.2V. Either they upped it for the Pi 3 B+ (since it originally had 500 MHz SDRAM instead of 450 MHz on the Pi 3 - they later lowered this due to stability issues), or default values are tuned differently between specimens.
EDIT 2: Running a 24h test of Quake 3 + sysbench (2 threads) + memtester 512M now. If that's successful, I'll consider this Pi stable at those settings. It's a moderate CPU overclock (5%) but nice SDRAM, core and GPU overclocks (22%, 50% and 33% respectively).
-
@Brunnis said in Overclocking the Pi3b+ GPU (Results):
@quicksilver said in Overclocking the Pi3b+ GPU (Results):
@Parabolaralus something you could try is to set the CPU governor to performance mode. Can be found in the runcommand options in the retropie setup
Yep, that should be the preferred way of forcing the CPU to max clocks, since it will prevent it from running all out when you're in the menu. Does anyone know why this is not the default in RetroPie? The on demand governor causes issues with some SNES games as well, at least if you use other settings that are demanding.
it's a fair point. i assume it's not set in the default image because ondemand is what raspbian defaults to. depending on what your pi is used for, you may still want it to be ondemand - eg, portable builds. however i would have thought that for rpi3 and 2 builds that 'performance' would be a good default. maybe @BuZz has a view?
-
Wow.
@Parabolaralus and @Brunnis setting core_freq to 600 pretty much makes Crazy Taxi on the Dreamcast run a lot smoother without the audio skipping issues that plagued it in the default settings. Only skipping in minor occasions now, whereas previously after a 20-30 seconds it'd start skipping every couple of seconds when there were a lot of polygons on screen.
Thank you!
-
@dankcushions I prefer to stick with OS defaults.
-
@Brunnis here it is:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=6201&start=975
Man that took some digging 😂
There is a post on that page by Millhouse about it, and on the next page it looks like Dom (RPI engineer) confirms it. However firmware is constantly changing and sometimes there are changes which aren't well documented so who knows what's going on now.
-
@BuZz I think @dankcushions meant why isn't
performance
set for the Runcommand setting by default, soperformance
would be switched on only just during gameplay, but the default (ondemand
) is preferred outside of gameplay.
@dankcushions or am I wrong ? -
@mitu i didn't but that is a better idea! :)
-
@dankcushions @mitu @BuZz while setting the scheduler to
performance
by default inruncommand
is a tempting idea, I would advocate against it. Setting this could potentially make RPIs to overheat without users being aware of it. At least in my experience, I have never had the need to set the scheduler toperformance
and things runs nice for me.
I think the best approach here is to educate the users about the CPU scheduler more than forcing a potentially troublesome option without their knowledge. -
@mitu I understood. I don't want to default to switching the governor on launch.
-
Setting to performance is a small change that really shouldnt make a significant difference when it comes to wear and tear on a pi but I agree with buzz that it should be up to the user to make that decision. I think there is some documentation in regards to the CPU governor modes in the retropie docs but maybe we can clarify that performance mode does help a few games/systems run smoother (perhaps it already says this, need to review). I would be happy to make any edits to the wiki if people feel that it is pertinent info.
-
@quicksilver There is a note in the Wiki on https://retropie.org.uk/docs/Speed-Issues/ and also on the N64 page, but maybe wen can add it also to the Overclock or Advanced configuration.
-
it would be useful to see some specific examples (games, benchmarks, etc) as i don't really get why ondemand (which i think is the default) would be slower than performance.
since ondemand ramps up the speed with load. i would have thought there should be no difference between the runtime cpu frequency between governor in cpu-heavy applications. they both should be running the cpu at full speed in a cpu-limited emulator, right?
-
I always deal with the overclock that's what i get.. (crazytaxi 2 runs really nice )
just now the core_freq=600
so give in it afew days see if its stable.
-
Something I don't see mentioned very often and I think is important to keep in mind is that the RPIs have a "warranty bit" that is burned when you overvoltage too agressively. This way, RMA or support can know if users broke the RPI by misuse or the device was faulty from factory.
over_voltage
(...) Values above 6 are only allowed when force_turbo is specified: this sets the warranty bit if over_voltage_* is also set.force_turbo
(...) Enabling this may set the warranty bit if over_voltage_* is also set.never_over_voltage
Sets a bit in the OTP memory (one time programmable) that prevents the device from being overvoltaged. This is intended to lock the device down so the warranty bit cannot be set either inadvertently or maliciously by using an invalid overvoltage.Ref: https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md
Ref: https://www.raspberrypi.org/forums/viewtopic.php?p=176865#p176865
Ref: https://www.raspberrypi.org/blog/introducing-turbo-mode-up-to-50-more-performance-for-free/ -
@hhromic the interesting thing is the current model pis cant overvolt any higher then a value of 4. At over_voltage=4 the core voltage equals 1.394v and it will not increase any higher than that. Values of 6-8 still only equal 1.394v (as @Rascas noted earlier). I think the stock core voltage is set higher on current model pis. I am sure that force_turbo would set the warranty bit but does over_voltage=4 now also set it? Official rpi documents are vague about this.
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.