Getting the best N64 experience on a Pi 4
-
@roslof yeah, I did change it to 1080p, so I guess resolution isn’t the issue.
-
@roslof I’m also seeing that while playing Mario Party 3 the tiles and character models are missing in-game. Not sure if this is a me thing or what, but I’m following the emulator recommendation and settings from the spreadsheet. Maybe something to do with the FB setting?
-
@akatoosh said in Getting the best N64 experience on a Pi 4:
@roslof I’m also seeing that while playing Mario Party 3 the tiles and character models are missing in-game. Not sure if this is a me thing or what, but I’m following the emulator recommendation and settings from the spreadsheet. Maybe something to do with the FB setting?
No, it's not just you. You're correct about the issue with Next, but it's not due to the FrameBuffer. You could use lr-mupen64plus instead of next. The characters will render and tiles will be correctly placed.. Even with Framebuffer False. Will update the compatibility chart to reflect this. Cheers!
-
@roslof Cool. The same issue is happening in Mario Party 2 as well, though in the plus emulator the HUD flickers for me a little bit.
-
https://github.com/libretro/parallel-n64/issues/646 - came across this issue when looking around recently, it seems for whatever reason using vulkan fixes the red dot/camera issue Pokémon snap we're stuck with. So if nothing else when vulkan is stable enough to be integrated into retropie we might see that game become playable?
-
@akatoosh said in Getting the best N64 experience on a Pi 4:
@roslof Cool. The same issue is happening in Mario Party 2 as well, though in the plus emulator the HUD flickers for me a little bit.
Helpful. I made this change as well. I didn't notice the HUD flicker. Would you help me understand where/when the HUD is doing this?
-
@roslof hmm. Strange. I see it during a game once players start moving on the board. As a player rolls and walks on the board the 4 character panels in the corners will flicker.
-
@akatoosh the flickering doesn’t happen constantly. Occasionally it will start and stop.
-
Hey has anyone got any issues with ISS 64? I find with the game there's these big ugly shadows underneath the players. (https://github.com/gonetz/GLideN64/issues/103) tried changing the depthcompare to true but it didn't fix it. Any ideas?
-
@retropieuser555 iirc depth compare doesn't work on the raspberry pi. Don't take that as gospel but that is likely the issue.
-
@george-spiggott A bit of a late response here but I just noticed this as well. I just started messing with my pi again after about 6 months or so. It seems standalone mupen64plus-gliden64 also got a nice performance boost. Several games that were very choppy now run much better. The vigilante games, Fighting Force and SOTE all seem to run much better now. Im still testing but I am sure there are more.
Edit: Can add "destruction derby" to the list of games with improved performance. This another one that was a choppy mess but seems full speed now.
-
@quicksilver great! maybe it was this? i didn't see any improvements in games but i barely benchmarked it other than what i wrote in the PR
-
@dankcushions Perhaps so! Is there a good method for benchmarking? Id like to get around to doing that in an effort to see what overclocking the pi 4 actually does to improve performance and by how much.
EDIT: so after some additional testing I have found that the vast majority of the n64 library is playable on a raspberry pi 4 with good performance and accuracy now. This is really exciting!
Something interesting I have noticed is that some of the games that still perform poorly, only do so for the first minute or two of the game and then they become full speed or nearly so for the rest of the play session. A couple examples are killer instinct, quake 2, and excite bike. All three games (there may be more) are initially very slow and choppy. During this time you can see that memory usage on the pi is steadily climbing. After the game finishes loading whatever it is into the RAM the game smooths out and works well. I wonder if this is something that could be optimized to work better on the pi?
-
Do different emulators have different smoothing capabilities? I have noticed some games that work with different emulators have very smooth graphics while others are pixelated.
Does the resolution make a difference in performance or appearance for emulation? 1920x1080 vs. 640x320.
Besides basic overclocking, is there anything else to get good performance and graphics?
It is amazing how great dreamcast works but N64 struggles.
-
@billymild said in Getting the best N64 experience on a Pi 4:
Do different emulators have different smoothing capabilities? I have noticed some games that work with different emulators have very smooth graphics while others are pixelated.
by default we try and set up the n64 emulators (and all systems, for the most part) to run at native resolution - so for n64 this is around 320x240. there are options to run at higher resolution - eg mupen64plus-gliden64-highres. additionally you could adjust the options within the emulators, or their config files.
Does the resolution make a difference in performance or appearance for emulation? 1920x1080 vs. 640x320.
yes. typically fairly drastic on a pi system.
Besides basic overclocking, is there anything else to get good performance and graphics?
this thread has lots of info.
It is amazing how great dreamcast works but N64 struggles.
n64 has a proto-3d accelerator that is complex to emulate, especially with good performance on such weak hardware as pi systems. dreamcast is in some ways fairly similar to current technology, so is 'easier' to emulate.
-
@dankcushions thank you for the information.
On the topic of resolution, what is gained by going to higher resolution if the original media is of a lower resolution?
-
@billymild on 2d games a higher resolution doesn't really have a benefit, but on 3d games it increases the detail (less jagged edges).
-
@dankcushions @billymild
Some parts of some games have 640x480 2-D assets, and would have originally been put on the screen at 480i.For example the "Multiplayer" (4 player) option inside the Bust-a-Move '99 game are obviously for 640x480 - you can barely read the text in 320x240.
I found the game can play perfectly smoothly (very few small audio glitches moving through the menus) in lr-mupen64plus-next with the 640x480 core option set as long as I don't have an overlay on the screen. (I also have the "Threaded renderer" core option off in this game).
I don't spend much time with this core or platform, but have learned that it's helpful to create a new core options file for each ROM instead of relying on a single core options configuration.
(Installing the experimental RetroPie on the beta Raspberry Pi 64-bit OS, lr-mupen64plus-next is even smoother, and I can have the overlay switched on too for Bust-A-Move '99 with the same configuration).
-
@busywait said in Getting the best N64 experience on a Pi 4:
@dankcushions @billymild
Some parts of some games have 640x480 2-D assets, and would have originally been put on the screen at 480i.For example the "Multiplayer" (4 player) option inside the Bust-a-Move '99 game are obviously for 640x480 - you can barely read the text in 320x240.
yep, hence i wrote
by default we try and set up the n64 emulators (and all systems, for the most part) to run at native resolution - so for n64 this is around 320x240
to be clear, mupen64plus-gliden64 and lr-mupen64plus-next are set to use native resolution, so they use whatever resolution the game originally was, which is typically around 320x240 but can be more or less. when you set it to '-highres' is simply doubles that native resolution.
(the other n64 emulators are a mixed bag)
I found the game can play perfectly smoothly (very few small audio glitches moving through the menus) in lr-mupen64plus-next with the 640x480 core option set as long as I don't have an overlay on the screen. (I also have the "Threaded renderer" core option off in this game).
-next's pre-set core resolution options can conflict with the native resolution setting if you move them from default (which is actually 640x480 anyway). i forget how they interact now - really the setting should be ignored when using native resolution but i believe it isn't (i always recommend gliden64 standalone for this and other reasons). you can adjust native resolution core option to 2x for a more accurate way of increasing resolution.
-
@dankcushions said in Getting the best N64 experience on a Pi 4:
by default we try and set up the n64 emulators (and all systems, for the most part) to run at native resolution - so for n64 this is around 320x240
to be clear, mupen64plus-gliden64 and lr-mupen64plus-next are set to use native resolution, so they use whatever resolution the game originally was, which is typically around 320x240 but can be more or less. when you set it to '-highres' is simply doubles that native resolution.
Thanks - is there a quick way to ensure the core options for n64 are defaults (I thought they were already), because lr-mupen64plus-next was not showing the 480i detail for me - probably because I misinterpreted advice to set the default resolution to 320x240, which I might have done in the core options.
I don't see a "native resolution" core option - is that in another config file, or compiled in?
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.