Getting the best N64 experience on a Pi 4
-
Hi together,
Yesterday I tried Pilotwings 64 again with version 4.7.1 on my Pi 4.
(it runs well on my Pi 3 with rice plugin in 640x480)It ran best with rice plugin, but still with slowdowns and stuttering.
With other/newer plugins I get even more issues. Especially shadow problems and stuttering.Does somebody has an idea, or optimization options, if it would be playable without stuttering and glitches?
-
@quicksilver nowadays with a 2100 mhz overclock how KI gold runs? It is one of the games I am looking for the most, I know I could play the KI 1 & 2 arcade versions but TBH I play fighting games for their training / practice mode more than for Vs or Arcade mode
-
@sergioad According to @roslof's compatibility list :
'Using Rice prevents some textures from rendering, but it has the best framerate. Not good. Per @quicksilver, best to use mupen64plus-GLideN64. Title Screen will stutter badly, and gameplay will be sluggish for awhile, but it will soon recover. Thanks for the reminder @AdamBeGood (RetroPie Forumns)'
-
@george-spiggott I don't have any experience with the N64 emulators on the Pi 4, however based on some videos I've seen I would suggest a moderate overclock with some good active cooling, plugins only help at the software level and they can do nothing about hardware limitations.
Btw not that you noticed but I decided to come back for a little while with a different account as I thought I'd share some useful advise.
-
@sergioad How common is the 2.1ghz overclock though? I mean stable ones? it seems you need an Ice Tower or something similar to it to achieve those kinds of stable OC's on the P4. I could be wrong but I haven't seen it being done on smaller or less expensive coolers.
-
@agtrigormortis In any case you are right, overclocking does not do much for N64 emulation.
Using the right plugins for each game, and configuring them appropriately goes a long way however. -
@zering it does help a little though, of course you need a suitable plugin but if PS1 emulation is troublesome on the Pi 4 then I can't see N64 emulation being much better, whether the correct plugins were used or not.
and clearly this has nothing to do with how much RAM the Pi's have, the P4 1gb is easily enough. But I can see why some problems are caused by the low clock speed of the CPU. It was hard enough doing it on native hardware, emulation is much harder because you're having a different architecture mimic other hardware while trying to keep the latency down. Native hardware can get away with lower specs because it isn't spending a significant amount of its resources trying to behave like other computers.
-
@agtrigormortis it's not the CPU. the N64 emulator we use, mupen64plus, has had a decent dynamic recompiler for ARM since before RetroPie, and if you run
top
from an SSH session whilst an N64 game is running you should see plenty of CPU to spare. last time i checked, even the pi2 had headroom on the CPU front.the issue is the GPU and system bandwidth requirements increasing as the emulation gets more accurate. the pi series aren't dedicated gaming machines, so they're lagging behind quite badly here. however, there are constantly efforts to eek more out of what we have, via software tweaks.
CPU overclocks should be largely pointless for N64 unless they also provide some benefit to system bandwith, which is possible. i would have thought GPU, RAM and core overclocks would be a better bet.
-
@agtrigormortis PS1 emulation is troublesome on the Pi 4?? Since when?
-
@zering since it was advised to OC the PI 4 to give it the extra performance it needed to run the emulators to be stable and responsive. If the CPU was fast enough at stock speeds there wouldn't have been any need for OCing it, period, that isn't up for debate.
For the Super Nintendo, Sega Genesis, Sega CD, as was mentioned by the user Spawn Wave on Youtube those are taken care of, and I would say the Pi 4 is overkill for that considering it was already done without issue on the earlier systems especially Pi 3, but you can benefit from a mild overclock on Pi 4 Dreamcast, N64 and PS1 titles. RAM amount on the Pi 4 versions to some extent doesn't matter because the systems being emulated do not use a lot of system memory to start with so a 1gb model would suffice.
Even then you're still not quite at the point where you can turn frame skip off and remain comfortable, dankcushions makes a good point about the other bottlenecks in the system though, they all need to be removed and hopefully Pi Foundation improves the bandwidth as well as the GPU and CPU speed on Pi5, if there will be one.
To get accurate emulation you need optimized software as well as hardware that meets the requirement and as been said we're not quite there with N64 and PS1 yet. We won't be there until the games can all be comfortably ran at 60fps with frame skip turned off and not stutter with almost no glitches.
-
@agtrigormortis I'm not disagreeing with anything you're saying in particular but your assessment of PS1 emulation on the Pi seems grossly mistaken to me. The PS1 is my most played system, and I was running it at full speed with no frameskip even on the stock Pi 3.
A few games do not work. Maybe two or three in my experience. It's hardly what I would call troublesome.
As for the N64, tinkering with the different plugins I was able to run just about every game on a stock Pi 4 with no issue. My later overclock did not affect most N64 games.Maybe we have different expectations from what is in the end a 30 pounds single board computer?
-
@zering I see what you're saying, although it is worth mentioning that the 8gb version of the Pi 4 cost about 70 pounds which is the one I have. The RAM is overkill for the RetroPie but I want to be able to use the system for more things than just retro gaming.
The Pi Foundation have been making improvements to their product and it is getting to a point where it can be used as a general purpose computer.
-
@dankcushions I've seen a few people mention system bandwidth, what is meant by this phrase is this instance?
-
@george-spiggott It means there is a bottleneck, the RAM is not fast enough for the CPU and GPU to work together at their peak. I'm not at all surprised if that is the case because we are talking about a cheap PCB made for computer learning and basic tasks. Also integrated GPU's are known for sucking at gaming performance because they have to share the main RAM, they do not have their own memory.
But since there is a market for retro gaming the Pi Foundation do have a good reason to cater to them, so the Pi 5 is likely to happen soon, hopefully with DDR4 and a much faster GPU.
-
@agtrigormortis It was possible to modify the RAM speed on a Pi3. Is this still possible on a Pi4? Has anyone experimented with this (up or down) and got any noticeable results?
-
@george-spiggott To be honest I'm not sure, even if you can though there will be thermal limits like with OCing the other hardware and in the end we will still be restricted by cooling and voltage.
Because of the size of my case I cannot exactly install an Ice Tower cooler on mine, my Digitalkey case is too small for that, but it did allow for the aluminium alloy Geekworm heatsink with active cooling. The intention is to install the case onto a Vesa mount on the back of a monitor.
When I get around to OCing it I'd probably cap out at about 1.8ghz, it just depends on what the heavy load temps are.
-
@george-spiggott it kind of describes many things that are involved in shunting data around the system until it results in putting pixels on the screen. the pi series have a shared memory architecture and hence not the dedicated highspeed graphics ram you might find on a traditional GPU. that said, i am not sure the upgrade from LPDDR2 (pi1-3, i think) to LPDDR4 (pi4) made a massive difference to the situation, so it could be more to do with the system bus, CPU cache, or something else. the GPU drivers may be inefficient. all i know if you can easily bring the pi4 to its needs with certain 2d emulator and a shaders, just because several elements are fighting for limited bandwidth.
but in general terms, the rpi series are general purpose, cheap computers. they're not really designed for what we're trying to do with them. personally i think overclocking (on pi4) has generally little benefit for things like n64, and that is born out in benchmarks (that very few people seem to be interested in doing).
-
@dankcushions Regardless, by the time the Pi 5 comes out if there will be one I think it will be enough for bare minimum near flawless N64 and PS1 emulation, provided the software was programmed to make proper use of it.
But then we're up against the next big hurdle, Xbox 360 and PS3 emulation.
How many Pi generations would it take to get this done properly? especially running games like Forza 2, PGR3, Halo 3 and Kingdom Hearts 1.5 and 2.5 remixes? my prediction is Pi 8 or 9, so it's a long wait. -
@agtrigormortis I'd say the next big hurdles are PS2, Gamecube and the original XBox.
Not to mention the Saturn which is still very much hit and miss. -
@zering Sega Saturn had some cool looking games too like Sega Rally and even had its own port of Virtua Racing. Yeah I found out about the problems with Saturn emulation a while back, I do want to get some official disks to rip their ISO's to my Pi 4 to try them out but looks like I have to start with Sonic Adventure and Crazy Taxi Dreamcast, which do emulate surprisingly well on the Pi 4.
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.