Repository navigation
Playport 0.3.0
Playport 0.3.0: 32-bit games
32-bit Windows games now run on your iPhone. Until now Playport ran only
64-bit games. 0.3.0 adds a full 32-bit runtime with Direct3D 9 graphics on Apple's
GPU, and Portal 2 is the first 32-bit game that plays: menus, test chambers,
both portals, sound, controller, saves and Steam Cloud. Everything runs locally on a non-jailbroken iPhone: no streaming, no remake,
no PC.
Highlights
🧩 32-bit Windows games
- 32-bit (x86) games run next to 64-bit ones, from the same Library and the same
Play button. Nothing to set up. - iOS keeps the lowest 4 GB of memory to itself, which is exactly where a 32-bit
game has to live. Playport gives each 32-bit game its own 4 GB window higher up
and translates every memory access on the fly, so the game never notices.
🎨 Direct3D 9 on the iPhone's GPU, through KosmicKrisp
- Direct3D 9 runs on DXVK, then Vulkan, then Metal through KosmicKrisp, Mesa's
Vulkan driver for Apple GPUs, ported to iOS for Playport. - 32-bit games pick Vulkan automatically. Game options show "Default · Vulkan".
- KosmicKrisp keeps its compiled shaders on disk, so the second launch of a game
reuses them instead of compiling again.
🌀 Portal 2
- Plays at about 60 FPS at 720p. A 5-minute play with portals, tunnels, a death
and a reload averaged 58.4 FPS. - A 95-minute session with saving and loading ran without a crash. After a long
session the phone gets warm, and Portal 2 then runs at about 50 FPS. - Saves sync with Steam Cloud, so you can carry on where you left off on your PC.
⚡ Faster 32-bit games
- x87 floating-point math, which older 32-bit games use heavily, now runs at the
CPU's native 64-bit precision, as Valve's Proton does on ARM64. Portal 2's main
thread does about 40 % less work and the CPU draws about 40 % less power, so the
phone stays cooler and holds 60 FPS for longer.
Fixes and improvements
- Controllers work in games that bring their own copy of XInput (Portal 2 does).
- Steam Cloud: Portal 2's saves upload again, and a file Steam refuses no longer
stops the whole sync. - Games that ask for Tahoma show their text: Playport now ships fallback Tahoma
fonts. - A new opening animation while your stores load, and a launch that dives into the
game's art. The game then fades in at its own size. - A game's art fills the screen on its page and during its launch.
Known limitations
- Portal 2 is the only 32-bit game tested so far. Other 32-bit Direct3D 9 games use
the same route, but expect rough edges. Please tell us how they run. - 32-bit games run only on Vulkan. Choosing DXMT for one, on its page or globally,
stops it from starting. - Expect short hitches when a level loads and the first time you see a new effect.
- In long sessions the iPhone heats up and lowers its clock speeds, and frame rates
drop.
Install
Download Playport-0.3.0.ipa and sideload it with your own Apple ID, keeping the
increased memory limit and the JIT helper extension. If you have an earlier version,
install over it: your games, saves and Steam login stay. Bring your own games from
Steam.
The complete Corresponding Source of this exact build, the notices and the
rebuild instructions are attached as Playport-0.3.0-source.tar, NOTICES.tar
and INSTALL-REBUILD.tar. SHA256SUMS covers every file.
Built on willfaust/Madeira. Playport is GPL-3.0-or-later; every component keeps its
own licence.
Checksums
| File | sha256 |
|---|---|
Playport-0.3.0.ipa |
f87e4450a5d9bf1dc50f6056db6c6fae2659c322f39e51d38877f632ad37955d |
Playport-0.3.0-source.tar |
02f76539e83dffa933e83d049d3f490e855d9d7908faa0067bea4d3c7dfdb9e4 |
Built from commit 89b399741c3dd4342d1184428a2f663776460e09.