How to use Overclock and Mupen Core Options to significantly increase 64 game playability, quality, and stability
-
Try adding these two
gpu_mem=450
v3d_freq=500
and make sure wave rice is using glide and resolutionyou can see how it is running on my setup in this video
Starting around the 1 minute mark
Both stock and with the high res texture package enabled -
Thanks,
I will test it tonight :) -
@Twitch0815 said in How to use Overclock and Mupen Core Options to significantly increase 64 game playability, quality, and stability:
@karimi
The hardware overclock would not work on a pi2.
If you check https://github.com/retropie/retropie-setup/wiki/Overclocking the first top half details settings and steps to modify your pi 2But if you want results like in the video you are going to need a pi 3.
Overclocking a 2 can get some games to work but not as well or as many as the pi 3.
thanks for that. I got also a Pi3 but nt configured right now. I want just to solve the MarioKart 64 Sound issue on the pi2. everytime when the sound scrap the game is also a little bit stocking...and that sucks
-
@Twitch0815
I just test, and it's really better, thank you very much :)
(Wave race sound issues) -
@Twitch0815 yet another awesome post making all of this optimisation stuff easier for Luddites like me - thanks a lot Twitch - have been travelling recently but looking to try out your PSP settings tonight and will report back.
Really looking forward to the dreamcast post too!!
-
Wow, really nice performance boost!
How do you get the hotkeys working in mupen64plus without running the libreto / retroarch config'ed version?
(For exit, save, load state, etc.?)
-
@Twitch0815 said:
Stay tuned to separate videos on Dreamcast, NDS, and PSP
@Twitch0815 Lookin' forward to NDS and PSP, I have a ton of games yet to be finished on those. Would be a blast to play em on a Pi output to the big screen.
-
@dankcushions said in How to use Overclock and Mupen Core Options to significantly increase 64 game playability, quality, and stability:
@Twitch0815 said:
@dankcushions Then why am I seeing such noticeable differences upon changing options? and the documentation I read showed mupen64-gfxplugin-accuracy = "high" was directly tied to Glide exclusively.
it is. both standalone and lr can use the GLideN64 plugin, but they're controlled by different config files:
- the mupen64plus-GLideN64 (standalone) version of mupen64plus has its GLideN64 settings in opt/retropie/configs/n64/mupen64plus.cfg
- the lr- version has it's GLideN64 settings in the retroarch-core-config.cfg file you are editing.
you must be mistaken about what you're running via the runcommand as there's no way that the standalone (ie, none-lr) version cares about what is in retroarch-core-options.cfg. it doesn't read that file and wouldn't understand it if it could :)
Twitch did you get to the bottom of this by chance? Dank any thoughts? He made a good point that has me curious. I did some testing over the weekend.
The overclock was helpful. I could only get to 1350 on a 5v 1A power supply with passive cooling. Will try a better power supply with active cooling but I need to dig through the "parts" box.
Setting the resolution definitely was an improvement. At the default options it was dragging but bumping it down(?) to 640x480 was very noticeable as the biggest improvement for me.
So are setting the retroarch core options in vain if you're running the standalone Glide or are you using the retroarch core with the Glide plug-in in the options or just scrap that whole part as the placebo effect?
If nothing else it has me playing around and testing more N64 games! :)
-
@Riverstorm
Still looking into it, actually have spent a few days on HD Texture packs for N64 and again iI'm finding funny behaviors with setting configs and expecting one result but getting another, i opened a github issue but still need to do some more testing.Maybe it's just me, but it seems most are ready to dismiss 64 altogether because it was so frustrating on the 2 combined with some of the larger youtube people putting up testing 64 videos with default settings showing little to no improvement. Not to mention dreamcast and psp which I have gotten really great results with.
I found this in my research https://github.com/ricrpi/mupen64plus-rpi/wiki/Performance and it suggests that cpu priority can be increased to mupen64 but this is incrdibly difficult to test because it is all subjective.
Testing the vire_refresh is incredibly difficult because I have not been able to load a fps show when anything but standalone has used. All the testing is being done by feel and on tons of different configs.There are tons of options in mupen64plus.cfg that I am working with and more to test.
I also truly believe that the pi 3 can hold to a better overclock then 1400 and I mean I think it can be pushed to 2000 but I need to get a 5.1 v 3000 or 3500 ma power supply and the only ones I have found are in china and shipping is going to take 2-3 weeks till I have one in my hand unless I try to build one from scratch. Heat just has not been a problem with proper heatsinks applied properly and active fan cooling.
-
Made a new page in the wiki specifically for this direction.
https://github.com/RetroPie/RetroPie-Setup/wiki/Optimization-for-Nintendo-64 -
Have you tried overclocking your SD card to see if that gives a performance boost in N64?
I am thinking if you have the emulators on the SD card and not on a USB stick. Or if you have the roms on USB and RetroPie on the SD card.
How to overclock the microSD card reader on a Raspberry Pi 3 -
can't see how SD card performance would affect emulation as everything is in memory.
-
@dankcushions said in How to use Overclock and Mupen Core Options to significantly increase 64 game playability, quality, and stability:
can't see how SD card performance would affect emulation as everything is in memory.
You don't say. I taught there was some access to the SD card while emulation was going on. Oh well it was just an idea
-
@Rion and @dankcushions
Storage can have an effect on boot time, emulator load time and a few other factors.
Also gpu_mem and memory split can affect if swapping starts to enable. What I am researching now is if there was a bug fix to a problem where based on gpu_mem paging enabled or not.I have overclocked my sd card and saw some performance boosts mainly to dreamcast not n64 so much. As dank said most evrything is loaded into memory but with emulators that use disk based games there is some loading going on.
Alsso as long as your using something that can transfer around 40 mb/s your good overclocking cant get you much better then that, because the bus is shared with ethernet.
Thats why USB isnt going to be much faster then sd card.
-
Storage can have an effect on boot time, emulator load time and a few other factors.
specifically those two factors :) i'm not sure why anyone would care about n64 games taking 1 vs 2 (or whatever) seconds to load, though.
i don't think anyone needs to change gpu_mem from default with the pi3. none of these cores come close to 256MB vram, even dreamcast.
-
@Twitch0815 Is there a reason you went with 450 for the GPU memory split?
I haven't played with split recently, but traditionally, a memory split of 128 worked best for N64 performance on the RPi2. Not sure how the texture packs affect memory, but just standard N64 running 640x480 shouldn't need more than a 128 MB split (It needs all the RAM it can get for the emulator)
I really need to try some more tweaking, but so many games have issues, and even when they do run, they tend to be full of little glitches. They look stunning though. The N64 was such a hard machine to program for that emulation will always be an issue for many 3rd party and even 2nd party games.
Of course, It helps that I have an N64 with a small games collection, so I can see the glitches (and marvel in how much better games like Mario World look in the Pi)
-
@Twitch0815 said in How to use Overclock and Mupen Core Options to significantly increase 64 game playability, quality, and stability:
Made a new page in the wiki specifically for this direction.
https://github.com/RetroPie/RetroPie-Setup/wiki/Optimization-for-Nintendo-64Thanks Twitch, the wiki is extremely helpful and bookmarked. The setting spreadsheet is quite handy too!
I did have a question on the cpu-governor. I see when it's idle mine underclocks to 600Mhz and when it's under load it overclocks to 1350Mhz (my max settings). Is it better to have it set to performance all the time? I know with my PC (ASUS mobo) games seem to downclock so quickly during low "activity" on the screen that you can see the lag in certain games before it ramps back up. I find it distracting and just shut the feature off. Is it the same for the Pi?
I think the Retroarch or is Liberto the more proper name...I always was wonder which is which? They have a FPS setting fps_show = "true" that goes in the retroarch.cfg. I haven't tried it though. I was wondering if the standalone cores have a FPS. That could be a potentially useful tool.
Also I didn't get much of difference on overclocking between a 5.2v 1A power supply and a 5.3v 2A power supply. I couldn't get either to boot at 1400Mhz. The larger one did start and crashed at the RetroPie logo.
With the larger one set to 1350Mhz I was able to set the undervolt and boot successfully at 4, 5 and 6. Setting to 3 it wouldn't boot. I was running N64 Cruis'in USA at 4 with no issues. I didn't do any extensive playing but decided to leave it at 5 as I don't fully understand what the option does except supply more power...and heat? If overclocking the fan is a must. I went from about 70C to 51C with a small copper heatsink and fan.
Yes I agree, it can be time consuming testing settings. All those small changes and restarts add up but I have to say I wrote off N64 on the Pi until later generations but with the work you've been doing I have a small library now and enjoy playing. Great job!
-
@mrbwa1 said
I haven't played with split recently, but traditionally, a memory split of 128 worked best for N64 performance on the RPi2.
I would like to see a more definitive answer to this also, not just N64 but overall for the Pi. This page set the GPU to 600 for N64. Such large variations for what works best.
https://github.com/retropie/retropie-setup/wiki/Overclocking
-
@Riverstorm I have always had my best luck using an RPi2 with 128 MB (Pi2 Overclock in the config menu). The games listed as playable on the N64 lists have usually worked okay (I tend to run them at 640x480). PSX seems to work well with this setup too. I haven't really tried Dreamcast or PSP as I can play my actual PSP.
The GPU memory split is just feeding memory to the Videocore IV and as far as I know, no emulator is even using OpenGL, so it should be basic rendering. Then again, I am not a developer, so I could have missed something.
I just heven't seen anything that I run benefit from more than 128MB split. In older builds of Retropie, I did see performance loss when using a higher memory split (256MB+)
I don't have an RPi3, so there could be difference there (the GPU is the same, so it's doubtful. That said, I have never tried the high res texture packs. These may require more GPU memory. I also haven't tried different splits lately. YMMV
-
@Riverstorm said in How to use Overclock and Mupen Core Options to significantly increase 64 game playability, quality, and stability:
@mrbwa1 said
I haven't played with split recently, but traditionally, a memory split of 128 worked best for N64 performance on the RPi2.
I would like to see a more definitive answer to this also, not just N64 but overall for the Pi. This page set the GPU to 600 for N64. Such large variations for what works best.
https://github.com/retropie/retropie-setup/wiki/Overclocking
i think there's a lot of misinformation out there. the only thing i think demonstrably needs a higher memory split is the old default 'simple' theme in emulationstation, and even that hasn't been default for ages. i don't believe it ever needs changing on a pi2/3. see
https://github.com/RetroPie/RetroPie-Setup/wiki/Memory-Split
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.