Skip to content

Source Engine (EN)

stephen-cusi edited this page Sep 1, 2026 · 4 revisions

Source Engine Build Instructions (EN)

Русская версия

Linux

Ubuntu 18.04 (bionic) / Debian 10 (buster)

Preparing

  • Install git and clone this repository with git clone --recursive --depth 1 command.
  • Add i386 architecture to dpkg with dpkg --add-architecture i386 command.
  • Install build-essential gcc-multilib g++-multilib pkg-config ccache packages.

Required dependencies

  • 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:i386 for 64bit system.

Arch Linux

Required dependencies

  • Install git python gcc gcc-multilib sdl2 freetype2 fontconfig zlib bzip2 libjpeg libpng curl openal opus.

Windows

  • Install MSVC 15.9 and Windows SDK from Visual Studio Installer.
  • Install Python 3 and add it to Path.
  • Follow common build instructions below.

Windows on ARM (WoA)

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.

Prerequisites

  1. Install Visual Studio 2022 with Desktop development with C++ workload
  2. Install ARM64 build tools (included in the workload)
  3. Install Python 3.x

Building

:: 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

Key Notes

  • The waf build system automatically detects ARM64 native compilation
  • No cross-compilation flags needed when building on ARM64 hardware
  • d3dx9 is automatically skipped on ARM64 (not available)
  • Use -d flag to build dedicated server

OSX

Preparing

  • Install Xcode from AppStore.
  • Install Xcode build tools with xcode-select --install command.
  • Install HomeBrew.

Required dependencies

  • Run brew install sdl2 freetype2 fontconfig pkg-config opus libpng libedit

BSD

FreeBSD

Required dependencies

  • Use pkg ins python sdl2 freetype2 fontconfig curl pkgconf openal-soft jpeg-turbo png.

Common Build Instructions

  • Using a WAF build system you need to install python. Recommended: Python 3.
  • Run ./waf configure -T BUILDMODE, where BUILDMODE is release or debug.
  • On Windows use .\waf.bat or run python waf.
  • If you need a 64 bit build add -8 or --64bits argument.

Dedicated Server

  • Add -d option: ./waf configure -T release -d

Android (on Linux)

Preparing

  • 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 aarch64 and add -8 flag