Getting the best N64 experience on a Pi 4
-
@AdamBeGood to confirm you are on a pi 4 right?
-
@quicksilver I am indeed, yep!
Just trying Mystical Ninja Starring Goeman now that I have gles2rice working, but it is still poor. Is it something to do with the sky? Always seems to be when the sky is in view. So weird!
-
@AdamBeGood gles2rice and gles2n64 are old and no longer developed so unfortunately things will never get better using them. You are likely to run into graphical inaccuracies.
-
@quicksilver Goeman doesn't work on anything anyway. Gles2rice is as good as I've seen it on a Pi. Thanks for the info though!
-
Has anyone managed to get any noticeable increase in performance since installing the new v5.4 kernel? As with PSP I have noticed that there are definitely incremental improvements to both kernel and emulator, for example smoothing only has a small overhead and can be used in several games. Also Rogue Squadron will now play fairly smoothly in 640x480.
-
@George-Spiggott is this due to the new kernal though? I don't have it and Rogue Squadron runs for me on GlideN64. Wonder if Glide got updated and that's what caused the improvement.
-
I agree. I put a similar statement in my PSP post but didn't repeat it here. Will edit for clarity.
Changes have occurred since I started this thread and I think the 5.4 upgrade offers a good opportunity to discuss any changes and improvements we can benefit from.
-
Just got a Raspberry pi + Retropie.
Some very odd experiences with the N64. Very laggy on large TV, so changed video resolution to lowest options, and moved to smaller (non-smart) TV.
And the picture was off the bottom corner of the screen. Good audio though.
Opened settings, and behold: back in the middle. Closed settings, off to the Right again.
Reset to defaults, and back into the middle. WIth virtally no audio during gameplay (F-Zero-X).
Reasonable picture (bit laggy at times).
Suggestions? -
@Dr-Nick Please open a separate topic and add the info requested in https://retropie.org.uk/forum/topic/3/read-this-first.
-
I started up an N64 compatibility list, specifically for Pi4B and all of the various supported RetroPie emulators and added a section for emulator default overrides. Yes, there are other lists out there, but I was unable to find one detailed enough for my liking. There are MANY facets to emulating N64 on this device. x86 folks won't have as much trouble... we're still trying to squeeze out as much performance and fun as possible.
After reading through this thread and personally trying to maximize performance on N64, I learned a lot. I wager y'all know more than I do... So if you see anything funky, just call it out. With your help, I'm sure I can do better and improve the list...
I'm exclusively using a Raspberry Pi4B w/2GB RAM and an Argon One case, with the following overclock settings:
force_turbo=1 arm_freq=2000 over_voltage=6 v3d_freq=830 hdmi_enable_4kp60=1
Of course, your settings may vary... This is my baseline.
Also, I made sure that all emulators are using their DEFAULT configuration (as of 2020/09/01) unless otherwise noted in the Compatibility List.
EDIT/Removed:
One exception: I enabled Threaded Renderer for the lr-mupen64plus-next emulator.Some of this work is subjective, but I try to be consistent. As an example, I usually lean more towards performance-based gameplay, even if there are minor graphic issues, or slow-down in menus. But I also push for 640x480, and may be willing to sacrifice a small amount of performance for this, and note it accordingly so others can make an informed decision to pick a different emulator. If no emulator can handle 640x480, I lower res to 320x240. This is my stake-in-the-ground... I'm not playing with higher resolutions at this time.
With that, here's is my N64/Pi4B Compatibility List (work-in-progress, and using a highly optimized ROM list that doesn't cover duplicate titles from different countries). Maybe this can help Pi4B owners get rolling more quickly, as it takes a long time to find recommended emulators for ~400 games.
-
@roslof nice work!
If you lean towards performance based gameplay: try switching off Fram Buffer Emulation. This will give a big performance boost. I haven't noticed different graphics on my pi4 apart from a few ingame tv monitors which no longer show an image in that ingame tv monitor
There is however one issue: you can only use ntsc (us) roms, since there is an issue with alignment of objects on pal (eu) roms with Framebuffer Emulation off. This one is already acknowledged by the developer of gliden64 and will probably fixed a near future release.
So on my system i use default settings + threaded renderer on + Frame Buffer Emulation off on all roms. Except for a few roms wich are not available in the us version where i have fb emu enabled
-
@akamming said in Getting the best N64 experience on a Pi 4:
try switching off fb emulation
That's Frame Buffer Emulation for any newbies (like myself) that aren't familiar with abbreviations
FYI ;)
-
@akamming What is Threaded Renderer listed as please? Struggling to see it in the Options...
Edit: Ahhh, that is an lr-mupenplus-next Option I see.
@roslof This is a great resource. I agree with it, in as much as I've checked it against my system so far. Aside from on a few points:
-
Yoshi's Story on Rice is just too glitchy for me, I'm using lr-mupen64plus even if that is slightly jumpy at scrolling sometimes. I can't cope with my eggs being black squares.
-
WaveRace 64 - if I use lr-mupen64plus, the bottom of my screen gets cut off, there is a black bar at the bottom. I've been using GLideN64-highres, which isn't full-screen but does seem to run fine.
-
on Killer Instinct Gold, as @quicksilver mentioned above - if you use mupen64plus-gliden64 and let the game run for a fight or two, the game then begins to run fine and will be okay for the rest of the session.
-
if anyone wants to play Mystical Ninja Starring Goeman, then mupen64plus-gles2rice is the emulator to use, and make sure you use the US ROM, as there is something awry with the European version.
-
-
@ReadyPlayaWon you're right, i edited my post for better readability. (i'm also a newbie btw... ;-) )
@AdamBeGood That's the one i mean. There 's also a similar option in Mupen64plus in the mupen64plus.cfg file: "ThreadVideo=On|Off", which is default "on". i think this is the same, but i never switched it off to find out, so i'm not 100% sure..
-
Overclocking ISP and h264 frequency is unnecessary and confusing to newbies. It won't hurt anything but these are used for the image sensor pipeline (aka camera) and for video decoding. They aren't used at all in emulation.
Second, many games will be broken with framebuffer emulation turned off. I don't recommend turning it off (it's on by default for a reason). The performance boost isn't worth it if the game doesn't function properly.
Threaded rendering should be left on, I can't think of a case where turning it off would be beneficial (except maybe input latency).
-
@akamming said in Getting the best N64 experience on a Pi 4:
try switching off Fram Buffer Emulation.
Thanks @akamming! Yes, from what I can tell, the default setting after a clean install has Frame Buffer Emulation set to False. You may note in the list a few games set to True as an override.
If I'm mistaken, I'll add a comment to the top of the override column so folks can set that as default.
-
@roslof FBE is definitely set to true by default. it is needed for so many games to function correctly.
-
@dankcushions said in Getting the best N64 experience on a Pi 4:
@roslof FBE is definitely set to true by default. it is needed for so many games to function correctly.
Thank you @dankcushions
Perfect. I'll make the note in the list. -
@quicksilver said in Getting the best N64 experience on a Pi 4:
Overclocking ISP and h264 frequency is unnecessary and confusing to newbies. It won't hurt anything but these are used for the image sensor pipeline (aka camera) and for video decoding. They aren't used at all in emulation.
Good idea. I edited my post and removed the two lines.
Second, many games will be broken with framebuffer emulation turned off. I don't recommend turning it off (it's on by default for a reason). The performance boost isn't worth it if the game doesn't function properly.
From testing about 70 games, the number that require Frame Buffer Emulation seems to be very low. Seems better as an override in this case. Do you know if it affects PAL games more than NTSC? My optimized set is NTSC, and only PAL is used if there is no NTSC equivalent.
Threaded rendering should be left on, I can't think of a case where turning it off would be beneficial (except maybe input latency).
This may again be because I'm primarily using a custom NTSC ROMset. Performance seems to be a factor here. You have me thinking that I should retest the games for those emulators with the option on and see if the FPS Delta is significant.
@quicksilver I know you've done your homework and have helped in several threads. Appreciate your help here.
-
@roslof yes i'm 100% sure fb emulation causes alignment issues on pal games, Cause i logged an issue at the gliden64 repository and this was the answer of the developer:
N64 has Video Interface (VI) subsystem, which maps digital image to TV screen. VI controls, how the image will be placed on screen. For example, your MK64 shots. I'm sure it is PAL version of the game. It has black bars on top and bottom because PAL has more horizontal lines than NTSC. VI adds vertical offset when it maps image to screen. Emulation of VI is part of FB emulation.
In other words if you switch off fb emulation you miss an essential capability to display the video correctly for pal.
Details can be found here
In my experience it works fine on ntsc.
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.