Skip to content

CyPort v1.2

Latest

Choose a tag to compare

@Thijs2004 Thijs2004 released this 16 Oct 12:24

CyPort v1.2

Run your own copy of Cyberpunk 2077 for Mac natively on iPhone and iPad – no emulation, no streaming.

Not affiliated with CD PROJEKT RED.

This release is about heat and frame times. On an iPhone the limit isn't raw speed, it's heat: the phone used to throttle within a minute or two of open-world play, and then the frame rate jumped around.

New

❄️ Cool mode (always on)

  • The engine's 5 job worker threads ask for the highest thread priority, which kept them all on the A18 Pro's 2 performance cores next to the game and render threads – that is what made the phone hot so fast.
  • CyPort now runs 3 of them on the 4 efficiency cores, which do the same work for far less power. 2 stay on the performance cores, so the game thread doesn't wait on slow cores every frame (all 5 on the efficiency cores felt stuttery).
  • Tunable in macshim.plist: CoolFastWorkers (default 2), CoolMode = NO turns it off.

🏙️ Steadier frame rate in the open world

  • The engine streams the city in on the game thread, by default up to 12 ms and 300 objects per frame – desktop values. At 30 FPS a frame only has 33 ms, so on a phone that showed up as frame drops while driving.
  • CyPort now writes engine/config/platform/mac/user.ini at every start with 6 ms / 200 objects per frame: the work is spread over more frames. Things may appear a moment later.
  • StreamingTweaks = NO restores the engine defaults; StreamingMsPerFrame / StreamingNodesPerFrame set your own values. If you edit user.ini yourself, remove its first line and CyPort leaves it alone.

🧹 Fewer hitches from CyPort itself

  • The worker-thread profiler from v1.1 paused all job workers for 2 s every minute – a regular hitch. Now off by default (WorkerSampler = YES to turn on).
  • The log no longer forces a disk flush after every line (that blocked game threads). Crash reports are still written in full.
  • Periodic statistics lines are only logged with Diagnostics = YES.
  • With the performance overlay set to Off, its window is now removed completely, so iOS no longer has to composite it over the game.

🛠️ Other

  • The start screen marks the resolutions that make the phone hot quickly.
  • The log now shows how busy the GPU is (1 s sample every 30 s), to tell GPU heat from CPU heat. GPUSampler = NO turns it off.
  • Optional frame pacing for testing: FrameRate = 30 / 40 / 60 in macshim.plist. By default the frame rate is the game's own setting (Settings → Graphics → VSync / Maximum FPS).
  • CPUCount now also reports a matching number of performance cores.

Performance tips

  • Resolution 1434 × 660 on the start screen – at 1912 × 880 an iPhone 16 Pro Max still throttles within about 1.5 minutes of driving.
  • Maximum FPS 30 in the game's graphics settings: a steady 30 looks smoother than a rate that jumps between 25 and 50, and the phone stays cool much longer.
  • Leave frame generation off.
  • A clip-on phone cooler helps more than any setting.

Upgrading

Rebuild the IPA with this version (./build.sh, see the README), then reinstall. Your game data, saves and settings stay in place.

Known issues

  • The phone still throttles in long open-world sessions; expect ~20–30 FPS while driving once it's hot.
  • The streaming change and the 2-fast/3-efficient worker split are new and have only had short tests – please report pop-in or stutter.
  • The free Apple ID route (SideStore + GetMoreRam, compact memory layout) is still untested on a device.