[2.0.77][mac] Factorio freezes during gamepad initialization
Posted: Mon Jul 27, 2026 1:47 pm
Summary
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 works immediately.
Note: The investigation and the working workaround above were identified with assistance from ChatGPT/Codex.
Environment
Factorio opens its main menu normally.
Actual result
Relevant factorio-current.log
No further startup log entries are written during the hang.
Process sample / stack trace
A sample of the hung process shows the main thread blocked in controller initialization:
This indicates that Factorio/SDL is blocked while macOS initializes or enumerates game-controller HID devices, specifically inside.
Workaround
Adding the following Steam launch option makes Factorio start normally:
With this option, Factorio proceeds past video initialization, initializes Metal, loads mods and sprites, and opens normally.
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 can block indefinitely and prevent Factorio from creating its window.
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