lr-armsnes and Retropie 4.4
-
@used2berx From looking at the code changes I couldn't see anything that I thought would make a difference in armsnes. I didn't notice any performance improvements myself on a rpi1 when I tested some time ago.
I am not going to add it back however, it needs work to compile on the latest gcc, and it's no longer developed - in fact the person who forked it from lr-snes9x2002 deleted the repository.
-
@buzz What is "gcc"? Just want to know because I'm not following you there.
Since you say they deleted the repository, does that mean that the suggestion that @mitu gave me won't work?
Maybe I'm remembering things to be better than they actually were, and I haven't used SNES for over a year, but when I did mess around with it my memory says that it ran a lot of games much better than any of the current emulators do on a Pi Zero today with 4.4 and without lr-armsnes. (I believe I was using 4.1 when I tried it before. If not, it was 4.2).
I'd really like to somehow get an armsnes build up and running on my Pi Zero again to compare. lr-snes9x2002 is just not any good on a Pi Zero, and PiSNES is the only current way to play SNES at a reasonable speed without audio stutter on one.
-
@used2berx gcc is http://gcc.gnu.org/ - the C compiler.
@mitu 's suggestion may work because I restored a copy of the deleted repository to our github project, although I can't remember if I have removed it or not. You would have to check.
-
-
My advice was to copy the
lr-armsnes.sh
module script from an older version (for instance https://github.com/RetroPie/RetroPie-Setup/blob/4.3/scriptmodules/libretrocores/lr-armsnes.sh is script from version 4.3) and copy it to/home/pi/RetroPie-Setup/scriptmodules/libretrocores
. Run the RetroPie-Setup script and you'll have the option to installlr-armsnes
from source. As I said, no guarantees it will work (i.e. compile and install) on a 4.4 Raspbian Stretch version. -
@mitu That sounds easy enough. :)
Thanks. When I give it a try I'll let you know if it works out.
-
@used2berx Have some time today, so I'm going to try this out and I'll let everybody know what my results are. I might be wasting my time here, but I need to know for myself anyhow. I actually remembered that I have an old retropie that I had abandoned at some point that I believe has 4.1 or 4.2 on it, so I should be able to see if both lr-armsnes and lr-snes9x2002 just had better performance on 4.2 than on 4.4 or not with the Pi Zero. There's also the chance that it was all in my head too. :)
I thought I had started with a 4.1 originally, but I can't seem to find that image anywhere. Looks like the 4.2 image is all I have to work with.
More to follow...
-
@mitu @BuZz Seems like the install won't work. I get the following error:
Could not successfully build lr-armsnes - SNES emu - forked from pocketsnes focused on performance (/home/pi/RetroPie-Setup/tmp/build/lr-armsnes/libpocketsnes.so not found).
This was with the lr-armsnes.sh found in the 4.2 image.
-
Nevermind on the lr-armsnes. What I'm seeing on my old install with RP 4.2 is that there isn't any noticeable difference at all between the two emulators (as BuZz originally stated).
The thing is, they both work great on the exact same Pi Zero when loading games with either emulator with the 4.2 image. The only three games I tested were the first 3 in alphabetical order (2020 Super Baseball, The 7th Saga and 3 Ninjas Kick Back).
I have the processor clocked to 1ghz on both SD cards (the 4.2 and the 4.4 builds). Is there anything that you guys would recommend that I check to make sure that I'm running the SNES emulators the same way on both cards?
I'd like to be able to say definitively if SNES emulation was just better on 4.2 than it is on 4.4 for a Pi Zero or not. I set the 4.2 up sometime in May of 2017 though, so it's been over a year and I don't know if maybe I tweaked something there that I neglected to tweak on this new 4.4 image.
The biggest notable difference in performance in those 3 games that is blatantly obvious is when you begin a level in 3 Ninjas and the image of the sun is spinning around behind the title of the level (Mode 7 graphics???) It starts slowing down and there is a lot of audio garble. After that, even just the regular gameplay seems sluggish and the audio crackles a bit. (If I press start to pause, the screen dims a bit and the music runs at a faster pace with no audio garble). When I loaded up that game with both lr-snes9x2002 and lr-armsnes on my 4.2 image, it ran perfectly.
Any suggestions?
-
Strange. I've messed with every concievable option and combination of options in the
Configuration Editor
for SNES and I cannot duplicate the good performance that I get on the regular using RP 4.2 with this new 4.4 build. I'm using "The 7th Saga" as my main testing here. In 4.2 lr-snes9x2002 and lr-armsnes, I had it playing without any audio stutter/slowdown. It seems that it's impossible to do this on the 4.4, and although I can get it to play well through the intro, it's very apparently not working right once you name your character and the story begins with the king talking to you. Audio stutters once you're outside the town roaming the world and when you engage in battles as well.I was able to tweak the system a bit though, so now I can play "2020 Super Baseball" and "3 Ninjas Kick Back" at what by all appearances is full speed without any audio stutter.
Sadly, unless somebody can prove otherwise, you are forced to use piSNES if you want to play "The 7th Saga" on a Pi Zero with 4.4 installed.
Here were the settings I found to be the best when trying to get games working as good as possible in lr-snes9x2002: (Only put ones that I changed from default)
In the Configuration Editor under "Configure basic lilbretro emulator options / Configure additional options for snes":
Video Smoothing (true) *
Render Resolution (256x240) **
Video Shader Enable (false)- I know video smoothing actually impacts performance, but screen tears without it set to true are even worse than stuttering audio, IMO
** I used this custom output since that is the native NES/SNES output. I didn't actually see any difference between using this custom setting and the "320x240" choice.
Under "Advanced Configuration / Configure Libretro options / snes/retroarch.cfg":
video_smooth (true)
video_shader_enable (false)
input_overlay_enable (falsse)
audio_driver (alsa_thread)
video_fullscreen_x (256)
video_fullscreen_7 (240)
video_threaded (true)
video_allow_rotate (false)Also, the final piece of this puzzle is to select (CEA-2) as the default video mode for lr-snes9x2002 in the runcommand menu when you launch a game. Any other option here, including no choice, results in a lower performance and 2020 Super Baseball and 3 Ninjas Kick Back both suffer the audio stutter/slowdown without (CEA-2) being chosen.
....
Just tested Contra III with these settings and it's just about as bad as 7th Saga was. Playable, but slow and audio stutter whenever the action picks up a bit, which is quite frequent in this game. As it turns out, the colors are all wrong in lr-snes9x2002 during the 2nd level anyhow. Though PiSNES isn't a perfect experience by any means, the colors are correct in level 2 and there is no audio stutter or slowdown that is present in lr-snes9x2002. (Save for the 1st level boss which seemed to have a slight, non-game-breaking problem).
Oh well... SNES emulation isn't going to work nearly as good as I thought it would overall on the Pi Zero. I knew that games like Star Fox, Super Mario RPG and Secret of Mana weren't going to play on it, but it's sad that so many others seem to be just barely hobbling along on it.
But at least we can play 3 Ninjas Kick Back. So there's always that. :)
- I know video smoothing actually impacts performance, but screen tears without it set to true are even worse than stuttering audio, IMO
-
Jeez.....
I just tried loading up a few of the more demanding NES games that I had spent over a month configuring for the best emulators to run them and the performance is bogged down on some of them as well, such as the hack "Super Mario All-Stars NES" which ran perfect before (with lr-nestopia) but now suffers from major lag and audio stutter in 4.4.
Maybe I'm wrong here, but I think 4.4 overall has been a huge step backward for Pi Zero emulation. Perhaps stretch is not a good idea for anyone using a Pi Zero?
I think I'm going to have to completely abandon all of the work I've done getting my bro's Pi up and running and revert back to 4.3 for his Pi Zero. I will also have to make a notation in any of my compatibility testing that the testing is for 4.3 and before and results will likely be a lot worse if using 4.4 or beyond.
EDIT: Is it possible to still get a 4.3 image downloaded somewhere for the Pi Zero? I only have a 4.2 image and I completely missed 4.3 in between. I want to test that out against my old findings as well.EDIT 2: Nevermind. A google search for
"raspberry pi v4.3" download
will get you a link that allows a download of 4.3. -
@used2berx said in lr-armsnes and Retropie 4.4:
EDIT: Is it possible to still get a 4.3 image downloaded somewhere for the Pi Zero? I only have a 4.2 image and I completely missed 4.3 in between. I want to test that out against my old findings as well.
-
@dankcushions said in lr-armsnes and Retropie 4.4:
@used2berx said in lr-armsnes and Retropie 4.4:
EDIT: Is it possible to still get a 4.3 image downloaded somewhere for the Pi Zero? I only have a 4.2 image and I completely missed 4.3 in between. I want to test that out against my old findings as well.
Thanks man. Yeah, I figured that out right before you posted the link. :)
Looking at the changelog, I don't see anything that I'm going to be missing by reverting back to 4.3. It looks as though the HUGE change that I really appreciated as far as asthetics go may have been part of the major improvements to the way emulationstation handled the romlist in the 4.3 changes. (I'm referring to the fact that now when you enter a sub-folder it immediately displays game info and the proper artwork on the first game instead of needing to scroll up or down one to get it to start displaying).
Other than that, I don't think there's anything that 4.4 has to offer for Pi Zero users over 4.3. It's unfortunate that I finally discover all of this several weeks after building this new image, but I have no excuse for not reverting back to a build that will play NES/SNES at the fastest possible speed when I have another older Pi image that does just that.
I will update this thread with what I discover after getting the 4.3 image put together.
-
@used2berx i don't believe there's anything stopping you updating emulationstation to latest from within 4.3(?).
all i would say is we had users saying that 4.2 "bricked performance" compared to 4.1, and i imagine we'll get the same when 4.5 comes out :) i think with things like retropie there's too many factors (changing settings, etc) between one install and the next, and a lack of real benchmarking tools (working on that..) to get concrete data.
retropie versions themselves typically don't have that kind of influence over system performance. hopefully you can figure out a good solution, though.
-
@dankcushions said in lr-armsnes and Retropie 4.4:
@used2berx i don't believe there's anything stopping you updating emulationstation to latest from within 4.3(?).
all i would say is we had users saying that 4.2 "bricked performance" compared to 4.1, and i imagine we'll get the same when 4.5 comes out :) i think with things like retropie there's too many factors (changing settings, etc) between one install and the next, and a lack of real benchmarking tools (working on that..) to get concrete data.
retropie versions themselves typically don't have that kind of influence over system performance. hopefully you can figure out a good solution, though.
I have two images now. One is from a long time ago that I have been using while doing all of my NES/FDS testing and work. This has 4.2 on it.
The other image is a 4.4 image I started putting together less than a month ago.
I have 100% of NES/FDS games running at full speed without audio crackle and have hand picked the correct emulators to make this happen on an individual rom basis, on the build with 4.2. There are 4 or 5 exceptions to this rule, as the games would play but I could not get 100% speed performance no matter which emulator I used. These games are remarked in my compatibility spreadsheet. I tested games just about 20 minutes ago on the NES on the current 4.4 image I've been working on and some of the games I had tested as working 100% are now super laggy and have audio stutter. Granted, the games are "intense" hacks like Super Mario All-Stars, but these used to work absolutely fine on my 4.2 build.
This, along with all of the issues I'm running into trying to get a libretro core SNES emulator to play games at speed that worked fine in 4.2, I'm thinking that there is a real issue here.
I will go through the process of creating a 4.3 image today and see where that testing brings me.
I am exceptionally thorough with my testing and documentation. If I find that 4.3 is good where 4.4 is not, then I stand 100% behind my findings. What you guys choose to do with that information when the time comes is up to you.
I don't mean any disrespect to anybody here, and I know that the Pi Zero is the red-headed step-child that nobody really cares about, but it may be the case that you're better off just dropping support entirely for Pi Zero users beyond 4.3 if stretch is going to put a huge lag on games that used to work on earlier versions of the RP releases.
More to follow....
-
@used2berx
i don't think it's worth getting into an esoteric discussion about stock 4.2 versus your previous 4.3 install. there's too many factors. i think this is the only fair test:- install stock image 4.4
- run a game X on emulator Y, when launching choose 'launch verbose logging' via runcommand.
- leave the game doing it's demo for 5 minutes (time this)
- exit the game
- open /dev/shm/runcommand.log and look copy the performance statistics at the end. you can calculated the percentage of dropped frames, here.
repeat for 4.3, and 4.2 if you wish, (using same game, same emulator), and compare results of 5).
-
To clear confusion, I never had a 4.3 install. I'm currently setting up my first 4.3 install.
The original image that I messed up beyond repair way back in may or june of last year was 4.1, which I don't even have anymore. I was using 4.2 since it came out until around 3 weeks ago with this new build. So I went from 4.2 to 4.4.
The difference in performance that I'm talking about is from 4.2 to 4.4.
I don't see why this is so unbelievable since so many other things unintentionally broke after the upgrade to Stretch.
After I set up the 4.3 image, I will have an image of 4.2, 4.3 and 4.4. I will follow your instructions then and give you the results. I don't think that 4.4 is going to be very impressive on the Pi Zero though.
-
@used2berx said in lr-armsnes and Retropie 4.4:
I don't see why this is so unbelievable since so many other things unintentionally broke after the upgrade to Stretch.
Which things broke ?
-
@mitu Installation scripts, as far as I know. I know that zerojay's expirimental installer was completely borked, and the mame plus port that gamez_fan had started still will not install on 4.4 to this day.
EDITED TO ADD: The atari800 installer that future_child had made needed to be fixed to work. Even after this, the game "Beamrider" will not work on 4.4. He's looking into the issue to find out why but hasn't posted anything about it yet. This used to work with the same emu no problem in older versions of RP.
-
@used2berx Which installation scripts ? The rest of things you mentioned are not part of RetroPie.
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.