Blog
Bringing Linux Support to the Laura Game Engine
An accepted open-source contribution that adds full Linux compatibility to the Laura game engine.
26-10-2025
Blog
An accepted open-source contribution that adds full Linux compatibility to the Laura game engine.
26-10-2025
This blog post documents my accepted pull request to the Laura game engine that adds support for building and running the project on Linux. The contribution removes platform-specific assumptions, fixes build issues, and ensures the engine can be compiled with standard Linux toolchains.
The pull request was reviewed and merged upstream, officially making Linux a supported platform for the project.
Prior to this contribution, Laura primarily targeted non-Linux environments. Attempting to build the project on Linux exposed several issues related to platform assumptions, missing guards, and build configuration incompatibilities.
Linux support is important for:
The goal of this pull request was to make the project build cleanly on Linux without impacting existing platforms.
The Linux compatibility work focused on three main areas:
These changes were kept minimal and focused to align with the existing project structure.
With this pull request merged, Laura can now be built on Linux using standard tools.
Experimental Linux support:
To enable file dialogs, make sure Zenity is installed.
# Install Zenity
sudo apt install zenity # Ubuntu / Debian
sudo pacman -S zenity # Arch
# Test installation
zenity --info --text="Hello World!"
Clone and build Laura on Linux:
git clone --recursive https://github.com/jakubg05/Laura.git
cd Laura
# Compile with g++ (GCC)
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_INSTALL=ON \
-DCMAKE_C_COMPILER=gcc \
-DCMAKE_CXX_COMPILER=g++
cmake --build build --target install -j$(nproc)
# Run
./build/install/LauraEditor
Any missing dependencies can be installed through the system package manager depending on the distribution.
This contribution expands Laura's platform support and lowers the barrier for Linux-based developers to use, test, and contribute to the engine. It also makes future CI integration and automated testing on Linux straightforward.
Supporting Linux is a small change in code, but a meaningful improvement in accessibility and project longevity.
This pull request was a focused but impactful contribution: enabling Linux support without altering the engine’s design or workflow. It highlights how incremental platform improvements can significantly broaden the reach of an open-source project.