Microsoft WindowsValve, 2011
Windows Playable

Portal 2 / Half-Life 2 (kanapitsas)

Games: Portal 2 (Windows, 2011) · Half-Life 2 → (Windows, 2004)

WIN

A static recompilation of the Linux versions of Portal 2 and Half-Life 2 (with Episode One, Episode Two, and Lost Coast) into native apps for Apple silicon Macs and the iPhone, with no emulator, Wine, or Rosetta: every x86 function in the game’s modules (engine.so, client.so…) is translated to C and compiled for ARM64 along with a runtime that implements what the binaries import (libc, threads, SDL2, OpenGL, Direct3D 9, and Steam). Steam calls go to Valve’s official arm64 libsteam_api.dylib, with no Steam emulation. It renders with Metal by default through mtld3d, a native Direct3D 9 on Metal, with OpenGL as a fallback; on an M3 Pro, a scene runs at 122 fps with Metal and 81 with OpenGL (2560×1440, 4x MSAA). The README calls Portal 2 fully playable on Mac and on an iPhone 15 Pro Max, at a steady 60 fps, with touch controls and portals fired by tapping the back of the phone. Physical controllers work, and there’s local network co-op where a Mac hosts and an iPhone or a second copy on the same Mac joins (only the connection and the map load have been checked). Half-Life 2 is experimental: it has been played for a few hours on Mac, at 120 fps with Metal on an M3 Pro, and the episodes and Lost Coast load their first maps without having been played through. The Natif Installer app or the setup.sh script builds it on your Mac from your Steam copies, in about 10 minutes for Portal 2 and 10 to 20 for Half-Life 2, and downloads Valve’s libsteam_api.dylib (from Steamworks.NET); for the iPhone, setup.sh --ios signs and installs the apps and copies the game data. v0.3.0 (November 8) is the latest of 2 installer releases. The README says AI coding agents (Anthropic’s Claude Code and OpenAI’s Codex) wrote most of the code under the author’s direction. 88 of its last 100 commits list Claude as a co-author.

You needYour own Steam copies of Portal 2 (the game folder, which can also be the Windows one, plus its Linux binaries, fetched from the Steam console with download_depot 620 661, about 90 MB) or of Half-Life 2 installed on the Mac (with hl2_complete, plus its Linux binaries with download_depot 220 224, about 320 MB), and Steam running with the account that owns the game to play on Mac. An Apple silicon Mac on macOS 13 or newer with the Xcode command line tools. For the iPhone, Xcode with your Apple ID (a free account means reinstalling every 7 days), Homebrew’s xcodegen, cmake, and ninja, and an iPhone on iOS 17 or newer in Developer Mode, with about 12 GB free.

How it gets to PC
Static recompilation
Console
Microsoft Windows
Architecture
x86
Author
kanapitsas
Original studio
Valve
Year
2011
Stars
115
Last activity
2026-11-09 · 2 days ago
Latest version
v0.3.1 · 2026-11-08
License
GPL-3.0
Language
C
View repository ↗
x86puzzlefirst-person shootermultiplayeriOS buildai-assisted
README badge

If this is your project, you can add it to its README: it shows its status on Recompendium and updates itself when the status changes.

README badge
[![Recompendium](https://recompendium.com/insignias/recomp/portal-2-kanapitsas.svg)](https://recompendium.com/en/recomp/portal-2-kanapitsas/)

Other projects for Half-Life 2 2