Getting the best N64 experience on a Pi 4
-
@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?
-
@quicksilver has the default emulator changed? I've only had 3 games on mario 64, f-zero and Goldeneye to be fair. will do more testing tomorrow
-
@Jste84 yes I believe the defaults have changed
-
@dankcushions so I tested with my overclock off and performance definitely went down. However the spinning Nintendo logo at the begining was fullspeed. Then I remembered that I always lower the display res in runcommand to 640x480 for the n64 emulators. Once I reset to the default 1920x1080 the Nintendo logo became very choppy. So the upscaling to 1080p is causing a big performance hit.
-
@quicksilver said in Getting the best N64 experience on a Pi 4:
@dankcushions so I tested with my overclock off and performance definitely went down. However the spinning Nintendo logo at the begining was fullspeed. Then I remembered that I always lower the display res in runcommand to 640x480 for the n64 emulators. Once I reset to the default 1920x1080 the Nintendo logo became very choppy. So the upscaling to 1080p is causing a big performance hit.
thanks, that was enough for me to figure it out! the issue is this setting:
EnableHybridFilter = True
It's a recent addition to GLideN64 that allows better upscaling (less uneven pixels), but appears to be a major performance hit. if you set this to False the performance issues go away (even at 1080p). PR incoming to fix this for future installs, but those of you running current, paste the following into a command line session:
source ~/RetroPie-Setup/scriptmodules/inifuncs.sh iniConfig ' = ' iniSet "EnableHybridFilter" "False" "/opt/retropie/configs/n64/mupen64plus.cfg"
thanks again @quicksilver - you've helped so much with n64!
-
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.