reckfellENGINE

Building source for Linux/BSD

Dependencies, SCons, C# preparation and build-result diagnosis.

On this page

This builds Reckfell 1.0.0 source for Linux/BSD. To package a game with an existing editor, use Linux export. The commands below are configuration recipes; this review did not compile or launch a Linux/BSD engine.

Prepare the host

Work in Source, containing SConstruct. The build enforces Python 3.9+ and SCons 4.4+. Use a C++17-capable compiler/linker with the selected architecture's headers and libraries. Check python3 --version, scons --version, c++ --version and pkg-config --version in the same terminal that will build.

The platform detector expects a POSIX host other than macOS and pkg-config. Setting platform=linuxbsd on Windows does not provide a Linux toolchain. BSD uses the same platform name, with host-specific dependencies; a Linux executable is not automatically a BSD executable.

Dependencies depend on selected options:

FeatureWhat to check
X11x11, xcursor, xinerama, xext, xrandr, xrender and xi when linked through pkg-config
Waylandwayland-scanner; client/cursor/egl libraries when not using dynamic wrappers
System fonts/audio/desktopfontconfig, ALSA/PulseAudio, D-Bus and other enabled backends
Custom system librariesMatching development packages for every builtin_*=no override
AccessibilityMatching AccessKit C SDK at accesskit_sdk_path, or an intentional accesskit=no build

use_sowrap=yes can use bundled headers and dynamically loaded libraries; it does not eliminate runtime dependencies. Missing wayland-scanner disables Wayland with a warning in current source. Read configuration warnings rather than assuming a successful build retained every feature. Package names differ by OS/release; install the development package for the exact missing library instead of copying an unlabeled package-manager command.

Build a C# editor

Example for x86_64, from Source:

Shell
scons platform=linuxbsd target=editor arch=x86_64 module_mono_enabled=yes -j4

platform selects the OS backend, target selects editor/templates, and arch selects CPU output. For Clang add use_llvm=yes. A different CPU requires a matching compiler/sysroot/dependencies; changing arch alone is not a complete cross-build recipe. -j4 is a starting job limit, not a memory or speed guarantee. Reduce jobs when compilation/linking exhausts memory; LTO has separate memory costs.

Expected native output is in Source/bin. Its filename also depends on dev_build, precision and module suffixes. Keep symbols for debugging. Do not use compiledb_gen_only=yes or vsproj_gen_only=yes as a normal build.

The native binary alone is insufficient for C#. The module is disabled by default, so keep module_mono_enabled=yes in matching editor and template configurations. Use .NET SDK 10, generate the glue from the new editor, then build its managed assemblies and local packages. Set RECKFELL_BINARY to the actual new executable, not an installed unrelated editor:

Shell
RECKFELL_BINARY="/absolute/Source/bin/reckfell.linuxbsd.editor.x86_64.mono"
"$RECKFELL_BINARY" --headless --generate-mono-glue modules/mono/glue
python3 modules/mono/build_scripts/build_assemblies.py --reckfell-output-dir=bin --push-nupkgs-local=bin/NuGet
"$RECKFELL_BINARY" --path /absolute/project --editor

The path is an example for that configuration. Verify each command succeeded; an old bin file is not evidence of a new successful build. Check bin/ReckfellSharp, bin/NuGet and the matching SDK 1.0.0. The project directory must contain project.reckfell. Retain matching managed/native artifacts rather than mixing output from different feature sets.

Templates and headless use

For game templates build target=template_debug and target=template_release with matching platform, arch, precision and C# module settings. These are separate outputs; an editor binary is not an export template. Point the export preset to the intended custom templates and validate the resulting game on the target OS.

--headless is a runtime mode, not another target or proof that graphics/system dependencies were removed at build time. It does not demonstrate GPU rendering. A compiled binary is not dependency-free: check libc/ABI, dynamic libraries, drivers and the .NET components required by your build. Test on the oldest OS environment you actually support; one build does not establish compatibility with all distributions.

Diagnose the first failure

FailureNext action
SConstruct not foundBuild from Source
Library missing in pkg-configInstall target-architecture development files; check PKG_CONFIG_PATH and sysroot
Wayland unavailable afterwardCheck scanner detection and configuration warnings
C++ succeeds, C# unavailableCheck module option, .NET SDK 10, glue and assembly/package build
Binary exists after a failed buildInspect the first error, exit status and output timestamp
Works here, fails on another machineCheck architecture, ABI and runtime dependencies there

Source options and C# build stages were reviewed; existing Windows CLI evidence only supports --path semantics. Linux/BSD compilation, dependency installation, rendering, export and distribution remain unverified. Source, installed Runtime and SDK were not modified.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.