RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Overclocking the Pi3b+ GPU (Results)

    Scheduled Pinned Locked Moved General Discussion and Gaming
    pi3 b+overclockgpu
    133 Posts 18 Posters 39.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • quicksilverQ
      quicksilver @Parabolaralus
      last edited by

      @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

      B 1 Reply Last reply Reply Quote 1
      • B
        Brunnis @quicksilver
        last edited by Brunnis

        @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?

        dankcushionsD ParabolaralusP 2 Replies Last reply Reply Quote 0
        • B
          Brunnis @quicksilver
          last edited by Brunnis

          @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.2250V

          Overclocked:

          core: volt=1.3938V
          sdram_c: volt=1.2500V
          sdram_i: volt=1.2500V
          sdram_p: volt=1.2250V

          Fortunately, 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).

          quicksilverQ 1 Reply Last reply Reply Quote 0
          • dankcushionsD
            dankcushions Global Moderator @Brunnis
            last edited by

            @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?

            BuZzB 1 Reply Last reply Reply Quote 0
            • pjftP
              pjft
              last edited by

              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!

              1 Reply Last reply Reply Quote 0
              • BuZzB
                BuZz administrators @dankcushions
                last edited by

                @dankcushions I prefer to stick with OS defaults.

                To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                mituM 1 Reply Last reply Reply Quote 0
                • quicksilverQ
                  quicksilver @Brunnis
                  last edited by

                  @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.

                  1 Reply Last reply Reply Quote 0
                  • mituM
                    mitu Global Moderator @BuZz
                    last edited by mitu

                    @BuZz I think @dankcushions meant why isn't performance set for the Runcommand setting by default, so performance would be switched on only just during gameplay, but the default (ondemand) is preferred outside of gameplay.
                    @dankcushions or am I wrong ?

                    dankcushionsD BuZzB 2 Replies Last reply Reply Quote 1
                    • dankcushionsD
                      dankcushions Global Moderator @mitu
                      last edited by

                      @mitu i didn't but that is a better idea! :)

                      H 1 Reply Last reply Reply Quote 0
                      • H
                        hhromic @dankcushions
                        last edited by hhromic

                        @dankcushions @mitu @BuZz while setting the scheduler to performanceby default in runcommand 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 to performance 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.

                        1 Reply Last reply Reply Quote 3
                        • BuZzB
                          BuZz administrators @mitu
                          last edited by

                          @mitu I understood. I don't want to default to switching the governor on launch.

                          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                          1 Reply Last reply Reply Quote 0
                          • quicksilverQ
                            quicksilver
                            last edited by

                            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.

                            mituM dankcushionsD 2 Replies Last reply Reply Quote 0
                            • mituM
                              mitu Global Moderator @quicksilver
                              last edited by

                              @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.

                              1 Reply Last reply Reply Quote 1
                              • dankcushionsD
                                dankcushions Global Moderator @quicksilver
                                last edited by

                                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?

                                B 1 Reply Last reply Reply Quote 1
                                • shavecatS
                                  shavecat
                                  last edited by shavecat

                                  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.
                                  d3bef088-453f-4493-a292-a61d1d3df926-image.png

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    hhromic
                                    last edited by hhromic

                                    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/

                                    quicksilverQ 2 Replies Last reply Reply Quote 0
                                    • quicksilverQ
                                      quicksilver @hhromic
                                      last edited by

                                      @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.

                                      1 Reply Last reply Reply Quote 1
                                      • ParabolaralusP
                                        Parabolaralus @Brunnis
                                        last edited by

                                        @Brunnis I really dont know if it actually would apply that setting and found no tangible benefit to clocking it that high, but i do know that if i set it to 735 even it would eventually freeze on me...usually within 20-30 minutes of gameplay so 735 is not stable.

                                        My testing method with 733 as well as other settings involved starting a PS1 game (hence moderate load mentioned earlier) and leaving it for a few days. I normally do not play video games during the week so i could leave it running without it being a pain in the butt. Three days later id find the game still running and call it stable.

                                        My other pi (3b+) as mentioned before would flat out freeze on me so much as pushing the RAM 10mhz higher. I guess silicon lottery and one is a slight score while the other is a dud for OCing.

                                        On the governer thing. I never really thought about changing that TBH...I think performance would work in place, but i noticed absolutely no slowdowns using force_turbo and kind of left it at that.
                                        Does anyone have anyway to see if it is actually downclocking while running a core/rom with ondemand, or is this something thats more user experience?

                                        mituM 1 Reply Last reply Reply Quote 0
                                        • mituM
                                          mitu Global Moderator @Parabolaralus
                                          last edited by

                                          @Parabolaralus said in Overclocking the Pi3b+ GPU (Results):

                                          On the governer thing. I never really thought about changing that TBH...I think performance would work in place, but i noticed absolutely no slowdowns using force_turbo and kind of left it at that.

                                          Using force_turbo overrides the CPU governor and runs the cores at max frequency, so you're already using a 'performance' profile

                                          By default (force_turbo=0) the "On Demand" CPU frequency driver will raise clocks to their maximum frequencies when the ARM cores are busy and will lower them to the minimum frequencies when the ARM cores are idle.

                                          force_turbo=1 overrides this behaviour and forces maximum frequencies even when the ARM cores are not busy.

                                          1 Reply Last reply Reply Quote 0
                                          • B
                                            Brunnis @dankcushions
                                            last edited by Brunnis

                                            @dankcushions said in Overclocking the Pi3b+ GPU (Results):

                                            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?

                                            It might be mainly a problem if you decrease buffering, for example by setting max_swapchain_images=2. I believe the issue is caused by the on demand CPU governor not being able to handle the spiky CPU load. The CPU will emulate one frame and then push it to the GPU. While the GPU waits for a frame flip, the CPU will more or less idle, before kicking off emulation of the next frame. My guess is that the governor spins down the CPU and loses too much time when spinning it back up again during the next frame.

                                            I would say using the performance governor as default for the run command would be safe. The user should expect (and want) the CPU to be in the high performance state anyway when running an emulator (and have the necessary cooling in place). The fact that the CPU may not always hit or stay at max frequency is the actual unexpected part here.

                                            EDIT: On second thought, I guess the reduced buffering just makes the issue more likely to crop up. The unwanted CPU frequency reduction probably happens all the time at default settings as well, it’s just that there’s an additional frame buffered that will mostly cover the performance drop and prevent frame rate hitches.

                                            @quicksilver said in Overclocking the Pi3b+ GPU (Results):

                                            @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.

                                            My Pi 3 B+ actually hits 1.39V already at over_voltage=1. That’s actually pretty high on 40nm, so I wouldn’t want to push it more. I guess the A53 really isn’t made to cope with high frequencies... 1.5GHz on 40nm and 1.4V is pretty abysmal.

                                            H 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.