Pages: 1
  Print  
Author Topic: Enigma on ARM Linux  (Read 4150 times)
Offline (Unknown gender) Wendigo
Posted on: October 30, 2018, 09:14:42 am
Member
Joined: Apr 2015
Posts: 42

View Profile
I recently installed Ubuntu Touch on my Smartphone. Looking through the OpenStore I only found 133 games in total and thought about developing a game myself. Unfortunately there aren't any game engines out there that can export to ARM Linux (except HTML5 games which run pretty slow). Since I have full access to the underlying Linux I wonder if it would be possible to run Enigma on the phone and use the CLI to compile a game that I develop on the desktop.
I have no knowledge about building C++ applications or mobile GPUs so please bear with me if this is completely illusional.  :ohdear:
(Did a quick test with the install.py script but it had issues with the java part)
Logged
Offline (Male) Goombert
Reply #1 Posted on: October 30, 2018, 10:15:12 am

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 2993

View Profile
Hey Wendigo, I will try to offer some advice though my experience here is limited too. First, it doesn't surprise me Java would be an issue. But that's ok, if you want to use the command line you don't need Java now, that's just if you want to edit and run the game with LGM. Because I have been busy trying to focus on RGM, we haven't quite documented how to use the new command line as much, but it's pretty simple.

The process is well documented for Windows:
https://enigma-dev.org/forums/index.php?topic=2939.msg27287#new

You just need a few additional packages such as protobuf, pugixml, yaml-cpp, and rapidjson. The best place to find the packages that you need for your Linux distribution is probably the Travis CI yaml file in our repo since the CI we run on every pull request builds the command line.
https://github.com/enigma-dev/enigma-dev/blob/128d62949f988ef747f6926111fb11ae841558ad/.travis.yml#L17

You'll probably want to do a clean build, so I'd run [snip]make clean[/snip] first. Then you'll just want to run [snip]make emake[/snip] to build the C++ CLI. Once you've successfully built emake, instructions for running it can be found on the wiki.
https://enigma-dev.org/docs/Wiki/Command_line_interface

In the future we can look at building a new debian package for emake. Right now my priority is getting an RGM beta out to start replacing LGM with it. RGM is not just a different IDE but builds your game using the same underlying tools as emake. In this way, an IDE like LGM or RGM is considered supplementary or optional.
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Unknown gender) Wendigo
Reply #2 Posted on: October 31, 2018, 03:07:20 am
Member
Joined: Apr 2015
Posts: 42

View Profile
Thanks for the quick reply. I'll check it out on the weekend.

EDIT:
No real progress yet. I had to solve a problem with the Libertine container that had a corrupt config after upgrading from Vivid to Xenial. Now that this is running I need to find a way to either enlarge the terminal App or SSH into the container to do the installation of the Enigma packages.
Unfortunately I hadn't enough time at the weekend but I'll keep you updated on further progress.
« Last Edit: November 05, 2018, 01:49:12 am by Wendigo » Logged
Offline (Unknown gender) Wendigo
Reply #3 Posted on: December 05, 2018, 04:43:33 am
Member
Joined: Apr 2015
Posts: 42

View Profile
So it turned out that developing (GPU accelerated) games for Ubuntu Touch is a real nightmare. The combination of ARM architecture and MIR display server makes it nearly impossible to develop a game that runs at decent speed since XMIR doesn't support GPU acceleration.
The only engine that supports both MIR and ARM is SDL2 in version <= 2.0.8 (they removed MIR support in 2.0.9 lately)
I wonder if it will be possible to use the SDL backand of Enigma to create games in RGM when it is out in the wild.
A small peek at the Github repo showed that libsdl2-dev gets installed. Maybe it works when I specify a specific version in this line
« Last Edit: December 05, 2018, 04:45:37 am by Wendigo » Logged
Pages: 1
  Print