Buildfiling on Linux

Bottom line up front: This is not a setup tutorial. I’m writing this more from a place of annoyance after seeing multiple people on Discord mention that nothing works on Linux.

I do all[1] my hacking on Linux! Check out my CELICA entry from 2024 and the FE8 Archipelago randomizer, both of which are real projects that you can play today!

What I would not recommend doing is copying my setup one-for-one. Both of the projects above are fairly nontraditional in terms of both goals and organization. This post is intended to be more of an info/resource dump and is aimed at people who are comfortable navigating the command line and programming in general.

Core Tooling

Event Assembler

I “maintain” a Linux build here, which hasn’t failed me yet. You can also build from source in one line by cloning the repo and running dotnet publish ColorzCore/ColorzCore.csproj.

DevkitARM

Follow the instructions on their website.

lyn

You’ll have to build from source following the instructions here. Installing cmake and either g++ or gcc-c++ with your package manager of choice fills the prerequisites.

EA Formatting

You could just try to build from source, though that might be a bit annoying. I have clones of a few here. This will probably be the most difficult part, feel free to check out the CELICA or ask me how I got things working.

External tools

Text editing

I have no idea why ROM hackers all over seem to gravitate towards Notepad++. I personally use Vim, but if you’re reading this and actually need a text editor, just use VS Code.

Sprites

I use aseprite. It advertises itself as paid, but I got a Linux build working from source in under ten minutes.

Sappy

gbamusripper is Just Better.

Hex editing

This is probably the utility I miss the most; HxD is goated. Luckily, I haven’t had to manually hex edit since 2015 anyway! I don’t have a great recommendation (I’ve had the most success with bless but honestly bless sucks) because I’ve generally graduated to writing one-off python scripts for this purpose instead.

Things that work less well

FEBuilder

This is the big one. If you need FEBuilder to do anything, I cannot help you. No shame if this is what’s tying you to Windows, genuinely. I’ve heard that FEBuilder can be coerced into working under Wine, but I (as a certified Old Man who’s been at this since before FEBuilder existed) wouldn’t be the one to know.

The Skill System

To be clear, there is no reason that the Skill System couldn’t be forced to work on Linux. All of the source code is there. Unfortunately, it is also true that it was made at a time when “copy-paste the Assemble ARM.bat script from something Circles wrote” was the most common advice for getting anything working, and a lot of the automation relies on batch scripts.


  1. I have done a little bit of hacking on Mac when work is slow, but nothing serious. ↩︎

6 Likes

Avalonia GUI · laqieer/FEBuilderGBA Wiki supports Linux.

2 Likes

We need more Linux rep in these trying times! Good post, dude. :ok_hand:

1 Like