Repository navigation
Source Engine (EN)
stephen-cusi edited this page Sep 1, 2026
·
4 revisions
- Install
gitand clone this repository withgit clone --recursive --depth 1command. - Add
i386architecture to dpkg withdpkg --add-architecture i386command. - Install
build-essential gcc-multilib g++-multilib pkg-config ccachepackages.
-
libsdl2-dev:i386 libfreetype6-dev:i386 libfontconfig1-dev:i386 libopenal-dev:i386 libjpeg-dev:i386 libpng-dev:i386 libcurl4-gnutls-dev:i386 libbz2-dev:i386 libedit-dev:i386for 64bit system.
- Install
git python gcc gcc-multilib sdl2 freetype2 fontconfig zlib bzip2 libjpeg libpng curl openal opus.
- Install MSVC 15.9 and Windows SDK from Visual Studio Installer.
- Install Python 3 and add it to Path.
- Follow common build instructions below.
This fork supports native ARM64 compilation for Windows on ARM devices (e.g., Snapdragon X Elite).
Note: Currently only dedicated server build is supported on WoA. Full game client requires additional work.
- Install Visual Studio 2022 with Desktop development with C++ workload
- Install ARM64 build tools (included in the workload)
- Install Python 3.x
:: Open "Developer Command Prompt for VS 2022" (ARM64 Native)
:: Or run vcvarsall.bat arm64
cd path\to\source-engine
python waf configure -T release -d
python waf build- The waf build system automatically detects ARM64 native compilation
- No cross-compilation flags needed when building on ARM64 hardware
-
d3dx9is automatically skipped on ARM64 (not available) - Use
-dflag to build dedicated server
- Install Xcode from AppStore.
- Install Xcode build tools with
xcode-select --installcommand. - Install HomeBrew.
- Run
brew install sdl2 freetype2 fontconfig pkg-config opus libpng libedit
- Use
pkg ins python sdl2 freetype2 fontconfig curl pkgconf openal-soft jpeg-turbo png.
- Using a WAF build system you need to install python. Recommended: Python 3.
- Run
./waf configure -T BUILDMODE, whereBUILDMODEisreleaseordebug. - On Windows use
.\waf.bator runpython waf. - If you need a 64 bit build add
-8or--64bitsargument.
- Add
-doption:./waf configure -T release -d
- Download Android NDK r10e
- Download CLANG 11 or use system clang
- Set environment variables and add WAF args:
--togles --android=armeabi-v7a-hard,host,21 - For arm64: use
aarch64and add-8flag