lr-armsnes and Retropie 4.4
-
@mitu said in lr-armsnes and Retropie 4.4:
@used2berx I don't have a Pi Zero, so I cannot test and reproduce this slowdown or find a solution. Your tests seem to hint that there isn't a regression on the emulation side, but on the OS side. If you can find a simple test to reproduce this outside RetroPi and show this, then the issue might be transferred upstream (Raspbian).
Well... I know nothing about Linux besides what I've learned while working on a Pi, so I'm not going to find anything to test this on.
I assumed that nobody was really interested in this because it's just a Pi Zero. Risking getting down-voted to oblivion again, I'm going to HIGHLY suggest that no further updates be made for a Pi Zero if nobody is going to look into this issue and/or this issue is something that just can't be solved.
The results I've shown are very real, and very easy to reproduce by anybody who has a Pi Zero and two SD cards to do a fresh install of 4.4 and 4.3 with the minor tweaks I listed above.
At the very least, if the RP team is going to continue to put out RP releases for the PI 0/1, then they should come with a warning that system performance may be greatly diminished if you install any RP release beyond 4.3 (Last pre-Stretch release). Which is exactly what I said yesterday before we did any of this testing.
As I said, I've reverted to 4.3 and this solves all of my problems. Especially since the upgrade added Kiosk Mode. There is absolutely nothing that I need that was offered in 4.4 otherwise, and I can't really imagine that 4.4 and beyond will really be all that important to any Pi Zero user. I've done all I'm going to do on this issue. I've presented the facts. It's up to the RP Team what they're going to do with them.
Respectfully, I officially wash my hands of the issue.
-
@used2berx said in lr-armsnes and Retropie 4.4:
4.3 SuperMarioAll-StarsNES lr-nestopia - 5 minutes (8:25:49-8:30:49)
1.7.3 - Nestopia 1.49-WIP 5ecea44
[INFO] Threaded video stats: Frames pushed: 18029, Frames dropped: 1.
Full Log: https://pastebin.com/cb5whqcw
4.4 SuperMarioAll-StarsNES lr-nestopia - 5 minutes (7:59:49-8:04:49)
1.7.3 - Nestopia 1.49-WIP 5ecea44
[INFO] Threaded video stats: Frames pushed: 14526, Frames dropped: 3.
Full Log: https://pastebin.com/mQvAB0AW
4.3 7thSaga lr-snes9x2002 - 5 minutes (8:18:46-8:23:46)
1.7.3 - Snes9x 2002 7.2.0
[INFO] Threaded video stats: Frames pushed: 18042, Frames dropped: 0.
Full Log: https://pastebin.com/6yJpR62T
4.4 7thSaga lr-snes9x2002 - 5 minutes (8:05:54-8:10:54)
1.7.3 - Snes9x2002 7.2.0
[INFO] Threaded video stats: Frames pushed: 14240, Frames dropped: 1.
Full Log: https://pastebin.com/um1KiuZKI'm not sure I followed it all, but I take it these tests were run with overclocking on both.
I'm wondering if you'd be able to run one last test without overclocking any and reporting back.
Also, the only difference I spot is on the audio end:
[INFO] ALSA: Period size: 384 frames
[INFO] ALSA: Buffer size: 1536 framesThat being said, I don't know much about retroarch.
if you'd want to send over the retroarch.cfg files for "all" and "nes", for both those clean test setups, they might have more information.
-
@pjft said in lr-armsnes and Retropie 4.4:
@used2berx said in lr-armsnes and Retropie 4.4:
4.3 SuperMarioAll-StarsNES lr-nestopia - 5 minutes (8:25:49-8:30:49)
1.7.3 - Nestopia 1.49-WIP 5ecea44
[INFO] Threaded video stats: Frames pushed: 18029, Frames dropped: 1.
Full Log: https://pastebin.com/cb5whqcw
4.4 SuperMarioAll-StarsNES lr-nestopia - 5 minutes (7:59:49-8:04:49)
1.7.3 - Nestopia 1.49-WIP 5ecea44
[INFO] Threaded video stats: Frames pushed: 14526, Frames dropped: 3.
Full Log: https://pastebin.com/mQvAB0AW
4.3 7thSaga lr-snes9x2002 - 5 minutes (8:18:46-8:23:46)
1.7.3 - Snes9x 2002 7.2.0
[INFO] Threaded video stats: Frames pushed: 18042, Frames dropped: 0.
Full Log: https://pastebin.com/6yJpR62T
4.4 7thSaga lr-snes9x2002 - 5 minutes (8:05:54-8:10:54)
1.7.3 - Snes9x2002 7.2.0
[INFO] Threaded video stats: Frames pushed: 14240, Frames dropped: 1.
Full Log: https://pastebin.com/um1KiuZKI'm not sure I followed it all, but I take it these tests were run with overclocking on both.
I'm wondering if you'd be able to run one last test without overclocking any and reporting back.
Yes. There was overclocking done on both. Two posts above the one you just quoted, you will be able to see exactly what was done to both Pi setups before getting those results.
I'm probably not going to do any more tests and distance myself from this issue since some clown keeps popping in here and downvoting me. Plus, it doesn't look as though anybody in charge has any interest in this, so after I've already wasted a day on this and reverting to 4.3 solves all of my issues I'm pretty much done at this point.
Also, the only difference I spot is on the audio end:
[INFO] ALSA: Period size: 384 frames
[INFO] ALSA: Buffer size: 1536 framesIt wouldn't surprise me if there was an
alsa
problem, but I'm not sure that's the culprit. The function for pickingalsathread
broke somewhere along the line. When you choose it in Raspi Config, it putsalsa_thread
in your config file. If you look at the 4.3 test results, you'll see that it is expectingalsathread
without the_
character in between and throws an error and says that is defaulting to the first choice, which I'm assuming is justalsa
. In the 4.4 tests I didn't choosealsa_thread
at all and there are no errors.I'm assuming that it is using the same default choice when it errors out in this way as it would if you didn't make a change at all.... that last sentence is possibly incorrect. RetroPie Setup says that
alsa_thread
is the default choice. So my 4.4 testing was usingalsa_thread
by default. I just manually changed that toalsa
on my 4.4 and it was even worse than it was when I just used the default.Who knows which one it defaults to after it is erroring out on my RetroPie 4.3 setup. The
runcommand.log
says it's using the "first" choice, which would probably be eitheralsa
oralsa_thread
, but it doesn't really matter since it works fine on 4.3 either way.That being said, I don't know much about retroarch.
if you'd want to send over the retroarch.cfg files for "all" and "nes", for both those clean test setups, they might have more information.
I'll get the retroarch.cfg files for both test setups shortly.
-
Both nes cfg files are identical:
# Settings made here will only override settings in the global retroarch.cfg if placed above the #include line input_remapping_directory = "/opt/retropie/configs/nes/" #include "/opt/retropie/configs/all/retroarch.cfg"
Here's the pastebin links for the
/all/retroarch.cfg
files:4.3 /all/retroarch.cfg: https://pastebin.com/1GL3ePD3
4.4 /all/retroarch.cfg: https://pastebin.com/vrfkQDrQ
I ran a diffcheck on these files and I don't see anything that should be causing an issue here. There are quite a few more lines in the 4.4 document, but they're all commented out with
#
's. The only thing that is "different" is thealsa_thread
thing I mentioned in my 4.3 (line 298), but since it's been established that 4.3 works fine and changing 4.4 from the defaultalsa_thread
toalsa
only makes things worse, this wouldn't be the issue.EDIT: Actually, the new lines aren't all commented out in 4.4. Probably doesn't make a difference or not, but look at lines 271-276 in the 4.4 file here:
# Background color for OSD messages. Red/Green/Blue values are from 0 to 255 and opacity is 0.0 to 1.0. video_message_bgcolor_enable = false video_message_bgcolor_red = 0 video_message_bgcolor_green = 0 video_message_bgcolor_blue = 0 video_message_bgcolor_opacity = 1.0
EDIT 2: Okay. I'm done. You can all thank whoever keeps downvoting me.
Good luck with your 4.4 if you're using a Pi Zero. Not my problem anymore.
-
@used2berx said in lr-armsnes and Retropie 4.4:
Plus, it doesn't look as though anybody in charge has any interest in this,
no-one is 'in charge' as such. you have the same responsibility as anyone else into investigating and solving retropie issues. try and remember this is all voluntary and support comes from the community, just like everything else. everything is everyone's "problem".
i'm not downvoting you but i was turned off helping as soon as you started moaning about the time scales on support, on a sunday as well! this stuff reads badly.
-
This issue doesn't effect me at all anymore since reverting to 4.3 fixes all the problems that any Pi Zero user would have, but I continued to test this for the community, mostly because mitu was being so helpful and interested in this. I don't need to be doing this, but I continued to help out. From the beginning, I've been doubted. Been told like "oh, we've heard that a lot before when there's an update", "It's just on your end", etc. Now I've provided evidence that there is a serious problem, and I'm getting trashed for it. I've put a whole day of testing into this, as well as building two different SD cards from the ground up. I've provided results.
All anybody has to do is say, "Thanks man. We'll look into it." Not so hard to do.
RP was already seriously pushing the boundaries of the Pi Zero hardware and Zero users likely won't need any of the upgrades from 4.4 and beyond anyhow. If this stuff isn't fixable, no big deal. Don't update beyond 4.3 if you're using a Pi 1 or PI 0. Easy.
-
I've tested the first 100 US Licensed games in alphabetical order on a 4.3 Pi Zero, up to "Castlevania X". lr-snes9x2002 works "near perfect" for a vast majority of them so far. 5 of the games have speed and/or sound issues or other glitches that cannot be fixed by any of the emulators that would play them at an acceptable speed on a Zero.
The game "Big Sky Trooper" is the only one that isn't playable at all so far because in all of the emulators that I've tried there are missing sprites that seem to be necessary in order to progress very early on. Some emulators show more on this game than others.
All roms being tested are No-Intro as well as matches to the latest GoodSNES set.
Emulators I'm using for testing are lr-snes9x2002, lr-armsnes, lr-snes9x2005, lr-snes9x2010, pisnes. lr-snes9x2002 is default. (It should be noted that in my testing so far that any problem I had in any game running in lr-snes9x2002 is also exactly the same when trying lr-armsnes. After this point I will stop re-testing any problem roms with lr-armsnes).
Settings I'm using:
- Pi Zero with RetroPie 4.3, with all packages upgraded except for the OS/Kernel.
- RetroArch version after uptates is 1.7.3, and Snes9x2002 version is 7.2.0.
- Overclocked CPU to 1GHz
- Global Options Changed: Video Smooth: True / Video Resolution: 320x240
- Default Emulator: lr-snes9x2002
- "Set ""4 Select default video mode for [x emulator] (CEA-2)"" ............... For whatever reason, setting this to CEA-2 seems to slightly improve emulation speed and gets some games over the hump. For instance, The 7th Saga seems to play perfect with
this as well as the other above settings, where if you didn't chose CEA-2 here then there would be a very slight audio stutter in certain situations."
It should be noted that when I say "nearly perfect" that's a subjective view. First big thing I'm looking for is zero audio stutter. After that, it's "would I play this"? Not as in, is it a good game, but does it play smoothly enough to be enjoyable. Personally, I'm going to end up using a Pi 3 for all of my non-Xbox emulation, but my brother got me started on this with his idea to make some Pi Zeros for his nephews, so that's what I'm working with now. I'm not interested in getting all crazy and monitoring FPS here.
I'm mostly a fan of the RPG & Puzzle games on the SNES, but I'm also a fan of quite a few of the platforms as well. I've never been a huge fan of sports games, so beyond those two things the sports games in general are not going to get much attention from me here.
All games are tested at least up to the point where you have control of your avatar and I have at least around 10-15 seconds of physical play time.
Pretty impressive that out of the first 100 games that 94 of them play so well.
I'm going to be releasing my spreadsheet documenting this all eventually, as well as my as-of-now much more in-depth NES/FDS spreadsheet I've been teasing for a long time. I'll probably release this SNES very soon since it's so much more basic at this point. It was copied from my NES one first though, so I need to make sure that there aren't any links to things that are not allowed here before I do.
-
Just a little update...
I've managed to get through the letter "E" with the US Lincesed game testing.
164 games tested. Only 6 so far completely unplayable on a Pi Zero. Another 7 of them are playable with a bit of slowdown or other minor annoyances here and there. All of the rest of them are more than acceptable though.
I've decided since I'm going through this trouble of testing these games before I was ever going to get to them for my brother's Pi Zero, I'm also going ahead and making the Synopsis files for all of them as well, so after running the script on them I will have all of the game info and descriptions for them as well as the synopsis cited link in my spreadsheet. The only info that probably won't be in there this early is how many players each game has, because I do that as part of my testing and whenever I get around to re-testing these games on the XBox I will also be adding that info. Everything else is there though.
I'll have some free days soon, so I plan on giving this a huge push and I hope to have all of the licensed games tested (US, as well as non-clones EU and Japan games).
My hope is to have this spreadsheet ready to share within the next week to 10 days. I've discovered that when I "hide" sheets and columns that they remain hidden from anybody who has the link and they aren't able to change that. Because of this, while I'm working on a specific aspect of the project some columns may or may not be available since hiding columns while I'm doing work makes certain tasks easier on my end.
So far the info columns I will have are the "Ressurection Xtras Name" (the 42 or less character file name required by XBox that is the exact same as all associated media), the Full Game Title (as displayed in the romlist), matching file names for latest No-Intro, GoodTools and TOSEC sets, Rom CRC value, which emulator works the best on a PI Zero (and I have in my revamped/structured Pi Zero
emulators.cfg
file), and a column "Rx Recommended" as just a personal checklist of games that I would actually ever play. (Mileage may vary)The NES already has a ton more work done as far as the massive amount of Translations, Hacks, Pirates, Unlicensed and Homebrew games that are part of the collection, as well as all of the matching artwork for every game (Boxes, Carts/Disks, Title and Action shots), Manuals (JPG zipped and PDF formats), videos (only low quality old ones until I re-make all of them in HD), gamefaq zip collections and a lot of other stuff. So the NES spreadsheet has a ton of additional information right now than the SNES will have until I have the time to dive into that platform.
I'm going to start new threads for both the SNES and NES spreadsheet and projects when I am ready to put them up. I don't know if anybody would be interested, but at that point if anybody notices that I have anything in the wrong area, or perhaps I'm somehow missing a game or two please feel free to let me know and I will put it on my to-do list of things to correct before I put any releases out. Right now, the only thing I would imagine I'm missing in the SNES licensed games would be possibly a few EU games that aren't clones of US releases and maybe a few Japan games that are playable by an English speaking audience. It should be a complete US Licensed set, but I double dog dare anybody to find the one I'm missing. ;)
I don't imagine that I'm missing anything in the NES set at all. I've put my heart and soul into that project for over a year now. :)
More to come...
-
Still plugging away at this. Overall results are still really good. Synopsis/gamelist.xml info has been created for 500 of the US Licensed games, and I've tested somewhere around 275 games so far. The only game I can't get to work so far on the PI Zero that I'd imagine people would miss is Kirby's Dream Land III. pisnes loads it to a black screen and x2002 will play it but with quite a bit of slowdown and audio stutter. :(
-
@used2berx said in lr-armsnes and Retropie 4.4:
The only game I can't get to work so far on the PI Zero that I'd imagine people would miss is Kirby's Dream Land III.
This can be expected. 'Kirby's Dream Land 3' made use of several uncommon techniques to produce its visuals that often need a bit more power to emulate at full speed. On a stock Pi 3B, the game hovers at about 56 fps and dips here and there. Overclocking solves this and I imagine the minor upgrade to processing power from a stock 3B+ would be enough to do the same. However, I doubt there's much that can be done here for the Raspberry Pi Zero. You'll likely also run into issues with the SNES titles that utilized Super FX/2 chips, as well as perhaps Ocean's 'Jurassic Park' and 'Secret of Mana 2' ('Seiken Densetsu 3').
-
@mediamogul Yeah... Although I haven't gotten to the other titles in your list alphabetically, those are some of the titles that I know or at least assumed won't work on the Pi Zero. My list of games that I had already knew won't work on the Zero before going into this were Secret of Mana (the first one), Star Fox, and Super Mario RPG.
Jurassic Park "works", but I put a note on the spreadsheet to compare the "3D" parts on my XBox. It's playable, but it seems kind of hard to control and I think that's because of dropped frames.
Doom doesn't work, but that doesn't really matter since lr-prboom works fine on a Pi Zero and I have Doom, Doom II and both expansions running fine with all the DOS tracks on them.
Secret of Mana 2 actually won't be included on my bro's Pi. I told him that at least for now I'm only putting on the translations I had for the NES/FDS because I personally re-patched all the games and made sure they were working. My old sets had a lot of roms patched incorrectly.
Secret of Mana 1 actually will play on at least one of the emulators at a good speed, but the problem is that earlier versions of Snes9x didn't emulate it correctly. If memory serves, there is an extra chip on that game that wasn't emulated until later versions of Snes9x. I believe that it's emulated properly on Snes9x2010, but it lags horribly and is unplayable in that emulator. Playing it on the earlier versions doesn't completely break the game, but it totally garbles the screen where you input your name, and there may be other later issues with it as well. It doesn't garble any text when talking to NPCs though.
Thanks for the info on KDL3 man. Good to have confirmation from others on my findings like this.
I'll get that spreadsheet up soon and if anybody has been able to get any better results on the ones I have marked as having problems or completely unplayable on a Pi Zero I'd love to hear what you did to get it working. :)
-
@used2berx Did you ever try the emulators built from source? Also, did you try fceumm?
-
@darksavior I didn't try them from source.
Yeah, for NES I used fceumm. I've got a 100% working rate on 2,118 unique titles for NES and FDS games between lr-nestopia, lr-fceumm and lr-quicknes. The issue here is with SNES emulation. I knew it wouldn't be 100% going into it, and I'm actually pretty pleased with the success rate I've seen so far. Really, the only ones that I'm thinking anybody would miss that don't work on a PI Zero so far are the ones I've mentioned above. Hopefully that keeps holding true as I test more.
-
Finished the synopsis/gameslist.xml game info for all US, EU, Japan, Super Scope and Special Releases. (These are the only things I'm working on until much later whenever I get around to working on a full SNES collection). 848 titles here.
Still hovering right around 280 or so games tested. Going to begin testing the rest of the games today. This work takes quite a while, so I don't know when it will be completed. I will try to ensure the spreadsheet is ready to go live and begin a new topic on the SNES portion of the Rx2.0 collection when it's ready.
-
Does anybody know if you can control Mario Paint with the controller in any of the Pi emulators and how you would do it? It seems that it shouldn't have any problems playing in lr-snes9x2002, but I don't know how to control it. Thanks :)
-
@used2berx said in lr-armsnes and Retropie 4.4:
Does anybody know if you can control Mario Paint with the controller in any of the Pi emulators and how you would do it?
You can map mouse movement to either a thumbstick or dpad using xboxdrv. I took a quick look for a dpad ROM hack, similar to 'Mario & Wario', but I didn't see anything. I wouldn't recommend such a thing anyway due to the lack of fine control, but I have tried it using xboxdrv and it does work.
-
@mediamogul Thanks. I'll have to look into it. I might just put a remark in the spreadsheet for now that it should work if you set up xboxdrv with it. Is there a handy guide for how to do this?
Oh... and will it work normally if you plug in a mouse? I might just recommend doing that instead of setting up the D-Pad with an external controller.
-
Let me just say, this thread has been incredibly helpful to me. I'm currently building a zero to use in a Freeplay Zero build. So far, all cores are running full speed for me on 4.3, with frame delay set for the best control experience.
-
@r4l Glad to help. Thanks for confirmation that 4.3 works better for you as well.
Overall, the Pi Zero with 4.3 works very well, but you will notice that it has its limitations when actually testing out all the games.
For the NES I managed to get 100% compatibility with it. SNES hasn't been as kind, sadly. I'd say about 80% of them are running damn near perfect, with another 10% running at an acceptable rate as to be enjoyable. The other 10% are either completely unplayable with a Pi Zero or suffer from enough lag and audio stutter that they would not be enjoyable (because of the limitations of which emulators will even play on the Zero, and how slow snes9x2005 and x2010 run for most SNES games).
Sadly, I need to add all 3 Mortal Kombat games to that list. They are playable in lr-snes9x2002 and pisnes, but during the menus there is a strange echo effect that is very annoying. It doesn't seem to effect the actual matches though. Using lr-snes9x2005 seems to fix this issue on all 3 games, but it's too slow and has way too much audio stutter to be enjoyable.
Fortunately, most of the games on the non-working list so far are titles that I don't think anybody would miss, but there are some really great SNES games that you'll never be able to play on a Zero.
Stay tuned for the compatibility lists for SNES and NES when I release them. They also will have compatibility for the Pi 3 eventually, as well as XBox compatibility.
-
That is unfortunate (about the games), but at this point it's probably a hardware limitation. 1GHz and 512 RAM aren't much to go about, so I guess Pi zero users are stuck between speed and compatibility. However, can't wait to see this list of yours.
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.