Smooth Nintendo 64 games on Raspberry Pi 3 B+
-
Pi Model: 3 B+
Power Supply used: 5V 2500ma
RetroPie version: v4.4
Built from: ISO on RetroPie website
USB Devices Connected: Controller (info below)
SanDisk Cruzer Edge 29.1 GB
Controller used: Wired XBOX 360 Controller for Windows (it works for RetroPie fine)
Sorry for the noob question but is there a way to run N64 games like Mario Kart 64 smoothly? Also do NOT suggest overclocking my Raspberry Pi cannot be overclocked. -
@Kaydenmario8 When you launch the game the run command menu will briefly pop up. Press a button to enter the runcommand menu. Navigate to select emulator for rom. Choose gles2n64. That option will allow Mariokart to run much better on your pi.
Also your pi can certainly be overclocked and it does help with N64 emulation on the pi. However you shouldnt mess with this unless you are fairly tech savvy.
-
@quicksilver said in Smooth Nintendo 64 games on Raspberry Pi 3 B+:
@Kaydenmario8 When you launch the game the run command menu will briefly pop up. Press a button to enter the runcommand menu. Navigate to select emulator for rom. Choose gles2n64. That option will allow Mariokart to run much better on your pi.
Also your pi can certainly be overclocked and it does help with N64 emulation on the pi. However you shouldnt mess with this unless you are fairly tech savvy.
- Thanks for that help I hope this doesn't require a keyboard since I don't have one right now (I am using a laptop so I cannot just simply unplug it)
- How do you overclock a Pi 3 B+ that has a heatsink on it? Because in pi-config it says "This Pi cannot be overclocked."
-
@Kaydenmario8 You will not need a keyboard to navigate the runcommand menu.
For info on overclocking look here: https://retropie.org.uk/docs/Overclocking/
The section specifically on manual overclocking is what you are looking for. You will need remote access to your pi in order to make changes. If after reading all that and you dont understand what it means dont mess with overclocking. Its really for advanced users who understand what they are doing. An improper overclock can corrupt your SD (likely) or at worst ruin your pi (not likely). If you have questions about overclocking feel free to ask.
Edit: May also want to look at this as well: https://retropie.org.uk/docs/Optimization-for-Nintendo-64/
-
This is possibly the most updated list for N64 on PI/RetroPie as its been built by hand and testing personally every N64 game on the list by the author of the list
These are his suggestion to get the best out of the PI for N64 gaming, which should also have the side effect of improving playability of other systems that push the PI hardware
Change Default N64 Emulator
This file lets you select the default emulator. You have the option to assign different emulators to different ROM files with the Run Command before a system launches.
I have personally had better stability and performance with Gles2N64 than GlideN64. Officially, GlideN64 is supposed to be the best current graphical plugin and may one day be the best (isn't everything linux like that though ;-).
At the time of writing this (June 2017) glitchy graphics, stuttering audio, and random buggyness with GlideN64 says otherwise, so I recommend Gles2N64.
Connect via Putty
sudo -i nano /opt/retropie/configs/n64/emulators.cfg Change the following line (Before) default = "mupen64plus-GLideN64" (After) default = "mupen64plus-gles2n64" Ctrl + X (Exit) > Y (Yes to save changes)
f you want to play N64 or PS1 and have a good experience, you will want to get a case with a fan, and overclock your Raspberry Pi 3. If you are not emulating PS1 or N64, do not worry about overclocking.
This is surprisingly important. I normally don't overclock any equipment, ever, but overclocking really does make a massive improvement on your RetroPi setup, it's the difference between some N64 games working great or being completely unplayable -- if you want to play Goldeneye or Super Smash Bros and have a good time, you'll need this step.
These settings are for a Raspberry Pi 3 in a case with minor ventilation, and the cheapo 14mm x 14mm x 4mm heatsinks on top that come with cheap kits (they only drop temps by 5-8C). A fan however will make a HUGE impact, heatsinks for the Raspberry Pi make a minimal impact once under load. Temperature can be verified by SSH'ing in with Putty, and running the below command.
Temperature can be verified by SSH'ing in with Putty, and running the below command:
#Check temperature. Hit Up-Arrow > Enter to keep checking.
vcgencmd measure_tempThe most important setting oddly enough, is the v3d_frequency. This seems to provide more performance improvements than anything else I've found. disable_splash=1 just speeds up the boot process.
sudo -i nano /boot/config.txt Use Ctrl+K to delete the matching lines, Right-Click to "Paste" in the content. Ctrl+X to Quit > Y (Yes) to Save)
arm_freq=1350
gpu_freq=525
core_freq=525
sdram_freq=500
over_voltage=6
v3d_freq=525
force_turbo=1
avoid_pwm_pll=1
disable_splash=1I have to agree adding a tiny fan makes a MASSIVE difference to CPU temps and easily powered by the PI on the GPIO pins, lowering temps by as much as 15c. I have a pretty big heatsink I made out of a block of aluminium heatsink I bought off ebay and cut down to slightly bigger than the PI CPU but its about 3cm tall, much bigger than any other heatsink with a fan screwed into the the heatsink. Temps never go above 45-48c even when heavily stress testing the CPU. I fixed it using heatsink glue, which is basically epoxy glue and heatsink paste. £1 a tube with postage off ebay
Resolution
This can be a tricky category. Different games run better, and look better, at different resolutions. The higher the resolution, the greater the process/performance demands on the RaspberryPi. In general, I've found it best to have the default video mode for any emulator to be 640x480 (CEA1). For example, even the emulator GLes2N64-HighRes, will look more "HD" running at CEA-1 (640x480) than say, CEA-4(1280x720) and run smoother on Jet Force Gemini. For GLes2N64, CEA-1 though a 4:3 resolution is scaled properly to fit a 1080p 16:9 display -- it looks really good on many games!
-
arm_freq=1350
gpu_freq=525
core_freq=525
sdram_freq=500
over_voltage=6
v3d_freq=525
force_turbo=1
avoid_pwm_pll=1
disable_splash=1A lot of your overclock settings are redundant and some are putting extra stress on your pi for no gain in performance. Forcing turbo just makes your pi run at maximum clock speed all the time, even when idle. Its not going to make your pi any faster and if anything is shortening the lifespan of your pi. Also you have core, gpu and v3d all set to the same value. Gpu_freq sets core_freq, v3d_freq and the other blocks of the GPU. So while listing it out like you have doesnt necessarily hurt anything, its redundant and not needed. Core_freq sets the core clock speed of the GPU and is the bottleneck for N64 gaming on the raspberry pi. Increasing the V3d_freq does not boost N64 performance on the Pi. You can also get rid of avoid_pwm_pll=1, this is an old setting and is no longer needed, the seperate gpu components do not have to have related PLLs anymore (although yours are all set to 525 so Im not sure why you are using this anyway).
Also a note on graphics plugins: Gliden64 is far superior to gles2n64. Gliden64 is much more accurate and is compatible with almost all games. It is also much more demanding, and the raspberry pi just doesnt have the power or features to work well with this plugin. Dont believe me? Try it out with any other modern device. Gles2n64 meanwhile works very well with a couple games but suffers from low compatibility and low accuracy.
-
These were the settings suggested by the author of the N64 compatibility guide, not my work and simply what he seems suggest work for him while testing what N64 games work or do not work and also what video plugin works best, in his opinion while testing
Thanks
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.