#390

Game: Final Fantasy VII 1998 (ff7.exe, 32-bit), iPhone 17, iOS 27.0.1, build v0.1.3 (4), free Apple ID: no WoW64 guest window on a 454 GB map

Openlaboo2n-creatoropened 10d ago

Hi, thank you for Madeira!

Summary

A 32-bit game (Final Fantasy VII 1998 PC, Steam license, ff7.exe + FFNx) never starts on my iPhone signed with a free Apple ID. JIT, the Wine desktop and 64-bit processes all work, but the 32-bit main image is terminated because no 4 GB guest window can be reserved. The app stays on "Still starting" with a black screen.

Environment

  • Madeira: v0.1.3 (4), official release IPA
  • Device: iPhone 17 (iPhone18,3), iOS 27.0.1 (24A446), 7672 MB RAM
  • Signing: SideStore, free Apple ID (profile=development, lifetime=7d)
  • Entitlements: increased-memory=0, extended-va=0
  • JIT: StikDebug (Enable and Run Script, started from Madeira)
  • madeira.cfg: env.MADEIRA_WOW_MIN_FREE_GB = 1 (with the default 8 it failed one step earlier: refused: map too small (6405 MB free VA ...))

Log (latest run)

[device] address-map=[0x102aa4000,0x7180000000) 454GB increased-memory=0 extended-va=0 ml1036: free holes >=64MB in [0x119000000,0x7000000000) with the window held: 0x11c0c0000+575MB 0x148000000+594MB 0x16d7bc000+296MB [layerkit-range] rev=ml898 post-limit: 24 x 256MB tag-51 chunks before kr=3; span 0x11d000000..0x7175000000 (460160 MB) [wow-window] session armed: a 32-bit process is expected [wow-window] B=0x7100000000 REJECTED: 4GB+guard unavailable and the page at 0x7200000000 is not an inaccessible neighbour (no-region-above (free to end of VA)) [wow-window] B=0x7200000000 REJECTED: (same) [wow-window] B=0x7a00000000 ... 0x7400000000 REJECTED: (same) [wow-window] main-process reserve FAILED 0xc0000017 — a 32-bit main image cannot run without a guest window; terminating this process

What I think happens

The map is "large" (454 GB) but ends at 0x7180000000, inside the first 4 GB-aligned slot of the normal WoW64 band ([0x7100000000, 0x7200000000)). So every normal slot lies outside the map. The low-band fallback in ios_wow_band() only triggers when the map is smaller than floor + 4 GB (the 63 GB case), so it is skipped here; no small address map line appears in any of my logs. A possible change would be to also use the low band when the map ends before the end of the first aligned slot. I am not sure the low band has a free 4 GB range on this device, though (the free holes above are small).

Questions

  1. Are 32-bit (WoW64) games expected to work with a free Apple ID (no extended virtual addressing)?
  2. If yes, is there a setting or planned change to place the guest window elsewhere on a map like this?
  3. If not, could Madeira show a clear message ("32-bit games need extended virtual addressing") instead of staying on "Still starting"?

I can test builds or switches and send full logs. Thanks!

Activity

0

No activity yet.