iOS 17.x Simulator (Xcode 15.4): OpenGL/EAGL app shows black screen or exits; clean SDL2 rebuild + flags fix it on 17.2 (17.5 still affected)

Context

  • Host: macOS 14.7.6 on Apple Silicon (Mac mini M2)
  • Xcode 15.4
  • Simulator runtimes installed: iOS 17.2, 17.4, 17.5
  • Tech stack: Kivy/kivy-ios, SDL2 (OpenGL ES/EAGL), Python 3.11
  • App type: minimal Kivy “Hello World” (no special entitlements, no camera/mic)

Observed

  • On iOS 17.5 Simulator the app often shows a black screen or exits immediately (no crash dialog).
  • On iOS 17.2 Simulator the same build runs fine (after a clean rebuild of SDL2 and proper xcodebuild flags).

What fixed it for 17.2

  • Clean rebuild of SDL2 (no cached artifacts), then build python/kivy/app.
  • xcodebuild WITHOUT OTHER_CFLAGS="-Umain -DSDL_MAIN_HANDLED".
  • Typical flags: ONLY_ACTIVE_ARCH=YES, EXCLUDED_ARCHS="i386 x86_64", IPHONEOS_DEPLOYMENT_TARGET=16.0.
  • Optionally enforcing EAGL RGBA8 + retained backing + opaque helped when testing, but the clean SDL2 rebuild already resolved black screen on 17.2.

Still problematic

  • 17.5 Simulator still exhibits black screen/early exit for this OpenGL ES path (no clear console/crash signal).
  • Real devices are fine.

Questions

  1. Is there a known regression or change in iOS 17.5 Simulator related to EAGL/OpenGL ES contexts or presentation?
  2. Any recommended Simulator settings/workarounds for GL/EAGL apps on 17.5?

References

(We avoid posting Bundle IDs, certificate details, or real UDIDs. Happy to provide sanitized logs if useful.)

iOS 17.x Simulator (Xcode 15.4): OpenGL/EAGL app shows black screen or exits; clean SDL2 rebuild + flags fix it on 17.2 (17.5 still affected)
 
 
Q