Supermodel running on an Nvidia Jetson Nano dev kit...

Linux geeks and Mac OS hipsters unite! A board for discussion of Supermodel on non-Windows platforms.
Forum rules
Keep it classy!

  • No ROM requests or links.
  • Do not ask to be a play tester.
  • Do not ask about release dates.
  • No drama!

Supermodel running on an Nvidia Jetson Nano dev kit...

Postby TheOldDragon » Wed Aug 19, 2020 3:01 pm

I was able to successfully build and run Supermodel [SVN r811] on an Nvidia Jetson Nano devkit..

[Compiles successfully after updating a single file.... ]

Tried it with Scud Race Plus, and it achieves about 25~29 fps in-game [@720p].... so not really playable, but it seems to be running perfectly fine otherwise...
Based on the system resources, it appears to be CPU - not GPU - constrained.
Details of Nvidia Jetson Nano Developer Kit - https://developer.nvidia.com/embedded/j ... eloper-kit
- $99 [including PSU]. 4 GiB LDDR4 RAM & 4 core Aarch64 ARM CPU [Cortex A57 core, ARM v8 ISA]. Maxwell based GPU. SDCard for main storage.
- It runs an Nvidia modified/custom version of Ubunutu 18.04 LTS [for Aarch64], with a lot of Nvidia software added.

Now I'm really tempted to spring the $399 for the Jetson NX Dev Kit.. I'm sure it would perform really well with 6 "Carmel" ARM v8.2 cores and a really beefy Volta GPU onboard... plus M.2 SSD interface and 8 GiB of RAM...

Building:
I built on the nano itself [no cross compiling].
Compiling failed due to the "-mfpmath=sse" compiler flag included in file "Makefiles/Rules.inc"

Code: Select all
###############################################################################
# Compiler Flags
###############################################################################
ARCH = -march=native -mfpmath=sse



I made changes locally on the machine... changing the above line to:
Code: Select all
ARCH = -march=armv8-a -mtune=cortex-a57


I hope this is useful info. Can one of the devs make the changes specific for ARM architecture, or do you want me to create a SourceForge account and try and submit some [IFDEF] changes?
TheOldDragon
 
Posts: 62
Joined: Sat May 30, 2020 5:39 am

Re: Supermodel running on an Nvidia Jetson Nano dev kit...

Postby Bart » Fri Aug 21, 2020 5:52 pm

That's really cool! It's great to know that Supermodel is confirmed to work on ARM. The Dolphin CPU core supports ARM so maybe one day if we borrow that or write our own JIT, performance will improve. Out of curiosity, what happens to the frame rate when you pause emulation (Alt+P)? It should continue rendering but without running the PowerPC.

I don't think it makes sense to add this to the Makefile considering 1) how small of a change it is, 2) that the use case isn't there yet given poor performance, and 3) our general lack of testing and automatic build infrastructure. Maybe we could add a comment somewhere in the Makefile instead?
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: Supermodel running on an Nvidia Jetson Nano dev kit...

Postby TheOldDragon » Fri Aug 21, 2020 9:39 pm

Bart wrote:That's really cool! It's great to know that Supermodel is confirmed to work on ARM. The Dolphin CPU core supports ARM so maybe one day if we borrow that or write our own JIT, performance will improve. Out of curiosity, what happens to the frame rate when you pause emulation (Alt+P)? It should continue rendering but without running the PowerPC.

On beginner track, early part, it makes a little bit of a differnce, increasing by about 2 fps [e.g. from ~26 to about 28 fps, or 30 to 32, depending on which part of the track I'm on. [if I pause it in whilst in game [during gameplay].

Bart wrote:I don't think it makes sense to add this to the Makefile considering 1) how small of a change it is, 2) that the use case isn't there yet given poor performance, and 3) our general lack of testing and automatic build infrastructure. Maybe we could add a comment somewhere in the Makefile instead?

Sounds like a plan.

It's great that it compiles on ARM. As I said in my earlier post, I'd really like to try it on a Jetson Nano NX [which might run it at 60 fps], or even SolidRun's HoneyComb LX2K "Workstation" motherboard [mini ITX, SOC with 16 Cortex A72 cores, up to 64 GBs RAM and a PCIe Gen 3x8 slot, and 4x 10 GbE SFP+ ports]...
Once Apple goes ARM [with shipping products] there'll be a lot more desktop ARM machines about..

What I''d really love to do is bring it back to Power[PC]..... e.g. on a RaptorCS Blackbird [Power9], but that's ~$2000+, which is really pushing out the boat ;) .

Maybe I'll dig out my old PowerPC G4 Macmini from the basement and see if I can get a recent version of Debian or Ubuntu running on that and give it a try... not sure I'll be able to build it, but if I do I wonder how fast[slow] Supermodel would be? ;)
TheOldDragon
 
Posts: 62
Joined: Sat May 30, 2020 5:39 am

Re: Supermodel running on an Nvidia Jetson Nano dev kit...

Postby Bart » Fri Aug 21, 2020 11:19 pm

I'd love to hear about Supermodel running 60 FPS on an ARM device.

Supermodel on PowerPC would be awesome. It would be painful on a G4 but should work great on one of those beefy POWER9's. If we had our own JIT, we could write a PowerPC target that tried to emit code as close as possible to the original code. We would probably only have to intercept certain loads/stores and all the jump instructions, keeping 50% or more of the code largely unaltered. But I can't imagine a G4 class machine handling the rendering work.
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: Supermodel running on an Nvidia Jetson Nano dev kit...

Postby TheOldDragon » Sat Aug 22, 2020 10:30 am

Bart wrote:I'd love to hear about Supermodel running 60 FPS on an ARM device.

Supermodel on PowerPC would be awesome. It would be painful on a G4 but should work great on one of those beefy POWER9's. If we had our own JIT, we could write a PowerPC target that tried to emit code as close as possible to the original code. We would probably only have to intercept certain loads/stores and all the jump instructions, keeping 50% or more of the code largely unaltered. But I can't imagine a G4 class machine handling the rendering work.

Thanks for the reply.
I'v responded to the PowerPC JIT part in a separate post I created in the "Dark Room"; hope that's OK / aligned with forum etiquette... ? :oops:

I'm tempted to get the Nano Xavier NX [for $399 USD], but don't think I'll follow through; I'm not a big fan of Nvidia as a company, and it would only be for this type of tinkering... [the Jetson Nano for $99 was much easier to "justify"].


I's apparently possible to emulate/virtualize POWER8/9 on x86-64 Linux via QEMU, so I may do some experimenting with this and see if I can:
- get the virtual machine set up, install Linux, and build supermodel
- try and get some type of 3D graphics running... eohther software LLVMpipe, or hardware accelerated OpenGL running via GPU PCIE pass-through...

So, the ultimate masochist challenge - emulate a 1990s proprietary, PowerPC base, arcade machine on a virtualized/emulated 2019 POWER9 system running on an AMD x86-64 system - it should be lots of fun... :D


RE: the G4 Macmini: yep, I think you're right. 1.425 GHz G4, 1 GB RAM and a really old Radeon 9200 GPU are probably not up to it, even if i could get a reasonably modern Linux distro and the dependencies installed....it probably wouldn't even run...
TheOldDragon
 
Posts: 62
Joined: Sat May 30, 2020 5:39 am

Re: Supermodel running on an Nvidia Jetson Nano dev kit...

Postby Totaly FuRy » Sun Nov 01, 2020 7:14 pm

I have tested Supermodel3 on my Jetson Nano 2G device, and the fps significantly increases if i slow down the powerpc frequency to 25Mhz (on scud race).
Totaly FuRy
 
Posts: 4
Joined: Fri Oct 16, 2020 11:44 am

Re: Supermodel running on an Nvidia Jetson Nano dev kit...

Postby Bart » Sun Nov 01, 2020 11:56 pm

Is the game playable? If the frequency is too low, you may start to see corruption or slow-down.
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: Supermodel running on an Nvidia Jetson Nano dev kit...

Postby Totaly FuRy » Mon Nov 02, 2020 3:25 am

Bart wrote:Is the game playable? If the frequency is too low, you may start to see corruption or slow-down.


Yes, i can play the game at ~40fps but it slow down to 20 when others cars crash for exemple.
On atract mode it can run 60 fps somethimes but slow down with no visible reason, not 3D depth related.
I think it is the PowerPC emulation that cosume most of the Jetson CPU, maybe using CUDA could solve this problem... :?:

Here a video of the attract mode :
https://www.youtube.com/watch?v=e_h6Db1mNv8
Totaly FuRy
 
Posts: 4
Joined: Fri Oct 16, 2020 11:44 am

Re: Supermodel running on an Nvidia Jetson Nano dev kit...

Postby Bart » Mon Nov 02, 2020 7:44 pm

CPU emulation cannot be offloaded to the GPU. However, it could be greatly improved with a JIT, such as Dolphin's.
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: Supermodel running on an Nvidia Jetson Nano dev kit...

Postby Totaly FuRy » Tue Nov 03, 2020 7:01 am

Thank for the hint, i will take a look at Dolphin's JIT.

In the mean time i will try the Mame's version of Model 3, i saw in the code that it can now run Scud Race.
Totaly FuRy
 
Posts: 4
Joined: Fri Oct 16, 2020 11:44 am

Next

Return to Alternative Fashion

Who is online

Users browsing this forum: No registered users and 0 guests

cron