Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

Half-Life 2

From AppleGamingWiki, the wiki about gaming on M1 Apple silicon Macs

macOS Compatibility

Method Rating Notes
Native Perfect Compiled the Source Engine Leak.[1]
Rosetta 2 Unknown
Compatibility layer
CrossOver Runs Installed via Steam on CrossOver 21, extreme fps drops during shootouts and explosions.
Wine Unknown
Parallels Perfect Playable.[2]

Native ARM build from leaked source

These instructions are heavily based on guides written by James Hug. This method can be used to build native ARM macOS ports of Half-Life, Half-Life 2, Half-Life 2: Episode 1 & 2, Portal, Counter-Strike: Source etc. as long as the necessary game files from Steam have been copied into the correct folder.

Enter these commands into a Terminal window:

1. Install Homebrew

/bin/bash -c "$(curl -fsSL"

On Apple Silicon Macs: remember to set the path, modify this command with your username:

(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/$(whoami)/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

2. If Xcode Command Line Tools does not install, then install it manually:

xcode-select --install

3. Install required packages from Homebrew (added the jpeg-turbo dependency from instructions)

brew doctor
brew cleanup
brew install sdl2 freetype2 fontconfig pkg-config opus libpng libedit python3 jpeg jpeg-turbo

4. Clone the Source Engine GitHub repository

git clone --recursive
cd source-engine

5. The location of StubSteamAPI was recently moved on 23rd May 2023, so this has to be put into the correct place for the build scripts to work:

  1. Rename /stub_steam/ to /StubSteamAPI/
  2. Move /StubSteamAPI/ into the /thirdparty/ folder.

6. Set pkg path:

export PKG_CONFIG_PATH="/opt/homebrew/opt/jpeg/lib/pkgconfig"

7. Configure game builds:

  • Half-Life 2:
    • python3 waf configure -T release --64bits --prefix= --build-games=hl2
  • Half-Life 2 Episodes:
    • python3 waf configure -T release --64bits --prefix= --build-games=episodic
  • Portal:
    • python3 waf configure -T release --64bits --prefix= --build-games=portal
  • Counter-Strike: Source:
    • python3 waf configure -T release --64bits --prefix= --build-games=cstrike

8. Build the game:

python3 waf build

9. Create Build folder Install build into directory, this can be located anywhere ideally append with hl2, episodic, portal, cstrike etc.

python3 waf install --destdir='~/Documents/Build folder/hl2'

10. Open Build folder in new Finder window.

11. Open Mac version of Steam and install games e.g Half-Life 2, Episode 1, Episode 2, Portal, Counter-Strike: Source etc. these game files I will refer to as the Steam folder.

12. Open Steam folder in Finder: right-click on game in Steam library, go to Manage and Browse local files. Alternatively navigate to ~/Library/Application Support/Steam/steamapps/common/

13. In the Steam folder:

  • Delete Steam folder/bin/ folder.
  • Copy/move Build folder/bin/ folder into Steam folder/ replacing the previous Steam folder/bin/ folder.

14. In the Steam folder:

  • Delete hl2_osx
  • Copy/move from Build folder Build folder/hl2_launcher
  • Rename the hl2_launcher into hl2_osx

15. In the Steam folder:

  • Navigate inside 'game' folder (e.g. /hl2/ or /episodic/ or /portal/ or /cstrike/)
  • Delete the bin subfolder (e.g. Steam folder/hl2/bin/)
  • From the Build folder go to game folder (e.g. Build folder/hl2/) and move/copy from the Build folder to the Steam folder into the game (e.g. Steam folder/hl2/)

16. Now the respective game can be launched from within Steam.

17. Other parameters:

  • cstrike (Counter-Strike: Source) - in addition tot he above instructions, also copy the Steam folder/hl2/ and put it in the root of the Steam folder so that the game will launch.
  • tf (Team Fortress Classic)
  • dod (Day of Defeat)
  • hl2mp (Half-Life 2: Deathmatch)


  1. Verified by User:PBeGood4 on 29 April 2023
    Device: M1 MacBook Pro
    Method: Compiled Source Engine Leak
    Resolution: 1920x1080
    Settings: high
    Framerate: 120+ FPS
  2. Verified by User:gp on 7 Sep 2021
    Device: Mac M1 16 GB RAM
    OS: Windows 11 (latest Insider ISO)
    Method: Parallels 17
    Resolution: 1080p
    Settings: Medium
    Framerate: 50~60 FPS