Any chance of getting Haxeflixel to work on GameShell?

In advance sorry for my weird formatting

I was wondering if there was any chance of getting HaxeFlixel to work on GameShell, so I could play Friday Night Funkin’ on it. Mine is currently broken at the moment, but I was just wondering if Haxeflixel would actually stand a chance of working on GameShell. Friday Night Funkin’ is a very hi-res game, so even if I got it to work on GS it would probably have monster amounts of lag.

Not sure what is a “super hi res” game for you, but the GameShell is not “super high resolution” as 320x240 is quite low compared to some modern standards.

I mean, it already exports to Linux, Android (so ARM linux) and HTML5, so no reason it shouldn’t work on gameshell…
plus sprite resolution isn’t nearly as big a performance hit as 3D and the gameshell can run DS emulation fine so it shouldn’t be a problem

So… it’s not easy. And I’ve already spent a lot of time on just trying to get Haxeflixel running and didn’t succeed, though I feel I got close. If someone else wants to try, I’ll document what I did here, and all the issues that I encountered and how I dealt with them (with links to the resources I used).

Installing HaxeFlixel is quite a mess, with all the dependencies and issues around them, and the inaccurate/outdated documentation. I was foolhardy enough to try, but I learned to regret it. Here’s what I did…

Note: Take default answers for everything! (just hit enter at prompts)
Note: Also, some of the steps may take a long time to complete. Wait patiently!

It’s always a good idea to do this first before installing stuff.

sudo apt-get update

Install opam:
via opam - Install

sudo apt-get install opam
sudo ln -s /usr/bin/opam /usr/local/bin/opam

Now you’ll hit the first issue, so do this to take care of it:
via debian testing/ubuntu disco opam packages result in solver failure on init · Issue #3827 · ocaml/opam · GitHub

rm -rf ~/.opam
sudo apt install mccs
opam init --solver=mccs
opam switch create 4.10.0 --solver=mccs

Ok, that’s opam done, hopefully. We can start to install Haxe now:
via haxe/extra/BUILDING.md at development · HaxeFoundation/haxe · GitHub

mkdir ~/temp
git clone --recursive GitHub - HaxeFoundation/haxe: Haxe - The Cross-Platform Toolkit
sudo apt install libpcre3-dev zlib1g-dev

But wait, there’s also the neko dependency which fails (and conveniently isn’t mentioned under the linux install info) unless you do this:
via Downloads - NekoVM and GitHub - HaxeFoundation/neko: The Neko Virtual Machine and Can't setup OpenFL on Ubuntu - NekoAPI interface? - Help - OpenFL Community

git clone --recursive GitHub - HaxeFoundation/neko: The Neko Virtual Machine
sudo apt install cmake libgc-dev libsqlite3-dev libgtk2.0-dev libmariadb-client-lgpl-dev-compat apache2-dev
cd neko
mkdir build
cd build
cmake …
make
sudo make install
sudo ln -s /usr/local/lib/libneko.so /usr/lib/libneko.so

And now we have to go back to the rest of the Haxe install:
via haxe/extra/BUILDING.md at development · HaxeFoundation/haxe · GitHub

opam pin add haxe ~/temp/haxe --kind=path --no-action
opam install haxe --deps-only

We’ll hit another issue now, if we don’t fix something:
via Command 'dune' not found, but can be installed with · Issue #1800 · ocaml/dune · GitHub

eval $(opam config env)

If we try to run make now, it won’t work, because of this problem, so we also have to do this:
via Fatal error: mbedtls/debug.h: No such file or directory · Issue #9251 · HaxeFoundation/haxe · GitHub

sudo apt install libmbedtls-dev

We also need to do this, because of another error that occurs realted to camlp5 and its dependencies:
via coq - OCaml and preprocessor have incompatible versions error when installing tcoq - Stack Overflow

sudo apt-get install libipc-system-simple-perl libstring-shellquote-perl
opam install camlp5

Finally, we can go back and build Haxe:
via haxe/extra/BUILDING.md at development · HaxeFoundation/haxe · GitHub

cd ~/temp/haxe
make
sudo make install

After all that mess is done, you still have to install HaxeFlixel:
via Install HaxeFlixel | HaxeFlixel 2D Game Engine

sudo haxelib setup
sudo haxelib install lime
sudo haxelib install openfl
sudo haxelib install flixel
sudo haxelib run lime setup flixel
sudo haxelib run lime setup
haxelib install flixel-tools
haxelib run flixel-tools setup

Ok, everything should be installed. I didn’t see any errors or issues. But unfortunately it doesn’t work. I tested using Hello World, which requires following the instructions here:

And then I hit the error described here:
http://forum.haxeflixel.com/topic/943/having-trouble-getting-helloworld-to-run-on-armv7

I thought there was hope with downgrading, as described here, but it didn’t work for me:
https://www.gitmemory.com/issue/openfl/lime/1333/503345265 and https://lib.haxe.org/p/lime/7.3.0/changelog

sudo haxelib install lime 7.3.0

It appears to be a problem with it finding NekoAPI and lime.ndll, but those components all seemed to install properly, so I’m not sure what’s going on. I’m completely unfamiliar with Haxeflixel and didn’t even know it was a thing until I saw this post. I was looking to get back into messing around with building stuff for the Gameshell, and I figured this might be a nice start. Boy was I wrong! Oh well, hopefully it will get someone closer to getting this to work…

2 Likes