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

N64 performance question

Scheduled Pinned Locked Moved General Discussion and Gaming
n64performance
20 Posts 9 Posters 5.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.
  • L
    lostless
    last edited by 11 Feb 2021, 04:01

    This is more of inquiry of why n64 runs so so on a PI4 that is over clocked to 2000Mhz. I was watching the CPU speed while running N64 games and noticed that the CPU was only running at 900-1000 most of the times and would not kick in to 2000 when things were slowing down but would at other times.
    I'm assuming that the n64 emulator, r-mupen64plus-next , is more GPU bound and that is causing the issues. My question is it the GPU or drivers for the CPU?

    Z D D 3 Replies Last reply 11 Feb 2021, 05:52 Reply Quote 0
    • Z
      Zering @lostless
      last edited by 11 Feb 2021, 05:52

      @lostless This is a question that keeps coming back.
      N64 emulation on the pi is complex, each game functions much better or much worse depending on which plug in of mupen64 you use. As a rule the libretro version is generally slower although it works better for some games provided you use NTSC roms and disable Framebuffer emulation.
      I would search in this forum for the N64 thread, roslof has posted a pi 4 compatibility list that covers every game and what configuration to use for each.

      D 1 Reply Last reply 11 Feb 2021, 07:25 Reply Quote 1
      • D
        DreamcastKid Banned @Zering
        last edited by BuZz 11 Feb 2021, 07:25

        @zering said in N64 performance question:

        I would search in this forum for the N64 thread, roslof has posted a pi 4 compatibility list that covers every game and what configuration to use for each.

        I have to google spreadsheet bookmarked to link for others who don't want to trawl through a 300+ post thread :)

        https://docs.google.com/spreadsheets/d/1Rq4shU1RUSdcc7cTVWeORMD-mcO6BwXwQ7TGw8f5_zw/view#gid=1983504515

        1 Reply Last reply Reply Quote 0
        • D
          DreamcastKid Banned @lostless
          last edited by BuZz 11 Feb 2021, 07:32

          @lostless said in N64 performance question:

          My question is it the GPU or drivers for the CPU?

          GPU

          Overclock your Pi's GPU, stick with 640x480 or lower resolution for N64 and select the best N64 emulator per rom .

          S 1 Reply Last reply 11 Feb 2021, 08:38 Reply Quote 0
          • S
            sirhenrythe5th @DreamcastKid
            last edited by 11 Feb 2021, 08:38

            I remember 20 years ago i had better results with Nemu, Daedalus & UltraHLE on a Pentium 2. Later "Project64" was the way to go.
            Maybe it is also the emulator itself: during my PC-Aera (1994-2007) "Mupen" allready existed, but was the weakest of all N64-Emulators for the PC.
            However: i tested the most popular games "Mario64" and "MarioKart64" with the RP4 and was very dissapointed.
            As i own a real N64 i can compare it on the fly, the gaming-experience is by far not 1:1.
            I really had better results back in 1999 with Windows-PCs, but i guess there will be better perfomance/emulators in the future.
            IMO it is not the Pi concerning all these errors and lack of perfomance, it is the bad software (Mupen).

            -- Retro-Achievements Username: SirALX --
            RetroRatio: 1.88
            Started Games beaten: 2,47%
            Site Rank: 4382/93743 ranked users (TOP 4.76%)
            Last seen in [The Legend of Zelda: Lost in Time (HACK) [N64], exploring Hyrule at Night]

            1 Reply Last reply Reply Quote 0
            • D
              dankcushions Global Moderator @lostless
              last edited by 11 Feb 2021, 08:41

              @lostless n64 hasn’t been cpu-bound on the pi since the pi 2. run ‘top’ via ssh whilst a game is running and you’ll see cpu usage barely creeps up to 50%. the reason being is that mupen64plus has an ARM dynarec.

              it’s also not necessarily gpu-bound; in my experience it’s system bandwidth that’s the main issue. have a look at RAM and core/cache overclocks.

              1 Reply Last reply Reply Quote 2
              • Q
                quicksilver
                last edited by 11 Feb 2021, 14:06

                Make sure you are using mupen64plus-gliden64 as your default emulator. This is easily the best plugin and should be used for 80-90% of the games. After some updates this past year I'd say that the vast majority of the n64 library is playable on the pi 4. I have overclocked my pi's cpu and gpu (v3d block) and it does help for some games though I'll need to do some additional testing to see how necessary it truly is. What specific games are giving you issues?

                L L 2 Replies Last reply 11 Feb 2021, 16:39 Reply Quote 0
                • L
                  lostless @quicksilver
                  last edited by 11 Feb 2021, 16:39

                  @quicksilver it’s not any game specifically, just an general question of where the bottleneck is. With all this extra power in the pi4, many other games on other emulators that slightly struggled on a pi3 systems, perform excellent now, and I can see they are using the pi4s cpu to the max. But n64 wasn’t taking advantage of that extra cpu power, no matter what emulator I chose, it slightly performed better than a PI3b+.

                  1 Reply Last reply Reply Quote 1
                  • L
                    luckyluca @quicksilver
                    last edited by luckyluca 5 Aug 2021, 16:43 8 May 2021, 15:03

                    @quicksilver

                    do you mean that updates to gliden64 specifically has made it now 80-90% compatible with n64 games?
                    Also, are you referring to the ntsc romset specifically?

                    asking because the google doc mentioned in this thread points to several emulators and cores, wonder if it's not that up to date anymore.

                    thx!

                    D Q 2 Replies Last reply 8 May 2021, 16:31 Reply Quote 0
                    • D
                      Drdave79 @luckyluca
                      last edited by 8 May 2021, 16:31

                      @luckyluca I would assume since it's a live link that it's current by his last update. I could be wrong. Would be nice if he had a date on the spreadsheet somewhere.

                      1 Reply Last reply Reply Quote 0
                      • Q
                        quicksilver @luckyluca
                        last edited by quicksilver 5 Aug 2021, 21:02 8 May 2021, 19:58

                        @luckyluca I'm saying that gliden64 should be the default option for 80-90% of the N64 library.

                        The problem with the compatibility charts is that you have to trust whoever made it to have the same preferences as you do. Sometimes you have to choose between good performance or accurate emulation. Gliden64 is currently the most accurate and most performant for the vast majority of N64 games. The other plugin options are old and inaccurate but still have a few use cases.

                        L 1 Reply Last reply 8 May 2021, 22:33 Reply Quote 0
                        • L
                          luckyluca @quicksilver
                          last edited by 8 May 2021, 22:33

                          @quicksilver thanks, I'm interested in compatibility and speed, I'll try that emulator first then.

                          On my installation both the lr-mupens and mupens core and emulator are from 29/10/2020.
                          Have there been more updates recently that would warrant updating?

                          One more thing, which I find confusing: the n64 emulators.cfg lists some gles2 options.
                          However under retroarch/cores/mupens I can see gles3 folders (rather than gles2), why is that?

                          Thanks again
                          Luca

                          D 1 Reply Last reply 8 May 2021, 22:51 Reply Quote 0
                          • D
                            dankcushions Global Moderator @luckyluca
                            last edited by 8 May 2021, 22:51

                            @luckyluca

                            One more thing, which I find confusing: the n64 emulators.cfg lists some gles2 options.

                            mupen64plus-gles2n64? that's just a video plugin name.

                            However under retroarch/cores/mupens I can see gles3 folders (rather than gles2), why is that?

                            what are you specifically looking at? please show a screenshot or paste it.

                            L 1 Reply Last reply 8 May 2021, 23:34 Reply Quote 0
                            • L
                              luckyluca @dankcushions
                              last edited by luckyluca 5 Sept 2021, 00:42 8 May 2021, 23:34

                              @dankcushions
                              Thanks!
                              Regarding core and emulator versions, they're from the 29th Oct 2020.

                              Regarding that specific point, I was wondering where the GLES3 in the retroarch/config/ Mupen folders come from, considering that there is no mention of GLES3 in the n64/emulators.cfg file.

                              /opt/retropie/configs/all/retroarch/config
                              drwxr-xr-x 2 pi   pi    69632 Oct 31  2020 'Mupen64Plus GLES3'
                              drwxr-x--- 2 pi   pi     4096 Apr 13 00:21  Mupen64Plus-Next
                              drwxr-xr-x 2 pi   pi     4096 Jun 15  2020 'Mupen64Plus-Next GLES3'
                              
                              mupen64plus-auto = /opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh AUTO %ROM%
                              lr-parallel-n64 = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-parallel-n64/parallel_n64_libretro.so --config /opt/retropie/configs/n64/retroarch.cfg %ROM%"
                              lr-mupen64plus-next = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mupen64plus-next/mupen64plus_next_libretro.so --config /opt/retropie/configs/n64/retroarch.cfg %ROM%"
                              lr-mupen64plus = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mupen64plus/mupen64plus_libretro.so --config /opt/retropie/configs/n64/retroarch.cfg %ROM%"
                              mupen64plus-GLideN64 = "/opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh mupen64plus-video-GLideN64 %ROM% %XRES%x%YRES% 0 --set Video-GLideN64[UseNativeResolutionFactor]\=1"
                              mupen64plus-GLideN64-highres = "/opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh mupen64plus-video-GLideN64 %ROM% %XRES%x%YRES% 0 --set Video-GLideN64[UseNativeResolutionFactor]\=2"
                              mupen64plus-gles2n64 = "/opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh mupen64plus-video-n64 %ROM%"
                              mupen64plus-gles2rice = "/opt/retropie/emulators/mupen64plus/bin/mupen64plus.sh mupen64plus-video-rice %ROM% %XRES%x%YRES%"
                              default = "lr-mupen64plus"
                              

                              P.s.
                              @quicksilver @dankcushions I'd love if you could share your configs/all/emulators.cfg file guys, to take a peak at your n64 per-game settings, whether possible.

                              D 1 Reply Last reply 8 May 2021, 23:45 Reply Quote 0
                              • D
                                dankcushions Global Moderator @luckyluca
                                last edited by dankcushions 5 Sept 2021, 00:47 8 May 2021, 23:45

                                @luckyluca said in N64 performance question:

                                @dankcushions
                                Regarding that specific point, I was wondering where the GLES3 in the retroarch/config/ Mupen folders come from, considering that there is no mention of GLES3 in the n64/emulators.cfg file.

                                /opt/retropie/configs/all/retroarch/config
                                drwxr-xr-x 2 pi   pi    69632 Oct 31  2020 'Mupen64Plus GLES3'
                                drwxr-x--- 2 pi   pi     4096 Apr 13 00:21  Mupen64Plus-Next
                                drwxr-xr-x 2 pi   pi     4096 Jun 15  2020 'Mupen64Plus-Next GLES3'
                                

                                i am not sure why you have both Mupen64Plus-Next and Mupen64Plus-Next GLES3 config overrides, but the name of the file is pulled from the library name and it looks like this was changed from the latter to the former after some refactoring, so i guess you have used it before and after the relevant update.

                                GLideN64 (the video plugin which both mupen64plus-GLideN64 and lr-mupen64plus-next use) has GLES3 code paths. it's nothing of note. the plugin is compiled to use GLES3 as appropriate in both contexts.

                                the ancient gles2n64 and gles2rice video plugins do not use GLES3.

                                L 1 Reply Last reply 13 May 2021, 08:41 Reply Quote 1
                                • V
                                  VictimRLSH
                                  last edited by 11 May 2021, 03:08

                                  I'm probably going to get rotting fruit thrown in my general direction for this, but I've actually found the best way to play N64 games on the Pi 4 is to run WoR with the latest 64 bit Win 10 ARM build and just use Project64. Getting Windows 10 ARM running on WoR (Windows on Raspberry) is a daunting task but well worth the effort considering how much it opens up.

                                  System Config: Retropie 4.4 with full desktop, RPi 3B, 256gb SD, 5v 2.1A 5,200 mAH USB battery. EasyMSX controller mounted with Pimoroni Hyperpixel 4 (non touch). Also running 4.6 on a 4gb Pi 4 serving as my primary desktop computer now.

                                  L 1 Reply Last reply 11 May 2021, 15:38 Reply Quote 1
                                  • L
                                    lostless @VictimRLSH
                                    last edited by lostless 5 Nov 2021, 18:12 11 May 2021, 15:38

                                    @victimrlsh 🍅🥥🍅🍋🍎🍋🍋🍌🍅🍅. Might as well just plug my laptop into my tv at that point. Kinda defeats the ease of pick up and play of retro pie. 😂

                                    1 Reply Last reply Reply Quote 3
                                    • L
                                      luckyluca @dankcushions
                                      last edited by luckyluca 13 May 2021, 08:41

                                      @dankcushions
                                      yes cores were updated at some point, which would explain the config folder naming switch.

                                      @dankcushions
                                      So that I understand correctly, the config folders
                                      "Mupen64Plus-Next GLES3" and
                                      "Mupen64Plus GLES3"

                                      are not used anymore, so all per-game overlay configs should be copied to

                                      "Mupen64Plus-Next"
                                      and
                                      "Mupen64Plus", respectively.

                                      Am I getting it right?

                                      D 1 Reply Last reply 13 May 2021, 22:02 Reply Quote 0
                                      • D
                                        dankcushions Global Moderator @luckyluca
                                        last edited by 13 May 2021, 22:02

                                        @luckyluca what's an "overlay config"? do you mean override config? in which case, yes, in the case of Mupen64Plus-Next. I am not sure about Mupen64Plus - you'd have to check the code like I did for -Next.

                                        it seems like it would be pretty trivial to figure this out, though. just load a game you have overrides for and see if they're applied via the RGUI, when they're in the wrong(?) folder, and whether they become applied when you move them to the right(?) folder.

                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          luckyluca
                                          last edited by 13 May 2021, 22:09

                                          @dankcushions

                                          you're right, that's a quicker way of checking :-)

                                          to answer your question, I was referring to per-game override configs that only contain a one line pointing to the overlay config (which in turn points to the graphics), if that makes sense.

                                          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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received