$ cat docs/guides/linux.md
# building on Linux
OpenEngine supports Linux C++ builds with scripting currently disabled (enabled in future roadmap phases).
Prerequisites
bash
sudo apt install libxinerama-dev libxcursor-dev xorg-dev libglu1-mesa-dev pkg-config
sudo apt install mesa-vulkan-drivers vulkan-tools vulkan-validationlayers- CMake 3.20+
- A recent C++ compiler (Clang or GCC)
- .NET 9.0 SDK (optional, for future scripting support)
Native Build
bash
# Ninja (recommended)
cmake -S . -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DBUILD_EXAMPLES=ON \
-DBUILD_TESTING=ON \
-DENABLE_SCRIPTING=OFF
cmake --build build -- -j$(nproc)
# Run
./build/bin/EditorFor Unix Makefiles, replace -G Ninja with -G "Unix Makefiles".
Streamlined Build
bash
chmod +x Tools/Scripts/build-linux.sh
./Tools/Scripts/build-linux.shDocker Build (from Windows)
If you don't have a native Linux environment, use Docker from Windows:
powershell
.\Tools\Scripts\run-linux-build.ps1This builds a Linux dev Docker image using Dockerfile.linux-dev, mounts your checkout, configures a Ninja build in build-linux-docker/, and builds the Editor target.
Vulkan Surface Troubleshooting
If you see Failed to create window surface! Error: -7:
- Ensure vcpkg installs
vulkan-loader[wayland,xcb,xlib](automatic via manifest mode) - Install the X11 development packages listed above
- If running pure Wayland (no XWayland), enable
glfw3[wayland]invcpkg.json - Reconfigure and rebuild after adjusting packages
info
Configure with CMake so vcpkg installs dependencies from vcpkg.json. This installs Vulkan loader with all WSI surface extensions automatically.
Next Steps
- Build on macOS for Editor + scripting
- Follow the Development Workflow