Odroid XU4 MAME Performance?
-
@loggahead said in Odroid XU4 MAME Performance?:
Why is that? Is the XU4 still fairly limited in regards to processing power? On paper it looks substantially more powerful than the Pi3.
- Games involving 3D in mame generally need some decent hardware (something with a cpu above 3Ghz).
- There is no reason to run a game that ran properly with mame2003 with mame2010/mame2014/mame2016 : at best the game will run the same, at worst the game will be slower.
- Some game won't run on arm cpus whatever version of mame you have (the core will throw a "illegal instruction" error).
Also, while developpers are quite active on mame2003, the same can't be said about mame2010/mame2014/mame2016 so they have more issues.
-
@barbudreadmon said in Odroid XU4 MAME Performance?:
Also, while developpers are quite active on mame2003, the sa
I'm actually not looking to play any 3D games. I'm really just looking for better compatibility of 2D arcade games by using a newer version of MAME. There are several games that run well enough in MAME2003 like Ninja Baseball Batman but still stutter and have choppy audio that I would like to try out in 2010 or 2014 but know that the PI3 can't really handle those emulators. There are also games like Golden Axe II (I think I'm using FBA for it, possibly mame2003) that have graphical glitches. Raiden II is another example of that. I have them running decently enough under mame2003 or FBA but they have bugs / quirks and aren't accurate. A newer version of mame could help with that.
So I am still wondering if the the XU4 is powerful enough to handle a newer version of mame like 2010 or 2014 in Retropie? If not, would my best option be to run retropie on a debian PC or would I be looking at a manual retroarch pc install?
I love retropie and I understand the devs decisions and reasoning behind the emulators chosen. I'm just curious what is possible if I move away from the PI3 hardware.
-
@loggahead said in Odroid XU4 MAME Performance?:
MAME2003 like Ninja Baseball Batman
irem m92/m107 games won't run very well on a pi3, but i guess they will run fine on a XU4 or an overclocked pi3b+ (i think you just need a cpu above 1.5Ghz for those games), you won't need a more recent version of mame for those ones, fba handle them properly, possibly mame2003 too.
@loggahead said in Odroid XU4 MAME Performance?:
There are also games like Golden Axe II (I think I'm using FBA for it, possibly mame2003)
Definitely not fba, sega system32 is not supported, this game should run fine with mame2010, mame2003 had a buggy implementation for system32 iirc.
@loggahead said in Odroid XU4 MAME Performance?:
Raiden II is another example of that
I don't think this one has any performance or graphical issue with fba on a pi3. If you find graphical glitches in fba for this one, take a screenshot and let me know. Avoid using the "r2dx_v33_r2" rom though, it's a bootleg with terrible sound quality, unlike the normal "raiden2" rom
-
@barbudreadmon said in Odroid XU4 MAME Performance?:
possibly mame2003 too
@barbudreadmon said in Odroid XU4 MAME Performance?:
I don't think this one has any performance or graphical issue with fba on a pi3. If you find graphical glitches in fba for this one, take a screenshot and let me know. Avoid using the "r2dx_v33_r2" rom though, it's a bootleg with terrible sound quality, unlike the normal "raiden2" rom
Cool, I'll take a screenshot of Raiden II and see if you can help point me in a direction. Its the first boss that has issues. His legs have pipes that are supposed to extend in and out as it walk but using fba on my pi, the sprite of the pipes are set static and vertical. That's why I was thinking a newer version of mame was needed.
With Golden Axe II, I must be using mame2003. On it, the shadows of every character and npc are artifacted. I'll check it out on mame2010 and see what it looks like.
Any other oddities I noticed was that games like Tapper, Rampage, Spyhunter, etc never ran properly in 2003 for whatever reason and I got them running in 2010. That's what got me thinking that there were other games that I'm missing out on that I just hadn't found yet and was wondering if I would be able to move more games over to 2010 on an XU4?
Here's an odd one I'm wondering if you can help me with. I LOVED Xevious back in the day, I mean LOVED it! It was one of my favorites. It bothers me that there is no sound for the ground explosions in the game nor the explosion sound when you die. Galaga does the same. Is there a particular emulator / rom version out there that includes those sounds in Xevious? The best I can find is playing it on the Namco Museum under psx which works but I like having everything in my arcade folder list.
At any rate, thanks for all the help.
-
@loggahead said in Odroid XU4 MAME Performance?:
Here's an odd one I'm wondering if you can help me with. I LOVED Xevious back in the day, I mean LOVED it! It was one of my favorites. It bothers me that there is no sound for the ground explosions in the game nor the explosion sound when you die. Galaga does the same. Is there a particular emulator / rom version out there that includes those sounds in Xevious?
You just need the samples for those games and sound will be ok.
Recently found out that thru rom decapping some components are now emulated correctly for Xevious. Mame2010 should therefore provide more accurate emulation.
-
@udb23 said in Odroid XU4 MAME Performance?:
You just need the samples for those games and sound will be ok.
Recently found out that thru rom decapping some components are now emulated correctly for Xevious. Mame2010 should therefore provide more accurate emulation.Are you kidding me!? AWESOME !!!
How do I incorporate those samples? Do I just merge those files in the zip with the ROM zip I am using in mame2003?
-
@loggahead said in Odroid XU4 MAME Performance?:
Cool, I'll take a screenshot of Raiden II and see if you can help point me in a direction. Its the first boss that has issues. His legs have pipes that are supposed to extend in and out as it walk but using fba on my pi, the sprite of the pipes are set static and vertical.
It works properly in fba.
@loggahead said in Odroid XU4 MAME Performance?:
Galaga does the same
It also works properly in fba
Sadly the other games you mentioned are not supported in fba.
-
@barbudreadmon said in Odroid XU4 MAME Performance?:
It works properly in fba.
Im using fba for Raiden II and that's where I get the graphical issues with the level 1 boss. Maybe its a rom version?
-
@loggahead said in Odroid XU4 MAME Performance?:
Are you kidding me!? AWESOME !!!
How do I incorporate those samples? Do I just merge those files in the zip with the ROM zip I am using in mame2003?From the wiki ;-)
Samples
Some sound effects in a few older (typically pre-1986) arcade games are difficult/impossible to emulate. Instead, audio clips of these effects can be downloaded and automatically played at the appropriate times. To do this, download the sample files you require and place the .zip files into:/home/pi/RetroPie/BIOS/mame2003/samples/
-
@loggahead said in Odroid XU4 MAME Performance?:
Maybe its a rom version?
Roms for mame/fba must match the emulator version, 99.99% of the time they won't load at all if you pick a random rom on internet. I've serious doubts this is your issue since the game is loading. It's not an issue with the CPU overclock option either since raiden2 don't use it. Are you 100% sure you are using latest lr-fbalpha ? Not lr-fbalpha2012 or pifba ? Those 2 are full of bugs.
-
@barbudreadmon said in Odroid XU4 MAME Performance?:
Roms for mame/fba must match the emulator version, 99.99% of the time they won't load at all if you pick a random rom on internet. I've serious doubts this is your issue since the game is loading. It's not an issue with the CPU overclock option either since raiden2 don't use it. Are you 100% sure you are using latest lr-fbalpha ? Not lr-fbalpha2012 or pifba ? Those 2 are full of bugs.
I'm just using the stock lr-fbalpha which came loaded with the 4.3 build? I never loaded any optional versions of fba that I know of.
Heres a pic of what the first boss does. Notice his upper right and lower left legs are emulated properly but his upper left and lower right are messed up.
Also, every now and again, sprites will jump to a different location on the screen. This happens sometimes picking up power ups. You go to get it and will all of a sudden jump to a different spot and start floating around again. Some enemies do this too. But this happens rarely.
Anyways, not a deal breaker, I've just been assuming I was going to need a newer emulator to properly play Raiden II.
I also ended up loading Raiden Project on PSX which has Raiden 1 and 2, but the FBA version looks better imo other than the glitches.
-
@loggahead Actually you are right, there is an issue with 2 out of the 4 legs but it's not happening on my x86_64 computer (which i used it at first to look for your glitch). I'll look into the code and let you know if i find a fix.
-
@loggahead my guess about raiden2 : the rpi3 is struggling with it and some timer is going haywire because of this. If you get your hands on a odroid xu4 or a rpi3b+ (you can overclock the new model to 1.6Ghz easily from what i read) i would be curious to see if the issue persist.
-
@athman8 said in Odroid XU4 MAME Performance?:
Several MAMEdevs have an ODroid-C2, including Micko and myself. The problem is that there is no accelerated video for it yet; no GLES, not even baseline X11 acceleration. So while MAME shows gaudy Pi-crushing numbers in "-video none" benchmarks, you can't actually play it at a decent speed yet.When that changes, it should pretty quickly become the best-supported ARM board for MAME.
Cool! Thanks for the update! Being someone who got his first taste of emulation back around 2003, I love how much it has evolved and am excited to see where it goes in the future.
-
@barbudreadmon said in Odroid XU4 MAME Performance?:
i would be curious to see if the issue persist.
Roger that and thanks for checking! I'll keep that in mind in the future. I'm not in any hurry to pick a new board just yet. I've been having so much fun with what I've got.
On a sidenote, I've been playing Raiden II on the PSX rom "Raiden Project" which I actually do own. It plays well enough but isn't quite arcade perfect.
-
@loggahead Actually the issue is not with the rpi3 struggling. I think i figured the fix, just waiting for upstream advice before committing it since i'm worried about potential side effects. If everything goes well, it will be available later today.
@dankcushions @mediamogul :
As a side note, i'm not sure how retropie handle cflags for lr-fbalpha (the installation script at https://github.com/RetroPie/RetroPie-Setup/blob/master/scriptmodules/libretrocores/lr-fbalpha.sh seems really outdated, profile has been deprecated 2 or 3 years ago and platform will generally handle the right cflags if set with the appropriate value), but i noticed this game performs a lot better on my rpi3 when "--ffast-math" is enabled, probably because the driver uses a lot of arythmetics. -
@barbudreadmon What would your recommend to change for the build step in the package ? Some optimization flags could be added via CFLAGS/CPPFLAGS, like the
--fast-math
directive. -
@mitu replacing build_lr-fbalpha by something like this would probably be ok :
function build_lr-fbalpha() {
make -f makefile.libretro clean
local params=()
if isPlatform "rpi2"; then
params+=("platform=rpi2")
elif isPlatform "rpi3"; then
params+=("platform=rpi3")
fi
make -f makefile.libretro "${params[@]}"
md_ret_require="$md_build/fbalpha_libretro.so"
}If you got something to detect if the platform is x86 and 32 bits, you could probably also add the FASTCALL=1 parameter
-
@barbudreadmon The RetroPie script already has some CFLAGS set by platform when compiling. For the PI3 they are
-O2 -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -ftree-vectorize -funsafe-math-optimizations -pipe
When running the compile with
make -f makefile.libretro platform=rpi3
(and disabling the RP script CFLAGS), the flags added by the build detection are-O3 -marm -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -ffast-math
They're more or less equivalent in terms of cpu/arch specifications, what's missing is the
-ffast-math
and the FASTCALL for the x86 arch. For reference, these are set here. -
@mitu iirc,
-ffast-math
includes-funsafe-math-optimizations
,-O3
includes-ftree-vectorize
, also-O3
will be included whatever you do when building lr-fbalpha, i think it's safe to build with both-O2
and-O3
(the later should override the first) but i'm not 100% sure.
-march=armv8-a+crc -mtune=cortex-a53
is the recommended setting for rpi3 in 64bits mode, i'm not sure what happens with performance when you use it in 32bits mode. With gcc-6.x i know you can also use-march=native
in 64bits mode.
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.