We do often include affiliate links to earn us some pennies. See more here.

You've heard a lot about various packaging systems on Linux from deb to rpm and the next generation with Snap and Flatpak, but what about how games get built and packaged up?

Well, that's what Linux game porter Ethan Lee wanted to talk about and show off during the Linux App Summit 2020. Interestingly, it sounds like Ethan Lee put in their talk plan after seeing us announce the event. For those who aren't familiar with Ethan Lee you can check out their port portfolio here which shows just how many games they've shipped including the likes of: Streets of Rage 4 which just recently released, VVVVVV, Owlboy, FEZ, TowerFall Ascension, Dust: An Elysian Tail and a vast many more. Ethan Lee also created and maintains FNA, which is a reimplementation of the Microsoft XNA Game Studio 4.0 Refresh libraries.

The full video can be seen below at timestamp 2:20:20

YouTube Thumbnail
YouTube videos require cookies, you must accept their cookies to view. View cookie preferences.
Accept Cookies & Show   Direct Link

Much like on Windows, there's different ways of building games and what's shown here is just one way but it's a nice peek behind the development curtain that you don't often get to see when it comes to games.

If you wish to support the work that Ethan Lee does for Linux ports and FNA head over to the GitHub Sponsors page.

Article taken from GamingOnLinux.com.
Tags: Event, Video
39 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
The comments on this article are closed.
4 comments

1xok Nov 14, 2020
I bought Street Of Rage 4. Runs on my Linux laptop without problems and with all graphics options. Controller support and everything where you expect it. Good job!
Avehicle7887 Nov 15, 2020
At 2:31 - System Requirements part:

Other devs: Supporting Linux is hard due to the wide choice of distros....blah...blah...blah
Ethan: Typically people expect Ubuntu 16.04, Arch......nope it's all about glibc

Even though there's more to running a game than just the glibc library (GPU drivers etc), what he said is very true and I see no reason why people should make fun of the listed requirements. In my experience I've found that this matters more than some other libraries in native titles.

As someone who's still running Debian 9 (glibc 2.24) I've encountered 2 games where my glibc wasn't high enough SteamWorld: Quest and Neverwinter Nights: Enhanced Edition. For the former game I've compiled a newer glibc from source into a custom folder and LD_PRELOAD'ed the library which solved the issue (game is awesome). Meanwhile for NwN:EE, the same method couldn't be applied, however I've found a complicated method to run it still.

It seems Beamdog was already aware of this issue and in the latest patch they noted "Linux binaries are now built against Debian Stretch (9), fixing requirements to Debian 9, Ubuntu 18.04 LTS, or newer. This should take care of the glibc issues some folks were seeing, as well as the stray libsndio linkage."

So to sum it up, it's not the distro type, package manager or whatever name it's given, but the libraries you're compiling against. It's better to use a slightly older distro for broader compatibility and 'you' as the developer won't have to go back to the drawing board and set up a compiling environment all over again for your game in order to fix them.

Nice work Ethan, if you read this, keep it up and thanks for all you do.


Last edited by Avehicle7887 on 15 November 2020 at 4:34 pm UTC
Anza Nov 16, 2020
Quoting: Avehicle7887At 2:31 - System Requirements part:

Other devs: Supporting Linux is hard due to the wide choice of distros....blah...blah...blah
Ethan: Typically people expect Ubuntu 16.04, Arch......nope it's all about glibc

Nice thing about glibc is that the new versions are backwards compatible. So distro with later glibc can still run binaries compiled with older glibc. Hence Ethan had the CentOS machine: long term support and pretty old glibc.
rcrit Nov 16, 2020
View PC info
  • Supporter Plus
This beats the alternative. A decade (or more) ago the Loki setup tools were statically linked to avoid libc issues. It only built this way on some golden, magical system that icculus had solely for this purpose.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.