NVidia Shield

Hi guys,

Will you be supporting the Nvidia Shield coming out in a couple days? Supposed to have a really fast processor and gpu. How well can we expect RetroArch to run games on it, particularly for PSX and MAME’s more demanding games?

EDIT (by Squarepusher) -: Performance tests

Anyway,

I have had it running pretty stable at 60Hz for a couple of straight hours at least.

So far all of the cores are fullspeed - audio crackling doesn’t seem to happen except for one exception - PCSX ReARMed with some games (listed below).

Games that ran at 60Hz internally (like nearly every 3D/2D fighter, like Tekken 3/Tekken 2/Tobal 2) run flawlessly. There is no issue there. Hell, I can even get the occasional 30Hz game like Ridge Racer Type 4 to run just fine.

There seems to be a problem with a lot of games that ran internally at 30Hz though (Final Fantasy 7/Chrono Cross/Crash Bandicoot 1/Resident Evil 1). These all produce audio crackles right now. The absolute worst offender here is Chrono Cross - it’s a total crapshoot when threaded video is not enabled.

You can avoid these issues by using the new threaded video mode option with adaptive jittering - but honestly, I don’t consider it good enough compared to static syncing and Vsync. Hopefully we can find a way to fix these issues with the PSX core on Shield with static syncing.

Other than that, it’s looking to be a great device indeed. While Android still sucks, this is definitely the best Android experience I’ve had so far with an Android-based device. Could be a real game changer if they have Google’s ear and Google actually starts ramming through the kind of performance/stability improvements that game developers demand. So more pressure needs to be put on these Google guys so that everyone benefits in the end - things have been languishing for far too long.

Regarding performance -

Performance tests

Genesis Plus GX - runs everything at fullspeed. The only really demanding game here is Virtua Racing (SVP) and that runs fullspeed as well. Runs fullspeed with the blargg CPU filter on as well.

Picodrive - runs everything at fullspeed - 32X too. The only really demanding game on 32X is Virtua Fighter 32X (2fps shy of fullspeed on an iPad 2/Mini) and that runs fullspeed here as well.

VBA Next - runs everything at fullspeed. This one is in the bag. Look ma - no dynarecs. Next thing I might try is seeing if regular VBA-M (non-Next) will still run at fullspeed as well.

Nestopia - Fullspeed on everything even with blargg’s NTSC filters. No big surprise though.

FCEUmm - Fullspeed on everything. No big surprise.

Gambatte - Fullspeed on everything. No big surprise.

NX Engine (Cave Story) - Fullspeed.

Prboom (Doom) - Fullspeed.

Tyrquake - at resolution 640x480 (remember - this is software rendered - using the unoptimised and slow as hell C software video routines- which have never been fast really - and Michael Abrash’ optimized x86 ASM rasterizer is 32bit x86-only) - you can run Tyrquake at more or less a locked 50fps cap - at 60fps mode it hovers between 55 and 60. Believe it or not but this is very impressive - the PS3 and 360 can only dream of matching that kind of performance.

I recommend setting resolution to 512x512 - still looks very good on the Shield’s screen and you can get a stable 60fps out of it that way.

Mednafen PSX - Hovers between 35 and 40fps and has occasional spikes to 44 - 48fps. An interpreter CPU core for PSX AND an unoptimised PSX GPU - and it’s already running at such speeds. I’m quite impressed. The PS3 by comparison ran Mednafen PSX at 18 to 21fps - so this is quite good.

Mednafen Virtual Boy - Fullspeed with every game - with no speed hacks.

Mednafen NGP/WonderSwan/PC Engine - All fullspeed - no big surprises here.

SNES9x Next - Fullspeed with every game. Decided to push it to the max a bit - tried to run Star Fox 2 with the SuperFX core overclocked to 100MHz. Some dips to 58/57fps - so set it to 80MHz and you should be fine there - there are still a few dips to 58/57fps at busy scenes with 80MHz but 60MHz is fine. Anyway, this represents the absolute most demanding usecase you can imagine for SNES9x Next.

SNES9x mainline (non-Next) - Fullspeed with every game - with no alterations to the codebase. Plays Yoshi’s Island at fullspeed for instance - and so does the other SuperFX games. SA1 games like Jikkyou Oshaberi Parodius are fullspeed too.

Another demanding usecase - mosaic pseudo hi-res tile rendering - in Seiken Densetsu 3 it switches to this mode when you are outside and you either bring up the menu or if text is presented. For SNES9x Next I always patch this out and instead revert to pseudo hi-res tile rendering - it looks nearly identical and it doesn’t come with a huge 50-60fps drop in framerate. Anyway, it looks like Shield doesn’t need that and it’s still fullspeed regardless in this mode with SNES9x mainline.

Desmume - With our ARM JIT core Sonic Rush is running at 35fps. Yeah - looks like Exophase’s closed-source/payware emu has that audience entirely to himself sad to say. Also, there are quite some serious bugs in the ARM JIT core - so I see the Desmume core only being really usable on PC in the near foreseeable future.

Ninja Warriors (FBA) - This is the crazy Taito arcade game from the late '80s with the three monitors placed next to each other - this game’s performance is a total crapshoot on a PS3/360 (something like 25/30fps) - yet it runs fullspeed here on the Shield.

Street Fighter III 3rd Strike (FBA - The heavy usecase here is Akuma’s Super Art 1. It’s a constant bitch whenever I have to upgrade FBA versions to get that back to fullspeed on PS3 again (it involves various optimizations/hacks on my end). On the Shield here it’s fullspeed all the time.

MAME performance tests so far -

Out of all cores, MAME 0.78 is still one of the most demanding when it comes to the games that can run on it.

BTW - most of these games I tested below - I was expecting the Shield to actually fail at running them at anything nearing full-speed. I certainly wasn’t expecting a whole slew of software 3D arcade games like the Namco games to be near fullspeed - wasn’t expecting Solvalou to be fullspeed - wasn’t expecting Starblade to be fullspeed - wasn’t expecting Primal Rage to be 58-59fps.

Mortal Kombat 1/2/3/Ultimate/All Midway games with DCS sound - Fullspeed without the DCS speedhack

Primal Rage - 58~59fps

Cruis 'n USA - 30fps

Tekken 1/2 - 55fps. By comparison - these games run at goddamn 15 to 18fps on a PS3. Yes, really.

Tekken 3 - 33fps

Puzzle Bobble 2/3/4 (ie. Taito F3 games) - Fullspeed. All the Taito F3 games are in the bag with this - including Bubble Bobble 2/Memories/Symphonia.

Solvalou - Fullspeed

Street Fighter The Movie - Fullspeed.

Starblade - Fullspeed.

Cybersled - 47fps.

Daraku - Fallen Angels - Fullspeed.

Gals Panic S4 - Fullspeed.

Gals Panic S - Fullspeed

Cotton 2 - Sega STV game (Sega Saturn arcade board] - 25fps (by comparison - a laptop Intel Core i5 3210m manages 55 to 52fps on this game)

These are seriously impressive specs that go way beyond any expectations I had for this thing really. Just amazing on how the gap between laptop CPUs and mobile ARM CPUs is closing this fast - and to have this kind of power in your hands is just too good to pass up.

What pleases me even more is that after hours of play I still haven’t run into these performance inconsistency issues that have previously dogged my experiences with Android.

IF we can get the PS1 issues to do with games that use variable refresh rates sorted out with static syncing, then I think this might be the ultimate handheld RetroArch device so far.

Now - given the big performance leaps . here is what I want to try when I have more time -

bSNES core - test if Performance core can run at fullspeed on this thing. Mupen64 - Try if it can run most games at fullspeed with the cached MIPS CPU interpreter on Shield - thereby dodging the less accurate Ari64 recompiler which still has known game-breaking bugs in a lot of games.

Nvidia was friendly some months ago but as of now it’s been months since we heard anything again. So I dunno.

It’s Android so that is a big problem in and of itself. The hardware itself could be good, I dunno. Unlike Ouya, you will be able to install RetroArch Android from the Google Play Store, so that is nice at least. No Ouya Store-esque tripe.

Really, what the world needs is ARM Linux support out of the box on a thing like this - and (this is KEY) with PROPER drivers.

Thanks for the swift reply. Can you tell me why it being Android based, is “a big problem in and of itself”?

I received a package from nVidia today addressed to RetroArch ref. Hans-Kristian Arntzen today :smiley: Indeed, I have a shield now. I’ll play with it when I have the time.

Tried booting it up, and I can see this being a great RetroArch device, assuming there aren’t any big driver/Android issues. It’s Android 4.2.1 at least, so it might have low-latency audio support.

Nice - so it arrived exactly today huh? Guess we’ll have to see whether one arrives here.

I just hope this won’t become another xperia turd input wise. At least I can test things now. :V From a RetroPad perspective it’s perfect layout. Two analogs, dpad, four buttons, four shoulder buttons … D:

EDIT: Tried pushing some apks, but Eclipse doesn’t recognize the shield (duh :V). Hopefully the new updates fix that.

Let’s hope indeed it’s not a couple of separate HID devices strung together like Xperia Play - it would become a collage of ‘input device footbinding hacks’ that way in android_input.c and android_input_autodetect.c. The current hacks for Xperia Play are already bad enough.

If Shield is also whack, we’ll probably have to move out the whacky devices to sub-drivers of their own (e.g. special handing of input_poll()), and keep the main input driver lean and mean or something …

Hopefully it’s not whack. :smiley: Keep the impressions coming guys. Let us know what the deal is.

awesome!!! I hope I get mine on monday :3

Maister - found out at what refreshrate the screen runs yet?

Early reviews seem very positive so far (apparently viewing angles of the screen are insane and it’s actually watchable in sunlight - which is more than can be said for my iPad Mini) - so let’s just hope they didn’t pull a Samsung and gimped the refreshrate at 58/59Hz. Then again, this being made strictly for gaming, I can’t imagine that being the case here since it would get noticed sooner or later.

Apparently, it’s ~58.4Hz :frowning: The API reports 60.4Hz (lulz), but tests do say ~58.4Hz … Games seem to run just fine though using that rate.

Keep 'em coming Maister!

How does MK2 run? UMK3? Tekken 4? Any lag on PS1 games? How to PSP games run via the PPSSPP emu?

I’ve added initial support for nVidia shield input autodetect here: https://github.com/Themaister/RetroArch/commit/f0f90318f45a215bdb9337e43bd0ed37a8663753

Start/Select doesn’t exist so I made use of depressed analog buttons instead. L3/R3 is very rare anyways.

I’ve only tested SNES so far, so L2/R2 and dualanalog might not be working correctly (but they should). Also added (untested) support for actual analogs to android input. I don’t have lots of ROMs on my current install, and my network is uber slow so can’t download big stuff nilly willy. :frowning:

Sounds like a great start.

If you have a video camera, putting a video on youtube could make for some good publicity.

I’ve tested some more. Seems 59.7Hz is more like the real refresh rate, so that’s a relief. Played some Tekken 3 on it now (gf had the ISO :D), it runs great. I’ll try to make sure the analogs and L2/R2 work right.

I also want to test the sceneviewer (with full analog support). Hunterk, can you reupload the Silent Hill chapel model again?

Yeah, definitely good to hear it isn’t a 58Hz screen. They tried to deliver the Nvidia Shield unit to me today but I wasn’t home - so tomorrow it will arrive.

So far looking at the benchmarks (unless lots of benchmark statistics fumbling is being done) - the Tegra 4 inside the Shield seems to be way ahead of any other Android device out so far - beating even the Nexus 10 ( Cortex A15) and the Galaxy S4.

Bunch of benchmark pics there.

Perhaps we could try if Mednafen PSX actually plays at a decent tolerable speed given such performance. That, bsnes and Desmume are the only cores that come to my mind where CPU performance on tablets/phones is still lacking.

That fifth core that does some kind of battery-saving mumbo jumbo - actually I think it would have been better put to use to pick up garbage collector slack or something like that. I dunno if garbage collector stalls are still an issue on this thing but if they are - that could be a good way to offset such overhead.

Would also be nice if Nvidia Shield receives OpenGL ES 3 support later on - I assume the GPU inside the Tegra 4 is capable of it but they will just need to upgrade to Android 4.3 first.

BTW Maister - I heard you say you were buying a new Geforce card. Is it a GTX 650 or higher? That would allow you to stream wirelessly from PC to Shield.

http://shield.nvidia.com/play-pc-games/

I have a GTX 760 now :slight_smile: It’s pretty beefy. Blasting those shaders at crazy speeds :smiley:

@maister I deleted my copy of the chapel files, but I think I got them from here: http://www.deviantart.com/download/198227495/silent_hill_3_chapel_by_a_m_b_e_r_w_o_l_f-d3a0pbb.rar?token=af961970a67304f2d5d1a71bd767b072380b7fda&ts=1375297605

Re: bsnes, did you patch in your ARM asm libco to the gitorious repo?

Thanks. Don’t think I patched bsnes yet.

EDIT: Analogs work as expected now in modelviewer :slight_smile: 1024x768 is also 60 fps with chapel, that’s nice.