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 245.3k 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.
    • dankcushionsD
      dankcushions Global Moderator @quicksilver
      last edited by

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

      I can replicate this behavior in the menus for StarCraft 64 and battle for naboo, slow and choppy at first but then suddenly smooths out and runs fullspeed. I thought this must be something to do with the texture caching however if I quit the game and reload, it is choppy again for about the first 15 secs or so (which shouldn't happen right?)
      Edit: haven't tested with KI yet but with StarCraft and battle for naboo I used htop to see what was happening during this initial slow down and I can see memory usage continuing to climb. As soon as the memory usage stops climbing is when the game suddenly becomes fullspeed.

      strange. i know you can get stutters during shader recompilation, but compiled shaders should be stored between sessions. you can see the stored ones like so:

      pi@retropie:~ $ ls -al .cache/mupen64plus/shaders
      total 28
      drwx------ 2 pi pi 4096 Apr 30 22:52 .
      drwx------ 3 pi pi 4096 Jan 20 13:42 ..
      -rw-r--r-- 1 pi pi  147 Apr 13 02:01 GLideN64.3b48c581.GLES.keys
      -rw-r--r-- 1 pi pi  451 Jan 26 17:22 GLideN64.4f70bd4b.GLES.keys
      -rw-r--r-- 1 pi pi  204 Apr 12 10:17 GLideN64.b6bd1d73.GLES.keys
      -rw-r--r-- 1 pi pi  432 Apr 29 10:07 GLideN64.eb4d37c1.GLES.keys
      -rw-r--r-- 1 pi pi  299 Apr 29 09:45 GLideN64.f05a5536.GLES.keys
      

      pay attention to the dates - do you get new ones appear here after you re-load a game?

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

        I find that Pilotwings goes to a black screen when I enter a level on anything except GLide-N64. Is this normal?

        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)

        quicksilverQ 1 Reply Last reply Reply Quote 0
        • J
          Jste84
          last edited by

          I've also noticed performance for N64 seems to be worse than on the 3b+

          Goldeneye is really sluggish, tried f-zero and audio was certainly not great.

          Video was set to 4k as default so I reduced that... But didn't see a huge improvement. Only tried the default emu.

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

            @Jste84 performance is definitely better on my pi 4. Are you sure you are comparing the same emulators?

            J 1 Reply Last reply Reply Quote 0
            • J
              Jste84 @quicksilver
              last edited by

              @quicksilver has the default emulator changed? I've only had 3 games on mario 64, f-zero and Goldeneye to be fair. will do more testing tomorrow

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

                @Jste84 yes I believe the defaults have changed

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

                  @dankcushions so I tested with my overclock off and performance definitely went down. However the spinning Nintendo logo at the begining was fullspeed. Then I remembered that I always lower the display res in runcommand to 640x480 for the n64 emulators. Once I reset to the default 1920x1080 the Nintendo logo became very choppy. So the upscaling to 1080p is causing a big performance hit.

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

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

                    @dankcushions so I tested with my overclock off and performance definitely went down. However the spinning Nintendo logo at the begining was fullspeed. Then I remembered that I always lower the display res in runcommand to 640x480 for the n64 emulators. Once I reset to the default 1920x1080 the Nintendo logo became very choppy. So the upscaling to 1080p is causing a big performance hit.

                    thanks, that was enough for me to figure it out! the issue is this setting:

                    EnableHybridFilter = True
                    

                    It's a recent addition to GLideN64 that allows better upscaling (less uneven pixels), but appears to be a major performance hit. if you set this to False the performance issues go away (even at 1080p). PR incoming to fix this for future installs, but those of you running current, paste the following into a command line session:

                    source ~/RetroPie-Setup/scriptmodules/inifuncs.sh 
                    iniConfig ' = '
                    iniSet "EnableHybridFilter" "False" "/opt/retropie/configs/n64/mupen64plus.cfg" 
                    
                    

                    thanks again @quicksilver - you've helped so much with n64!

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

                      PR: https://github.com/RetroPie/RetroPie-Setup/pull/3124

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

                        @dankcushions is this something that needs looked into for lr-mupen64plus-next? I know that it follows gliden64 closely but I don't see the setting exposed in the retroarch menu.

                        dankcushionsD 1 Reply Last reply Reply Quote 0
                        • quicksilverQ
                          quicksilver @George Spiggott
                          last edited by

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

                          I find that Pilotwings goes to a black screen when I enter a level on anything except GLide-N64. Is this normal?

                          No it's not normal, I'm able to run pilot wings with gles2rice and levels load normally (gles2rice needs it's screen update settings tweaked in the mupen64plus.cfg otherwise you'll get a really strange jitter effect on screen on the pi 4. I'm using setting 7 as it seems to be the least problematic but not of the settings seem to perfectly resolve the issue). This may be another setting that needs changed for pi 4 users @dankcushions. I know you aren't a fan of the old plugins but there are still some games that just don't perform well using gliden64 or mupen64plus-next.

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

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

                            @dankcushions is this something that needs looked into for lr-mupen64plus-next? I know that it follows gliden64 closely but I don't see the setting exposed in the retroarch menu.

                            they will expose the option in later releases, but right now it looks like it's always enabled, unless i'm reading the code wrong.

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

                            This may be another setting that needs changed for pi 4 users @dankcushions. I know you aren't a fan of the old plugins but there are still some games that just don't perform well using gliden64 or mupen64plus-next.

                            other than some horrible slowdown in the menus, pilotwings 64 seems to perform ok for in-game for GLideN64?

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

                              I can play Pilotwings N64 on GLide-N64 just not any others. On gles2n64 it opens in a tiny square in the bottom of the screen and in gles2rice the screen has an odd off-putting jitter.

                              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
                              • quicksilverQ
                                quicksilver @dankcushions
                                last edited by quicksilver

                                @dankcushions it may not be the best example but there are other games where the difference is more pronounced, excitebike 64, crusin USA, clayfighters etc. for example. Either way, without changing the screen update setting gles2rice is useless on the pi 4.

                                @George-Spiggott see my post above on how to fix the gles2rice jitter issue for the pi 4.

                                1 Reply Last reply Reply Quote 0
                                • S
                                  Stevewp @dankcushions
                                  last edited by

                                  @dankcushions Unfortunately the games I’m trying to improve performance with, Cruis’n USA for example, doesn’t even work with that emulator...

                                  It seems like we are half way there, I can run many N64 games on the Pi 4 that I couldn’t on the Pi 3 but they have issues. Either the emulators will need to improve, which probably won’t happen, or maybe a Pi 5 will run them properly

                                  dankcushionsD quicksilverQ 2 Replies Last reply Reply Quote 0
                                  • George SpiggottG
                                    George Spiggott
                                    last edited by

                                    There are still improvements to the GPU drivers like Vulcan implementation that may have benefits for N64 (also PSP and Dreamcast) performance.

                                    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
                                    • dankcushionsD
                                      dankcushions Global Moderator @Stevewp
                                      last edited by

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

                                      @dankcushions Unfortunately the games I’m trying to improve performance with, Cruis’n USA for example, doesn’t even work with that emulator...

                                      just tried it - works fine for me? some slowdown but it 'works'

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

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

                                        Cruis’n USA for example, doesn’t even work with that emulator...

                                        For that particular game use gles2rice. You'll also need to modify the mupen64plus.cfg located at /opt/retropie/configs/n64/mupen64plus.cfg at the bottom under the video-rice section change screen update setting to 7 and it will get rid of the strange "jitter" issue that gles2rice has on the pi 4. The game is still a little slow here and there but it's certainly "playable".

                                        R 1 Reply Last reply Reply Quote 0
                                        • R
                                          rittnasty @George Spiggott
                                          last edited by

                                          @George-Spiggott Where did you edit this for mupen64plus-next? I cannot find the config file or the option to edit this setting like I could find for mupen64plus. I am only experiencing the 'line' when I use mupen64plus-next.

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

                                            @dankcushions https://github.com/gonetz/GLideN64/commit/438bcc460f07ad3c9e25b8bd4e72581a443c2a7c

                                            I'll test this out and see if it fixes our slowdown issues with the hybrid filter.

                                            Edit: looks like youre already aware of this change, sorry for pinging you :p

                                            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.