Getting the best N64 experience on a Pi 4
-
@George-Spiggott i belive:
# Render 2D texrects in native resolution to fix misalignment between parts of 2D image. (0=Off, 1=Optimized, 2=Unoptimized) EnableNativeResTexrects = 0
to
# Render 2D texrects in native resolution to fix misalignment between parts of 2D image. (0=Off, 1=Optimized, 2=Unoptimized) EnableNativeResTexrects = 1
in /opt/retropie/configs/n64/mupen64plus.cfg
or the equiv core option in lr-mupen.
-
@dankcushions I had not noticed that option before. Do you know if there a performance hit for using it?
-
@quicksilver there presumably will be otherwise it would default on.
-
@dankcushions Thanks that solved it. There were a few N64 games that ran well on a stock Pi3B+ I think most of these will be good candidates to run at 640x480 on a Pi4. So far Mario Cart 64 and Donkey Kong Racing are the only ones I have tried. I also managed to fix my Worms Armageddon problem by running the game in Mupen64plus in 640x480.
This is the graphical error in Mario Cart 64 so people know what to look out for.
-
Hello together,
First of all, thanks for the efforts to bring a first release out for the RPI4.
I tried to run Goldeneye and Pilotwings 64 on first official RPI4 release.
Currently, I got weaker performance as on my RPI3 with old rice core for these two titles.Pilotwings rans nearly at 100 per cent on RPI3.
On RPI4, i tried all cores. At most of the time it stuckes and there are artefacts and glitches on the screen.Goldeneye rans also i would say only 70 per cent of speed.
Addititional, I tried also lakka in the past on RPI4, with nearly same behaviour.
I guess the emulator cores and/or gpu drivers are currently not very optimized so far.I will ask some questions in the round, which I currently do not know, maybe one of you have here already more background info:
-
Are there any improvements possible, what could be said by today?
-
Would a coming vulkan gpu driver help for better N64 performance?
-
is there any ongoing optimization for the N64 emulators/cores, especially for the RPI4?
-
-
@Pi-nerd84 said in Getting the best N64 experience on a Pi 4:
Hello together,
First of all, thanks for the efforts to bring a first release out for the RPI4.
I tried to run Goldeneye and Pilotwings 64 on first official RPI4 release.
Currently, I got weaker performance as on my RPI3 with old rice core for these two titles.Pilotwings rans nearly at 100 per cent on RPI3.
On RPI4, i tried all cores. At most of the time it stuckes and there are artefacts and glitches on the screen.Goldeneye rans also i would say only 70 per cent of speed.
i can definitely see some nasty regression in goldeneye speed. i'm bisecting right now to see where it changed.
-
tagging @quicksilver - I just compiled standalone mupen64plus-GLideN64 from the beginning of the year and it's getting hammered in the intro (spinning nintendo logo) and presumably beyond, whereas lr-mupen64plus-next seems fine. not sure what the discrepancy can be? has it always been like this? very strange!
-
@dankcushions which game are you testing? I just did a source update a few days ago and everything has been working fine for me. (Was working fine before that as well)
Edit: let me restore my mupen64plus.cfg back to default before I confirm anything though and I'll report back.
-
@quicksilver Goldeneye on pi4 - the intro seems very slow, when my memory of it on the pi3 is that it would slow down during the 'gun barrel walk' part, but not before that. i didn't get further than that.
-
@dankcushions I restored my mupen64plus.cfg to default settings (afaik) and tested GoldenEye. Feels the same as I remember it. A little bit of slowdown on the gunbarrel part of the intro and the menu select screen. But Nintendo logo and the rest "feel" right to me.
Do you have issues with the latest build from source or binary install (not sure when binaries were last updated)
-
@Pi-nerd84 generally you shouldn't be using gles2rice as a first choice on the pi 4. Pilot wings should work fine with gliden64. Gliden64 still has active development and is much more accurate. The reason you are having issues with gles2rice is because it's rendering everything 640x480 on the pi4 and it was 320x240 on the pi 3. The mupen64plus.sh script which controlled mupen64plus render res on the pi 3 isnt functional at this time. You should be able to edit the mupen64plus.cfg and change res from 640x480 to 320x240.
-
@quicksilver if it's not too much bother, would you mind uploading your .cfg somewhere so I can cross reference the difference?
-
-
So something weird I have noticed with quite a few games when using gliden64. Take KI for example, when you start a match the game is very choppy and quite obviously not running fullspeed. However after about 15 secs of gameplay, the game smooths out and runs fullspeed from there on out. 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.
-
@quicksilver said in Getting the best N64 experience on a Pi 4:
thanks! there wasn't anything significant different but i tried it anyway and i still get slow downs and choppy sound for the spinning nitendo logo with latest binary. do you do any other tweaks to the cfg? i remember you saying something about the audio plugin.
TBH i don't know if my install is particularly stock these days. it could well be something i've messed up...
-
@dankcushions I changed the sdl audio resampler to "trivial", it greatly improved audio latency but I don't think help speed anything else up.
Though one thing I just thought of is I forgot to turn off my overclock when I tested. Let me turn off my overclock and retest. If that's the reason I'm getting better performance I'm going to feel rather sheepish.
-
@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?
-
I find that Pilotwings goes to a black screen when I enter a level on anything except GLide-N64. Is this normal?
-
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.
-
@Jste84 performance is definitely better on my pi 4. Are you sure you are comparing the same emulators?
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.