Skip to content

Releases

v0.3.1: a clear message instead of a crash when Portal 2's data is incomplete

Choose a tag to compare

@kanapitsas kanapitsas released this 08 Nov 18:45

Fix for the startup crash reported on Reddit (host SIGBUS on guest address 0x7c). Portal 2 loads the puzzle-editor item definitions even for the campaign; when portal2_dlc2/scripts/editoritems.txt is missing or empty, the game dereferences a null item and crashes. Now:

  • the installer and setup.sh check that file before building, and prefer a complete depot_621 folder over an incomplete Steam install;
  • the app checks the file it will really read (user overrides included) before starting Steam, and shows a message naming the folder and the fix instead of crashing.

If you see "Portal 2 game data is incomplete": an empty placeholder file does not help, the game needs the real one. In Steam, right-click Portal 2 > Properties > Installed Files > Verify integrity of game files; or download the complete data with download_depot 620 621 in the Steam console and choose depot_621 in the installer. No rebuild is needed: the data is read at launch.

Also: the Half-Life 2 download guidance and depot detection were fixed.

Opening the installer: signed with a Developer ID and notarized by Apple, so it opens like any downloaded app. Unzip it and open Natif Installer. Or git clone the repository and run ./setup.sh.

You must own the games: everything is built from your own copy, and nothing from Valve is in the repository. Unofficial fan project, not affiliated with or endorsed by Valve.

SHA-256 of the zip: ed0f09dfc5b9c120371906264b54f5e00056f9fbe3d8097be3a0024dd2fed789

v0.3.0: Half-Life 2 joins Portal 2

Choose a tag to compare

@kanapitsas kanapitsas released this 08 Nov 11:31
8f5788c

Half-Life 2 (experimental) joins Portal 2. The same static recompiler turns the Linux version of Half-Life 2, with Episode One, Episode Two and Lost Coast, into a native Apple silicon app. No emulator, no Wine, no Rosetta.

Opening the installer: it is signed with a Developer ID, but Apple's notarization is still pending, so macOS will refuse it the first time. Unzip it, open it once (macOS says it cannot verify the developer), then go to System Settings > Privacy & Security, scroll down and click Open Anyway. A notarized build will replace this file when Apple answers. Or skip the installer: git clone the repository and run ./setup.sh.

  • Natif Installer finds Portal 2 and Half-Life 2 in Steam; tick the games, it builds each one on your Mac (10 to 20 minutes per game, only the Xcode command line tools are needed). Or in a terminal: ./setup.sh builds every game it finds.
  • Half-Life 2 needs its Linux binaries too: in the Steam console, download_depot 220 224 (about 320 MB). The installer tells you when they are missing.
  • Half-Life 2 runs at 120 fps with Metal on an M3 Pro at 1280×720 (the display's limit). Start the episodes from the main menu.
  • Experimental: the main game has been played for a few hours; the episodes and Lost Coast load and render but have not been played through. If it stops with target not recompiled, please open an issue with the end of ~/Library/Logs/HalfLife2Natif.log.
  • iPhone: Half-Life 2 builds with its own touch controls (./setup.sh --game hl2 --ios) and runs at 60 fps on an iPhone 15 Pro Max (short test so far). Gyro aiming is on: turn the phone to aim, the thumb for large turns. Hold the quick save button to quick load.
  • Indoors are dark by design (the maps cap exposure): use the flashlight (F) or raise Options > Video > Brightness, which now works in windowed mode.
  • Portal 2: shadows of dynamic lights on Metal (#21); same app, same saves.

You must own the games: everything is built from your own copy, and nothing from Valve is in the repository.

Unofficial fan project, not affiliated with or endorsed by Valve.

v0.1.0

Choose a tag to compare

@kanapitsas kanapitsas released this 06 Nov 19:29
2704291

First tagged release of Portal 2 statically recompiled for Apple silicon.

This release has no game files and no Valve code. The game is built on your Mac from your own copy of Portal 2 on Steam. Install steps are in the README.

State

  • Mac: fully playable. Metal is the default renderer when Rust is installed (about +50 % fps over OpenGL); OpenGL otherwise.
  • iPhone: fully playable on an iPhone 15 Pro Max at 60 fps, with touch controls and portals fired by tapping the back of the phone. Sideloaded with your own Apple ID.
  • Controllers on Mac and iPhone (on Mac, turn Steam Input off for Portal 2).
  • LAN co-op: a Mac hosts, an iPhone or a second copy on the same Mac joins. A full co-op course has not been played yet.

Requirements

Apple silicon Mac, Xcode command line tools, Homebrew (sdl2 freetype fontconfig), Python 3.9+, optionally Rust 1.99+ for Metal, and the Linux binaries (download_depot 620 661 in the Steam console). Built and tested against depot 661 manifest 8940703274703023246.

Unofficial fan project, not affiliated with or endorsed by Valve.

Host libraries 1 (macOS arm64)

Pre-release

Choose a tag to compare

@kanapitsas kanapitsas released this 06 Nov 22:15
2704291

Prebuilt host libraries that setup.sh downloads when Homebrew's are missing, or when Rust is missing for the Metal renderer. You don't need to download this by hand.

  • SDL3 3.4.20, sdl2-compat 2.32.74, libpng 1.6.59, FreeType 2.15.0, Fontconfig 2.18.3 (same sources and checksums as Homebrew's formulae)
  • libd3d9metal from kanapitsas/mtld3d@101f37d3
  • arm64, macOS 13 or newer, relocatable (@rpath); licenses in licenses/

Built with tools/build_host_deps.sh (bundle version 1). Contains no game file and no Valve code.

SHA-256: f5454da33fce938b70df1b7523df0a6884eba4249d5c9092898079964bb75b61