How powerful is the Librem 5, and how could I make games for it?


Unreal engine and the scripts you write are in C++ and it can build to linux arm platforms, so would that be a viable option to make games for the Librem? I use visual studio with Unity, though I don’t mind learning a different programming language if that means I can use a scene view such as Unity or Unreal has. Especially for games I really like being able to rearrange things and creating objects in a scene view and then attaching scripts to them.

If Unreal is a good option then I can start messing around and learning C++ and the engine, and test anything I might have made on the phone when it ships:)


If something from Unreal can work on a Debian-based install (I think Raspbian is close enough if you want to test on a RPi), I think it should work on Librem 5/Pure OS.


I think it can! I downloaded it and I’ll start messing around in it :slight_smile:


Native apps for the librem 5 are (i think, check for confirmation ;)) written with gtk, in any language you prefer. If it’s a simple game gtk offers drawing libraries, but as it is a gui framework/widget framework, I’m not sure if it will be suitable for game development.


I wonder if this could help promote Vala :thinking:… I was pretty excited when I discovered that but the use case couldn’t beat Java for me yet.


As some have mentioned you could write your game from scratch or use the unity HTML5/WebGL backend but I don’t see native unity for 2 reasons. I don’t think unity has support for Arm Linux outside of Android and the bigger problem is I don’t think unity has any native Wayland support. I personally do all my game work from scratch, well I have my own engine I use. For at least a while using your own engine or doing stuff with WebGL will probably be the only way to properly support it as Arm GNU/Linux and Wayland is a combo that no one supports right now.


You can use anything you want as long as it has native wayland support which both GLFW and SDL do so as long as you take the screen dimensions and such into account you should be able to do straight OpenGL ES. My bigger concern in this scenario would actually be getting touch input. I didn’t order a Dev board but when I get my actual phone next year I’ll probably play with GLFW and see how I could get input from the touch screen. Maybe you can’t use those libraries, maybe you’d have to use Wayland directly or use GTK+ with a GtkGLArea(Idk if it has ES support).


The Unreal engine supports ARM linux, but I’m not sure about the wayland thing, would this matter with unreal?


Interesting, although again it goes back to Wayland support. The librem 5 won’t have XWayland so if the software doesn’t do things Wayland native then it won’t run. I’m not sure if unreal has Wayland support but I’d guess not. If it does none of the unreal games in my steam library enable it. I’d have to do more research to know for sure but I’d doubt it. Wayland isn’t even supported by large FOSS software on Linux, Firefox and chromium for example, so I don’t see big engines supporting it yet although it would be nice. I found this but it sounds like they’re not talking about native Wayland but rather XWayland.


“New: Recompiled the bundled SDL library with Wayland support.” In the patch notes of unreal 4.19. So does that mean building games in Unreal would be possible?


Maybe? Sure sounds like it although I’d have to do some testing to know for sure. I don’t know why they’d compile it in unless the engine could at least sort of run on it.


Aaaaah I can’t wait to get my hands on the phone and mess around with it! Really want to try and learn how to make simple games for it and add to them bit by bit haha


Yeah I too am looking forward to the phone. Might finally give me a reason to have an OpenGL ES backend on my game engine. I’m also just looking forward to having a Linux phone honestly.


Yeah I’m really curious how it’s all going to work and such, stuff like game controllers and connectivity and such.


I think game controllers should work as normal because their input is queried directly from /dev/input/js* but I’d assume you have to connect them via bluetooth or maybe USB OTG. The connectivity I’m not really sure about.


C++ is really the only way to go if you want your game to be responsive. There are APIs out there that you can use like Ogre or just start with SDL. Not impressed with unity on Linux.

I would start with a really simple tile based game and build up from there. The tile based game will be harder than you think, programming is always harder than you think. I don’t think I have ever meet a sprint goal. Scrums are retarded anyways.

Codelite - My favorite, has good code completion, cross platform compatible can be used for C++,C,PHP and some others.

Kdevelop5 - Very close to Codelite and the only reason i don’t use is because codelite takes the help from the functions and displays it in the code completion and Kdevelop5 seems bit ADHD. Try it and you will see what I mean.

CLion - Goodish, Don’t want to get stuck paying monthly fees for the rest of my life!

QT Development - Good but they are trying to redefine LGPL I would say far away from this company!

For Applications I find GTKMM good. There is also Wxwidgets which is really good as well, I find it hard to decide what I use here. Qt see my above comment. Qt wants 450 a month per seat per developer, that’s to steep for me. They also want you to use that license from the start of the application to where you stop selling it. Stay away from QT.


I just recently got a Pico Pi (nee Wandboard) i.MX8M from Technexion. I’m meaning to run some benchmarks to publish on here.

Unfortunately, the board’s documentation is next to non-existent. Compounding that problem is the fact that this is the first “Pi” computer I have ever owned. I am doubly in the dark.


Thank you for the advice! I know coding is hard, but I’m more worried about how to get the game to run on the phone than the actual gamecode. With unity or unreal you get an executable that you can run on windows and android and such so you don’t have to build your engine or worry about apis or whatever. What do i need to learn or be aware of in creating a game for this phone? Are there libraries that work or does everything need to be coded from touch input to the gamecode?


Like someone said something about wayland/xwayland, I’m trying to understand what this is and why you need it. I’m a noob at linux things


I have been searching for some information about Unity engine and native Wayland support including ARM/AARCH64 support as well.
It seems that the Unity engine has experimental Wayland support in current beta versions (as stated in an article at Phoronix and Unity 2017.3.0b4 Release Notes). But I couldn’t find more information about further development and whether it’s native Wayland support or only via XWayland.
Talking about ARM/AARCH64: Unity doesn’t seem to support this at the moment (take a look at this Unity Answer). If you are interested in voting for Unity ARM support, here’s the link.


I voted! So I’m guessing the way to go about making a game for the librem is through a code editor rather than a game engine like unreal or unity because there is no support for wayland, which is necessary for the librem?