Am I overclocking my Pi3 for the right reasons? (Curious on how to tweak for SNES/NES)
-
Hi everyone!
I'm very new to these forums, Raspberry Pi, and especially Linux.
Please take me in as one of your own.
Give me a few minutes of your time for my story!.
.
.
EDIT: Just in case I do get some help in this thread, I want to state that I have since visited @Twitch0815 thread on Overclocking,(https://retropie.org.uk/forum/topic/140/how-to-use-overclock-and-mupen-core-options-to-significantly-increase-64-game-playability-quality-and-stability)
and have since changed my settings to exactly match his.
I feel relieved to see that our settings were almost the exact same, I just went ahead and lowered my overclock some, and raised the voltage. Not sure if I needed to even raise it though, I was doing just fine with "over_voltage=5" vs 6.
Unfortunately I am still dealing with freezes in any n64 game after 10 mins or so of play time. My main concerns are how to continue to best optimize NES/SNES roms.To make a long story short, the first thing I notice was NES and SNES games were very laggy with "skippy" sound.
So obviously I start to google.. I did things like "force HDMI sound" and turn off Vsync in RetroArch. I may have entered a few other command lines into Linux, but I can't remember, I'm basically flying at the seat of my pants.
(If anyone wants to share some pointers for basic things to do for removing input lag/create accuracy, I would listen with open ears.)I have an open-air case, and installed some heatsinks, using thermal adhesive to attach them. Saw an 8c difference to 42c while gaming for hours.
After doing this, I started getting kind of confident. I went ahead and followedsomeones "how to OC Pi3" post from the official Pi forumsread edit above
*Overclock settings removed.
so far after a few solid hours of gaming, My temps HAVE risen from 42c, to about 53c.
I dont know if I feel any difference in the performance for NES/SNES.
I THINK its a bit more snappy, but I can't be too sure.
Kind of disappointed because even NES River City Ransom 2 player is still boggy, and not very enjoyable compared to 1 player, and I have some "accuracy" issues in SNES Super Mario World.This is where I will admit that I am not entirely sure I know what I am doing.
Should I continue to raise the overclock? I know some people state that they can barely get over 1300ghz CPU, so I'm surprised that I can keep going at 1400ghz.
I would REALLY appreciate some personal 1-on-1 with this topic.Thank you retropie members, for any help you are willing to offer me.
-
My initial answer to your titled question would be no or maybe not quite yet. The reason I say that is because my nes and snes games run excellent with zero perceived input lag etc and I'm not overclocked.
I'm not 100% sure but it does sound like you may have jumped to overclocking rather quickly. There are many settings and tweaks, especially with N64 that can be done to improve performance. I would suggest once you exhaust all of those options then try an overclock. N64 has a handful of games that run nicely without overclock, there is a list on the wiki pages I believe. Get comfortable with all of the retropie features and options then you'll know the answer to your own question better than any of us. Unless of course your already up on it all then just ignore my babbling. :)
This was helpful - https://docs.google.com/spreadsheets/d/1Sn3Ks3Xv8cIx3-LGCozVFF7wGLagpVG0csWybnwFHXk/htmlview#gid=282207345
-
@opensourcefan thanks for your reply. I partly agree with you, last night I did some digging on the forum, and on the retropie wiki, learned some /boot/config commands to enter for reduced input lag and other general changes.... I think you are right though. I could turn off the overclock for nes/snes/genesis stuff... I dont think I can make them run any better than they are.
I agree with you, I got excited and just said "who cares" and went ahead to the overclock, however, the bug has bit. Now that I see what kind of difference the n64 games make on an overclock, I plan to keep it... try to see if I can push it further. I'm about to get a case 3d printed, and its going to have a slot for a 30mm fan. I think this should help combat any temperature rises I get from the OC.
Also I stated I was getting freezes- That was from my 10ft 24awg wire. I have since moved to a 6ft and the freezes stop... the only thing is my OC temps with an open air case reach about 57c with n64/psp games. I was hitting 42c with NES/SNES games, so hopefully the case with a fan will bring the temps back down.
It all takes time. I'm gonna have to set aside more time to look over the wiki and do more forum digging to learn all the best tweaks... but I think im going to go ahead and keep my overclock.
-
The only reason I overclocked mine was to run PSP games. It did make a difference.
-
@kris964
TBH Im still having problems running PSP on mine, even with the OC. my temps skyrocket to 57c and I get studdering roms... I didint realize psp tooks so much effort to run, and thats using CEA-1 as the video option.frankly right now Im gonna give up on trying to make PSP work. sucks because I really want that MetalSlug. Maybe its time to figure out where to find MAME roms. I doubt anyone here can help with that, so i'll be on my own to figure it out.
-
I feel like this is a rudimentary question, but have you tried changing the emulators in runcommand menu for NES and SNES? Both systems have a bunch of emulators to choose from in Retropie... And then in each emulator there are multiple options which you can tweak (in-game RGUI menu/quick menu).
I find it kind of odd that you are overclocking a Pi3 for NES games.
As for Metal Slug... MAME/FBA has got you covered (and arcade is the orig platform...)
-
Some PSP games are just to much to run unfortunately.
-
@Concat , I have not changed the emulators too much.. I wasn't sure which was best to use, and I didn't want to use one that didn't seem to run RetroArch. I guess simply I need to play around with different emulators and see what happens? TBH I'm not even sure which one I am running right now, because when I first built the RetroPie, I tinkered and right away changed the emulator a few times, just to see what would happen/why there were different ones.
The in-game GUI (retroarch) doesn't seem to save when in-game, so I made all my changes inside the retropie menu, those stuck.
I wanted to specificaly overclock to make N64 run better, but I also had a curiosity if it would help the NES/SNES games as well, after reading this article (http://arstechnica.com/gaming/2011/08/accuracy-takes-power-one-mans-3ghz-quest-to-build-a-perfect-snes-emulator/) so I questioned if overclocking was the root cause of even poor NES play.
-
Ah, so just so we are clear, you are more concerned with the accuracy of emulation for NES and SNES? Because in that case, generally speaking, the more accurate the emulation the more resource intensive it is.
If all you want is games that don't stutter, I highly recommend you try different emulators. Check out the wiki for each emulator and research them. With enough googling, you will start to get an idea of what emulator offers. Each one has options too remember...
In the end, you may just need to go game by game and specify which emulator to use for which game through trial and error. You can do this in the runcommand menu that shows up for a couple seconds before launching a game. If you already have box art for each game, when you launch the game the art shows up in place of the runcommand message.
As for saving in-game settings, you need to understand a couple of things about RetroArch:
- You can have emulator specific settings (setting is off by default - it's in the RGUI menu): When in the in-game menu and you save, it will save the settings for this emulator only.
- You can have ROM specific settings (setting is off by default - it's in the RGUI menu): When in the in-game menu and you save, it will save the settings for this ROM only.
- You can have global settings - this is what you changed via the retropie menu
- You can configure Retroarch to save on exit - settings is off by default
- When making a change, it's almost always a good idea to go to Save Configuration in Retroarch before resuming game or exiting.
In addition to all this, you can manually edit the config files to make changes to settings. It all sounds confusing, but it makes Retroarch very flexible on the settings front. Custom control schemes and shaders for specific roms etc. etc.
Finally, as for N64... good luck is all I can say. There are so many games that don't run very well, and many that have game breaking issues. It's very specific to the game, so if you are having an issue with a specific game, try researching it. You might find that overclocking isn't the solution. Some games have Cheats to make them work properly. You will also find that the standalone Mupen64Plus emulator has better performance than the RetroArch one (LR_Mupen64Plus = RetroArch). Again, change the emulator in runcommand when launching the game. You can also tweak the settings. Oh and the video driver for Mupen64Plus has a huge effect on the game's performance. It's all trial and error.
Personally I think these are all things you should do before resorting to overclocking. Maybe a mild overclock before you start optimizing every rom would be good.
Hope this points you in the right direction. My NES/SNES experience is pretty much flawless and I am just using the defaults. Might be a tale of rom-specific issues...
-
@scrappbrapp said in Am I overclocking my Pi3 for the right reasons? (Curious on how to tweak for SNES/NES):
@opensourcefan thanks for your reply. I partly agree with you, last night I did some digging on the forum, and on the retropie wiki, learned some /boot/config commands to enter for reduced input lag and other general changes.
Where was this thread? I am trying to reduce latency as well.
-
@tekn0 , I found alllllll of the information needed in the "overclocking" wiki. https://github.com/retropie/retropie-setup/wiki/Overclocking
Half way down look for the "improving input lag and delay" section. I'm not sure how much it helped.... I just "did as it said" and entered those commands. -
@Concat , thank you for taking your time with all that information. Lets see if I can touch each point.
First of all, my question is: Are ALL ROMS created equal? Is it a simple "copy the cartridge?" IE: is all the data information fully available inside the ROM, or are some files out there missing information from the original game? I'm kind of confused if the reason a ROM does not have accuracy, or is missing things like shadows, or certain sprites, or timing issues because the rom was poorly created, or because the emulator itself was not built to handle all the data the ROM has? IF all fingers point to the emulators, then I fully understand now. the data is THERE, but we just cannot fully take advantage of it, just quite yet. I'm just curious if all ROMS were not created equal, if my copy of one game differs from someone else copy of the same game.
As for retroarch, when I make changes in the GUI inside a game, I ALWAYS go to "Save config changes" before I exit back to game, but they NEVER stick... I started to notice this when I kept telling the GUI to turn off Vsync, run fullscreen, and disable windowed mode (I didn't know what these settings meant, but it just sounded easier to be fullscreen.)
I started to make the changes to the main menu retroarch GUI, and settings would change, and they stuck after I hit "save to config"
Ive seen the emulator and ROM specific settings when you hit a button just before the game starts, but I already admitted I haven't messed with them much. Some of them kind of confused me, and I didn't want to go about making random changes (I think one of them was "choose video resolution for rom" and it has about 5 choices.)
-The setting to save retroarch on exit is marked as on, but still doesn't seem to work. Other things also dont work like "save savestates and game saves in specific folders" ... I gave up on those options.
I think Im going to have to learn more about editing the retroarch/config, because I want to start to learn about how to use shaders, maybe get some of these settings to actually save.
I'm about to admit defeat for N64. I see now its going to be hard to deal with, it won't come easy. Maybe I will take your advice and go ahead and remove the overclock for now, until I can first understand the base of how to make things run smoothly.
As for running the emulator that does not use retroarch, what do I lose? Will I still be able to exit a game with the select/start buttons? What exactly do I give up if I dont use the retroarch emulator?
-
As far as I know, almost all of the issues point back to emulation not the roms. Some of the hardware processes are more difficult to emulate than others. If a game uses those processes, performance suffers... or some emulators may just be setup so they ignore those processes and you end up with missing details (but with better performance), or even game breaking issues. For example, Pokémon Snap is practically impossible to play on an N64 emulator due to game breaking issues in the emulation. N64 has quite a few compatibility issues. It comes down to the architecture of the N64 console and how difficult it is to emulate, and not the ROMs.
@scrappbrapp said in Am I overclocking my Pi3 for the right reasons? (Curious on how to tweak for SNES/NES):
Ive seen the emulator and ROM specific settings when you hit a button just before the game starts, but I already admitted I haven't messed with them much. Some of them kind of confused me, and I didn't want to go about making random changes (I think one of them was "choose video resolution for rom" and it has about 5 choices.)
Those are the settings available in runcommand. I believe they are the same as the in-game quick settings. I usually stick to the RGUI menu when tweaking things. The exception being the emulators that are not Retroarch Cores. Note that you sometimes need to APPLY the changes AND save them. Such is the case with shaders and cheats.
@scrappbrapp said in Am I overclocking my Pi3 for the right reasons? (Curious on how to tweak for SNES/NES):
I started to make the changes to the main menu retroarch GUI, and settings would change, and they stuck after I hit "save to config"
I think you need to make sure you have "ROM specific settings" selected in RetroArch. The reason it doesn't save is because you have this off by default, and the in-game menu won't save global settings. This setting is in retroarch... trust me. Find it in the menu (I think it's settings > configuration?), turn it on, then change something and save the config. Exit the game and start it again to test if the config sticks. When you load the game, I believe it even states which config it is loading. It should now load the config specific to that emulator.
If you want to make global changes to all emulators, then go through the retropie settings menu to launch retroarch without an emulator core loaded. Personally I have never manually edited a config file. Retroarch supports almost everything you want to do, save for some tricky controller config.
There's a lot of options to tweak performance... resolution being one of them. This is mainly why I suggest researching all of this before overclocking. if you're trying to run N64 in 1080p using a video driver that doesn't work well with the ROM... well overclocking is not going to help.
N64 emulation is very game specific. Some games run great. Others are a lost cause. It's just going to take time to sort out which ones you need to give up on :)
Finally, non-retroarch emulators might have save states and other things as well... I'm not really sure. They usually have their own config file, so try looking in there for hotkeys. I know for N64 the non-retroarch core is quite a bit better performance wise... which is why it's there I assume.
-
@Concat I am currently going through my retropie and playing with things... I have a few questions still: (I'm going to open up each of these menus as I type this post, just to I can be crystal clear, and give you as much specific information possible.)
First of all, is there a way to autosave ROM config and save files in separate folders than the ROMs themselves, just to keep things neat and tidy?
In retroarch (main menu>RetroPie>retroarch>settings>saving) I have "sort saves/savestates in folders" as "ON" but it still saves all emulator made files mixed in with the ROMs. I did notice that if I go to (main menu>RetroPie>retroarch>settings>directory) at the bottom of the list I see "Savefile Dir/Savestate Dir" and both are marked as "<Content dir>".To test out a theory, I made a folder inside of the "roms" main folder called "_ROM saves" (Underscore was to find the folder at the top of the directory), pointed both of these directories at this folder, and I went off to play a few games.
Right away I noticed that none of my saves were popping up, and new games with no prior saves were STILL making the save files inside of the ROM folders, but if I moved the save files to the "_ROM saves" folder, the game would then load up the save file. (I only tested SNES, so I assume this would still work for NES, but I could NOT get this to work for N64, as it would still save/load the files from the n64 ROM specific folder).
I also noticed that it seemed to make a file directory inside of the "_ROM saves" marked for which emulator was used... This seems like more of a pain than before, and I dont know how to undo it. (If you have any idea what all I am talking about/what I did, can you help me simplify it/set it straight?)
Also, you made a mention for ROM specific settings... Again, if I follow the path (main menu>retroarch>settings>configuration) I have "save configuration on exit" as "ON", yet it still won't save changed made inside of Retroarch while a game is running.
"Configuration per-core" & "Use per-game core options if available" are both set as "OFF" and I have not touched them because I dont know what they are. (If these are the settings you were talking about, I do not know that because the vocabulary used for these settings sounds confusing-to a noob like me, at least.)I did find if I went (main menu>retropie>Configuration Editor) it would open up a blue raspberry pi command screen where I could make lots of video/audio/etc type of changes based on specific consoles/emulators. It seems like a big in-depth system that I have not yet messed with, but is this one of the menus you were talking about?
-
@Concat update
ok so I'm starting to figure out a little bit of all this. I went back and changed it to "OFF" for "sort saves/savestates in folders" and now its saving and loading ROM data inside of that "_ROM saves" folder I made, without making multiple directories. Its just clumping all of NES/SNES together in that one folder, which I guess I am OK with.
Look like I have that problem taken care of.
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.