Getting the best N64 experience on a Pi 4
-
@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.
-
@akamming thanks again. Will make the adjustments.
-
@AdamBeGood said in Getting the best N64 experience on a Pi 4:
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.
I changed the recommendation to lr-mupen64plus but added notes about the Rice option. Thank you!
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.
Changed recommendation to GLideN64-highres. Thanks here too,
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.
Changed to GLideN64 and credited accordingly.
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.
Added this test and credited. Thank you!
Getting lots of good advice for the group.
-
@roslof said in Getting the best N64 experience on a Pi 4:
...Maybe this can help Pi4B owners get rolling more quickly, as it takes a long time to find recommended emulators for ~400 games.
I run perfect dark in 16:9 480x360 in Lr-Mupen64plus-next with very similar overclock settings (see my sig). Several games will run in Lr-Mupen64Plus-next at 320x240 with MSAA set to 2 with very little performance drop.
-
@George-Spiggott said in Getting the best N64 experience on a Pi 4:
@roslof said in Getting the best N64 experience on a Pi 4:
...Maybe this can help Pi4B owners get rolling more quickly, as it takes a long time to find recommended emulators for ~400 games.
I run perfect dark in 16:9 480x360 in Lr-Mupen64plus-next with very similar overclock settings (see my sig). Several games will run in Lr-Mupen64Plus-next at 320x240 with MSAA set to 2 with very little performance drop.
What is MSAA? I'm not familiar with it. I don't suppose it fixes the Spycam parts of Perfect Dark, those are a bit janky on my playthroughs so far.
I guess I'll have a play around.
-
@AdamBeGood (multi sample) Anti aliasing. SotE looks really good with it.
-
@AdamBeGood the camspy should work just fine using mupen64plus-gliden64 with default settings on the pi 4. It won't work at all on previous pi models.
-
@quicksilver Yep, you are right. I am not sure what emulator I was using before then...
That part even seems okay on highres, but there is a bit of slowdown generally (Villa level isn't great). Shame, as it seems quite close to being able to run fine and it looks better than the normal lr-mupen64plus.
-
@quicksilver said in Getting the best N64 experience on a Pi 4:
change screen update setting to 7 and it will get rid of the strange "jitter" issue that gles2rice has on the pi 4
Awesome ! it works .. thanks very much :)
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.