Shiva on non x86-based boards

Linux Desktop Apps

Shiva on non x86-based boards

Postby VLens » 2017-11-29 13:04

Hey everyone,

I ran into a problem with an ARM based linux device. It seems whenever I make a build for linux, only x86-x64 binaries are included.

Is it possible to run Shiva from RISC CPUs using linux?

Thanks,
V
VLens
Expert Boarder
Expert Boarder
 
Posts: 86
Joined: 2010-03-03 16:32
Location: Hungary

Re: Shiva on non x86-based boards

Postby broozar » 2017-11-29 18:24

Depends very much on the OS and the chip capabilities.

The editor is x86/_64 only, running on Win (1.9.2) and also Mac/Linux (2.0) using OpenGL.

The engine ( =exported game) runs on x86 and x86_64 (Win/Mac/Linux desktops), Power (Xbox 360/Wii/Cell Ps3), arm11/v5/v7/64 (Android/iOS, legacy like palm/webOS), and pretty much any architecture with OpenGL(|ES) support using the WebGL exporter.

I guess you are asking for Raspberry Pi/BeagleBoard/X1 support, running a desktop linux port like armbian or raspbian or Nvidia tegra linux. While this is theoretically possible, it mostly dies due to the driver landscape. Most ARM boards only support OpenGL|ES hardware acceleration through proprietary drivers you have to compile against (like the VC in a raspi), or hardware acceleration is not supported on the linux distro at all (everything is software rendering, very unsuitable for 3d games). The options are:

1. Use Android. Best option. Best drivers, highest performance.
2. Running your game in a browser using our WebGL exporter. This often fails because (last time i checked) Firefox (standard on most distros) is compiled with an OpenGL backend in mind, not OpenGL|ES. So your WebGL game will fall back to software rendering, which produces like one frame every 5 seconds. However on Tegra K1/X1 machines running ChromeOS, this totally works and is the best option. It really depends on browser support for hardware acceleration on the chip.
3. We could compile a binary version for every board and every driver we want to support, which is a nightmare. Additionally, the raspi cross compiler framework is currently broken, so we would have to compile on the pi itself, which we are not going to do since all builds are generated on a central master build computer.

What board/OS are you targeting?
User avatar
broozar
Administrator
Administrator
 
Posts: 4101
Joined: 2007-09-16 10:22
Location: Berlin - Germany

Re: Shiva on non x86-based boards

Postby VLens » 2017-11-30 11:44

Hey Broozar,

The client is using an i.MX515 based system https://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-processors/i.mx51-processors/applications-processors-advanced-hmi-high-performance-low-power-arm-cortex-a8-core:i.MX515 in an industrial environment. The board has 3D support and using an old CortexA8 chip. As we haven't received our actual test device yet, the current testing is done with a Rasp. PI (gen1).

1. I agree, but running Android natively is unfortunately out of question as the client will stick to Linux. Do you think a lightweight emulator like https://anbox.io/ could theoretically run Shiva if the drivers are set up for Linux properly?
2. Sounds like an option, will do some testing,
3. How would it work? (if this is a real option at all :) )

Thank you,
V
VLens
Expert Boarder
Expert Boarder
 
Posts: 86
Joined: 2010-03-03 16:32
Location: Hungary

Re: Shiva on non x86-based boards

Postby broozar » 2017-11-30 15:17

I am familiar with the Cortex A8 / Freescale iMX 515, it's a rather old design by now, but it's good enough. On the other hand, the Pi1 with its older style ARM11 single core and miniscule amount of ram, which also has to be shared between cpu and gpu, will limit your options a lot. A Pi2 or 3 (the latter of which I will test with) are better jumping off points.

1. Never heard of anbox before, will do some testing and let you know. Since Raspbian runs in software mode itself, I am sceptical as to whether it will pipe through the hardware acceleration. If it runs at all. It's alpha stage software after all.
2. Let me know how it goes.
3. It doesn't, just mentioned it so people would understand why cross-compiling is not an option.
User avatar
broozar
Administrator
Administrator
 
Posts: 4101
Joined: 2007-09-16 10:22
Location: Berlin - Germany

Re: Shiva on non x86-based boards

Postby broozar » 2017-12-08 16:34

Hey VLens,

some update on my Raspbian tests:
- latest updates have greatly improved the OpenGL driver. instead of 1 frame every 5 seconds, you now get like 2 frames a second with Firefox+WebGL, but with substantial rendering problems, like black areas, flickering textures, etc., so it's still unusable
- anbox won't compile properly on Rasbian. i tried to get it to work for several days, but was unsuccessful. To have any luck with it, you must be on Ubuntu, which I did not have at hand.

if the openGL driver situation continues to improve, it will one day be possible to run shiva games with reasonable performance natively on one of those systems, but as it stands now, we are not quite there yet.
User avatar
broozar
Administrator
Administrator
 
Posts: 4101
Joined: 2007-09-16 10:22
Location: Berlin - Germany

Re: Shiva on non x86-based boards

Postby VLens » 2017-12-15 00:09

Hey Broozar,

thanks for the feedback, the Raspbian tests are quite promising (considering the hardware).

As for the iMX 515, unfortunately the client backed down before we could do viability tests (like HTML5) on the real hardware, so no real news on this one.

Regards,
V
VLens
Expert Boarder
Expert Boarder
 
Posts: 86
Joined: 2010-03-03 16:32
Location: Hungary


Return to Linux

Who is online

Users browsing this forum: No registered users and 1 guest

cron