Getting the best N64 experience on a Pi 4
-
@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.
-
@agtrigormortis You want to buy Saturn disks? I'm assuming you have kidneys you no longer need? ^^
Dreamcast emulation on the Pi 4 us excellent, I'm running most games in native resolution with no frameskip on lr-flycast. Only Giga Wing and Mars Matrix have been slow but they run better on MAME anyway. Sadly there's still no way to run those finicky Windows CE games.
I'd recommend you try N64 Pi 4 emulation for yourself, you might be surprised. I upgraded from the Pi 3 because mine was dying, and I only expected incremental improvements. Then next thing I knew I was playing through Conker's Bad Fur day with not a hint of slowdown or graphical issues. (It was unplayable on Pi 3) -
@zering Naw lol I found out about the emulation problems from some Youtubers, Sega Saturn is clearly off the cards there, but I am willing to try the Dreamcast ones, just not the pirated versions because I don't want to risk financial difficulty through seeded torrents. I'll need to try to get them from Ebay if I can.
the interesting thing about the Pi 4 is some PC games will work on it too, like Quake 3 Arena, I don't know how exactly but for some reason people managed to get that game to work on the Pi 4, along with some others. Probably related to the Windows 98 emulation through Dosbox or something. ^^
-
@agtrigormortis Quake 3 runs through a source port, and as far as I know it ran fine on the Pi 3.
So you're not actually speaking from experience? What systems did you try on the Pi 4? -
@zering None yet, I've only just pieced mine together, I tested RetroPie on it which seems to run fine.
But when I get around to testing it I will find out what works first hand and what doesn't, instead of just taking information from people I don't know IRL.
Oh yeah now that I think about it I think the guy in the Youtube video said it worked on the Pi 3 with the Vulkan drivers, you're right it is a source port and he said we have to wait for Vulkan for the Pi 4.
My apologies for the misinformation, I got confused there. lol
Quake 3 Arena did work fine on the Pi 3 at 100+fps with occasional dips to 60 IIRC.
So when Vulkan comes to Pi4 Quake 3 should remain at 100+ even with Lightmap and trillinear settings in OpenGL. -
@agtrigormortis As always with the Pi - tinker. You'd be amazed with the leaps in performance you can get with just one setting (ie. N64's frame buffer emulation)
I can't speak about how well Quake 3 ran on Pi 3 as I only played it on Pi 4, but I had set it up on the Pi 3 so I know it was possible. I don't know anything about Vulkan drivers. Currently Quake 3 runs a treat on the Pi 4.
Likewise I wouldn't believe everything you see on YouTube. At the moment there isn't one system in my setup (over 100) I'm not getting value out of. But if I believed everything I read I'd have never attempted to set up the N64 or the Saturn. You just have to be willing to spend a bit of time tinkering with these more complex and/or obscure systems.I'll be waiting for your rescinded statement concerning PS1 emulation ^^
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.