Factorio does not open when launched normally through the native Steam client on macOS ARM. Steam reports that the game is running, and the factorio process remains alive, but no game window appears. Launching with
Code: Select all
--nogamepadNote: The investigation and the working workaround above were identified with assistance from ChatGPT/Codex.
Environment
- Game: Factorio Space Age, Steam version
- Factorio version: 2.0.77 (build 84539, mac-arm64, steam, space-age)
- Steam: native macOS client
- macOS: 26.5.2 (build 25F84)
- Hardware: Apple M4 Pro, ARM64, 14 CPU cores, 48 GB RAM
- Graphics: Apple M4 Pro / Metal
- Display: one internal display, 1512×982 at 120 Hz
- Install Factorio through the native Steam client.
- Launch the game normally from Steam, without launch options.
- Steam changes to “Running”, but no Factorio window appears.
Factorio opens its main menu normally.
Actual result
- No Factorio window is created.
- The Factorio process remains running in the background.
- There is no crash report.
- The startup log stops immediately after the display-options line.
- The process does not recover even after several minutes.
- Verified game files through Steam.
- Uninstalled and reinstalled Factorio.
- Removed Factorio configuration, mods, and related user data.
- Confirmed that the installed app is signed and accepted by macOS.
- Confirmed that Steam launches the native ARM64 binary.
Relevant factorio-current.log
Code: Select all
0.000 Factorio 2.0.77 (build 84539, mac-arm64, steam, space-age)
0.000 Operating system: macOS 26.5.2
0.000 Initializing Steam API.
0.000 Program arguments: ".../factorio"
0.000 Config path: .../Library/Application Support/factorio/config/config.ini
0.025 System info: [CPU: arm64, 14 cores, RAM: 49152 MB]
0.025 Display options: [FullScreen: false] [VSync: true] [UIScale: automatic (100.0%)] [Native DPI: true] [Screen: 255] [Special: lmW] [Lang: en]
Process sample / stack trace
A sample of the hung process shows the main thread blocked in controller initialization:
Code: Select all
Factorio main thread
GlobalContext::loadGraphics
SDLWindow::SDLWindow
SDL_InitSubSystem
SDL_JoystickInit
HIDAPI_JoystickInit
SDL_hid_init
PLATFORM_hid_init
IOHIDManagerSetDeviceMatchingMultiple
IOHIDManagerDeviceAdded
IOHIDDeviceCreate
IOCreatePlugInInterfaceForService
AppleSyntheticGameController
IOConnectCallScalarMethod
mach_msg2_trap
Code: Select all
AppleSyntheticGameControllerAdding the following Steam launch option makes Factorio start normally:
Code: Select all
--nogamepad
Request
Could this be investigated as an SDL/HID game-controller initialization issue on macOS ARM/macOS 26.5.2? It appears that a synchronous call into
Code: Select all
AppleSyntheticGameController