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

    Getting the best N64 experience on a Pi 4

    Scheduled Pinned Locked Moved General Discussion and Gaming
    mupen64pluspi4 bnintendo 64
    365 Posts 41 Posters 244.1k 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.
    • George SpiggottG
      George Spiggott
      last edited by George Spiggott

      @AdamBeGood If you haven't already tried it, lowering the screen resolution in Retropie (down from 1080p) and lowering the audio latency (down from 64) can both have beneficial effects for emulators that are nearly fast enough.

      @roslof Great work on the emulation guide. One tiny omission, I only run SotE in 320x240 with MSAA, not widescreen. AFAIK the game has no widescreen support.

      There's a list of games that have widescreen support here: https://www.racketboy.com/forum/viewtopic.php?f=2&t=41744

      I imagine that they all look better with widescreen enabled. I will attempt to find out with as many as I can.

      Banjo-Tooie
      Donkey Kong 64
      GoldenEye 007
      Perfect Dark (tested, yes it does)
      The World is not Enough

      Currently running:
      Retropie 4.8.9 on a Pi Zero 2W (Overclock Settings: CPU 1400Mhz)
      ES-DE on a GMKtec K6 (Windows 11, 32GB RAM)

      1 Reply Last reply Reply Quote 0
      • NakynawN
        Nakynaw
        last edited by

        Hey Guys, until the N64 emulators get a major update, have we reached some consensus on anything about the tweaking of our Pi 4?

        Its seems like the only consensus is about hybrid filter off and overclocking with hdmi_enable_4k60=1, v3d_freq=800ish and arm_freq+2000ish...

        Speaking of which, I wondering, is «v3d_freq=830» really better than «gpu_freq=750»? Cause, I thought ISP, H264 and V3D were all on the same PLL and that ISP and H264 could not go higher than 750... So, when we set V3D at 830, does it really do that or it just max at 750 with the rest?

        Also does everyone agree on «color to rdram is set to async»?

        Skipframe, FBemulation, FXAA all seems like we are not all of the same opinion.

        I am looking for a setup that would run most games with either Next or GlideN64 without making specific configs other than the emulators .cfg

        PI4B 8GRAM (Canakit Extreme) - Retropie 4.6.7 (my first Pi ever : september 2020)
        OC : arm=2k, v3d=830, hdmi4kp60=1, turbo=1, OV=6

        George SpiggottG A 2 Replies Last reply Reply Quote 1
        • George SpiggottG
          George Spiggott @Nakynaw
          last edited by

          @Nakynaw You don't need to overclock the CPU at all to run N64. V3D overclocking is the only part of the GPU that a Pi4 needs for any emulation currently. My V3D is set very high, perhaps too high for some. It is stable on MY Pi, in the sense that I Have not encountered games won't work or any instability generally. However I have never run my Pi through a genuine stress test.

          Currently running:
          Retropie 4.8.9 on a Pi Zero 2W (Overclock Settings: CPU 1400Mhz)
          ES-DE on a GMKtec K6 (Windows 11, 32GB RAM)

          lucaparzival2022L NakynawN A 3 Replies Last reply Reply Quote 0
          • lucaparzival2022L
            lucaparzival2022 @George Spiggott
            last edited by

            @George-Spiggott I overclock my pi4 to 2.0 Ghz and every game I've tried works great.

            George SpiggottG 1 Reply Last reply Reply Quote 0
            • George SpiggottG
              George Spiggott @lucaparzival2022
              last edited by George Spiggott

              @lucaparzival2022 I have too but it really has no effect on N64 emulation. Don't take my word for it, take the overclock off and test it for yourself. CPU overclocking isn't even needed on a Pi3.

              Currently running:
              Retropie 4.8.9 on a Pi Zero 2W (Overclock Settings: CPU 1400Mhz)
              ES-DE on a GMKtec K6 (Windows 11, 32GB RAM)

              1 Reply Last reply Reply Quote 0
              • KaK
                Ka
                last edited by

                I have to say I’m really impressed by the performance of Goldeneye on Parallels. It runs so much better than on any other emulator; you can even run it at 60fps! It’s not perfect at full speed like that - it slows down a fair bit, and you get a lot of screen tearing. But it slowed down a lot on original hardware anyway, and Goldeneye looks and plays wonderfully at 60fps. It feels incredibly responsive, and the animation is fantastically smooth.

                The only real issue is that some of the textures have huge black lines across them, like tramlines. It’s particularly noticeable on the open Siberian levels, where the black lines cover the snow textures, but it’s not too distracting.

                1 Reply Last reply Reply Quote 1
                • A
                  AdamBeGood @Nakynaw
                  last edited by AdamBeGood

                  @Nakynaw said in Getting the best N64 experience on a Pi 4:

                  Its seems like the only consensus is about hybrid filter off and overclocking with hdmi_enable_4k60=1, v3d_freq=800ish and arm_freq+2000ish...

                  I thought there was some controversy around 4k60=1 also, I am sure someone questioned the benefit of that.

                  It's really good that you are asking the questions though, it would be good to have this stuff nailed down to some degree.

                  Also does everyone agree on «color to rdram is set to async»?

                  Where is this option? Is this in the standalone mupen config, or is this a Retroarch menu setting? Not sure what I have mine set as.

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    ReadyPlayaWon Banned @AdamBeGood
                    last edited by ReadyPlayaWon

                    @AdamBeGood said in Getting the best N64 experience on a Pi 4:

                    Where is this option? Is this in the standalone mupen config, or is this a Retroarch menu setting? Not sure what I have mine set as.

                    you can find it in ... /opt/retropie/configs/n64/mupen64plus.cfg

                    if you search within the mupen64plus.cfg file for rdram you'll find multiple references, but the one relating to color is this one ...

                    # Enable color buffer copy to RDRAM (0=do not copy, 1=copy in sync mode, 2=Double Buffer, 3=Triple Buffer)
                    EnableCopyColorToRDRAM = 1
                    

                    or just disable in the menu

                    alt text

                    1 Reply Last reply Reply Quote 1
                    • NakynawN
                      Nakynaw @George Spiggott
                      last edited by

                      @George-Spiggott said in Getting the best N64 experience on a Pi 4:

                      @Nakynaw You don't need to overclock the CPU at all to run N64. V3D overclocking is the only part of the GPU that a Pi4 needs for any emulation currently. My V3D is set very high, perhaps too high for some. It is stable on MY Pi, in the sense that I Have not encountered games won't work or any instability generally. However I have never run my Pi through a genuine stress test.

                      And what frequency is that, if you do not mind sharing?

                      (I just received my second Pi4 (extreme kit) will soon run some test for sure on my side!)

                      PI4B 8GRAM (Canakit Extreme) - Retropie 4.6.7 (my first Pi ever : september 2020)
                      OC : arm=2k, v3d=830, hdmi4kp60=1, turbo=1, OV=6

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        AdamBeGood @Nakynaw
                        last edited by

                        @Nakynaw said in Getting the best N64 experience on a Pi 4:

                        And what frequency is that, if you do not mind sharing?

                        (I just received my second Pi4 (extreme kit) will soon run some test for sure on my side!)

                        @Nakynaw It is in his signature at the bottom of his posts! I thought about asking this question too, before I checked there.

                        @ReadyPlayaWon Thanks for the info!

                        1 Reply Last reply Reply Quote 1
                        • A
                          akamming @George Spiggott
                          last edited by

                          @George-Spiggott said in Getting the best N64 experience on a Pi 4:

                          @Nakynaw You don't need to overclock the CPU at all to run N64. V3D overclocking is the only part of the GPU that a Pi4 needs for any emulation currently. My V3D is set very high, perhaps too high for some. It is stable on MY Pi, in the sense that I Have not encountered games won't work or any instability generally. However I have never run my Pi through a genuine stress test.

                          I have a different experience. I had some sound stuttering in games like cruis'n exotica which were solved by overclocking the arm to 2000. (in combination with the kms driver and v3d overclock to 815).

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            AdamBeGood @akamming
                            last edited by

                            @akamming said in Getting the best N64 experience on a Pi 4

                            I have a different experience. I had some sound stuttering in games like cruis'n exotica which were solved by overclocking the arm to 2000. (in combination with the kms driver and v3d overclock to 815).

                            I hate always being the guy with these questions, but what is "kms driver"?

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              akamming @AdamBeGood
                              last edited by

                              @AdamBeGood said in Getting the best N64 experience on a Pi 4:

                              I hate always being the guy with these questions, but what is "kms driver"?

                              it's discussed here quite a lot

                              basically a different display driver for the pi which offloads some work from the gpu to the cpu, which comes in handy when the gpu is the performance bottleneck, like in n64 emulation.

                              you can enable it in boot/config.txt. This is my config:

                              [pi4]
                              # Enable DRM VC4 V3D driver on top of the dispmanx display stack
                              #dtoverlay=vc4-fkms-v3d
                              dtoverlay=vc4-kms-v3d-pi4,noaudio
                              

                              be aware: not all software (e.g. kodi, omxplayer) will work with this driver.

                              A 1 Reply Last reply Reply Quote 1
                              • A
                                AdamBeGood @akamming
                                last edited by AdamBeGood

                                @akamming Cool, I'll try it out! I only use the Pi for gaming.

                                Edit: Emulation Station wouldn't load with that in the config, so I've taken it out now.

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

                                  Note that this configuration - pure KMS driver - is going to remove support for the emulators relying ondispmanx and they'll not work.

                                  The driver is still marked as experimental right now by the RPI engineers - though it's in a fairly usable state.

                                  basically a different display driver for the pi which offloads some work from the gpu to the cpu, which comes in handy when the gpu is the performance bottleneck, like in n64 emulation.

                                  That's not 100% correct, while the pure KMS has some advantages over the F(irmware)KMS driver, the CPU will not be boosting the GPU performance.

                                  From: https://www.raspberrypi.org/forums/viewtopic.php?p=1507622#p1507247

                                  Kinda offtopic but what is the difference between vc4-fkms-v3d and vc4-kms-v3d?

                                  It's down to what actually drives the video scaler (HVS), pixel valves, and output display blocks (HDMI/VEC/DSI/DPI).
                                  With vc4-fkms-v3d this remains with the firmware, and the firmware still allows DispmanX or MMAL to add extra layers.
                                  With vc4-kms-v3d, the Linux kernel is driving all that lot, and DRM prohibits multiple clients adding layers at the same time.

                                  A 1 Reply Last reply Reply Quote 0
                                  • George SpiggottG
                                    George Spiggott
                                    last edited by

                                    I seem to be having a bit of luck with turning off overscan on Mupen64 Plus Next. It doesn't seem to affect screen size on my TV and both SotE and Perfect Dark seem to run faster, Perfect Dark runs fast enough to run in 16:9 640x360 with MSAA without too much slowdown.

                                    @Nakynaw It's in my sig, thanks @AdamBeGood.

                                    Currently running:
                                    Retropie 4.8.9 on a Pi Zero 2W (Overclock Settings: CPU 1400Mhz)
                                    ES-DE on a GMKtec K6 (Windows 11, 32GB RAM)

                                    dankcushionsD A 2 Replies Last reply Reply Quote 1
                                    • dankcushionsD
                                      dankcushions Global Moderator @George Spiggott
                                      last edited by

                                      @George-Spiggott the overscan option is a bit of a misnomer. you have to adjust the various overscan left/right/etc settings to see an effect. the overscan setting on its own just turns the VI emulation on, which is the part of the n64 that converts the game image to a TV signal. as part of this, it forces it to certain resolutions, sometimes different from the game resolution, which can cause scaling artefacts/blurring. also, i suppose it's an additional graphical operation that could cause some performance issues.

                                      i'll look to getting it disabled by default.

                                      1 Reply Last reply Reply Quote 1
                                      • A
                                        AdamBeGood @George Spiggott
                                        last edited by

                                        @George-Spiggott said in Getting the best N64 experience on a Pi 4:

                                        I seem to be having a bit of luck with turning off overscan on Mupen64 Plus Next. It doesn't seem to affect screen size on my TV and both SotE and Perfect Dark seem to run faster, Perfect Dark runs fast enough to run in 16:9 640x360 with MSAA without too much slowdown.

                                        @Nakynaw It's in my sig, thanks @AdamBeGood.

                                        I see too much screen tearing on Mupen64 Plus Next, and sometimes the Night Vision doesn't work, other times it does.... on my Pi at least. I don't have that kms driver like you do though.

                                        George SpiggottG 1 Reply Last reply Reply Quote 0
                                        • George SpiggottG
                                          George Spiggott @AdamBeGood
                                          last edited by

                                          @AdamBeGood I never got any good results out of MSAA before upgrading to the KMS driver. MSAA delivers some nice improvements to low res N64 games for very little overhead, much less overhead than increasing the resolution. I can see why you would want to wait though.

                                          Currently running:
                                          Retropie 4.8.9 on a Pi Zero 2W (Overclock Settings: CPU 1400Mhz)
                                          ES-DE on a GMKtec K6 (Windows 11, 32GB RAM)

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            AdamBeGood @George Spiggott
                                            last edited by AdamBeGood

                                            @George-Spiggott said in Getting the best N64 experience on a Pi 4:

                                            @AdamBeGood I never got any good results out of MSAA before upgrading to the KMS driver. MSAA delivers some nice improvements to low res N64 games for very little overhead, much less overhead than increasing the resolution. I can see why you would want to wait though.

                                            I don't want to wait as such, my Emulation Station just didn't load when I turned that setting on in the Config!

                                            lvl0: Error creating SDL window!
                                                Could not initialize EGL
                                            lvl0: Renderer failed to initialize!
                                            lvl0: Window failed to initialize!
                                            
                                            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.