[2.0.77][mac] Factorio freezes during gamepad initialization

Post your bugs and problems so we can fix them.
PirateSeal
Manual Inserter
Manual Inserter
Posts: 1
Joined: Mon Jul 27, 2026 1:39 pm
Contact:

[2.0.77][mac] Factorio freezes during gamepad initialization

Post by PirateSeal »

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

Code: Select all

--nogamepad
works immediately.

Note: 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
Steps to reproduce
  1. Install Factorio through the native Steam client.
  2. Launch the game normally from Steam, without launch options.
  3. Steam changes to “Running”, but no Factorio window appears.
Expected result

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.
Troubleshooting already performed
  • 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.
None of these changed the behavior.

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]
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:

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
This indicates that Factorio/SDL is blocked while macOS initializes or enumerates game-controller HID devices, specifically inside.

Code: Select all

AppleSyntheticGameController
Workaround

Adding the following Steam launch option makes Factorio start normally:

Code: Select all

--nogamepad
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

Code: Select all

AppleSyntheticGameController
can block indefinitely and prevent Factorio from creating its window.
Post Reply

Return to “Bug Reports”