protonscr

Trackmania: Ubisoft Connect GameStarter never initializes - gamelauncher_wait_handle not inherited between Wine processes

protonclosed appid 2225070
ValveSoftware/Proton#9535 · opened 2026-02-28 by AlchemiistCreative · updated 2026-02-28 · 1 comments · github · game page · search this game
1 matching comments, n / p to jump
AAlchemiistCreative 2026-02-28 github

steam-2225070.tar.gz

Compatibility Report

  • Name of the game with compatibility issues: Trackmania (2020)
  • Steam AppID of the game: 2225070

System Information

  • GPU: AMD Radeon RX 6900 XT (RADV NAVI21)
  • Video driver version: Mesa (RADV), check glxinfo | grep "OpenGL version" — will update
  • Kernel version: (run uname -r — will update)
  • System info gist
  • Proton version: Proton Experimental (also tested: Proton 10.0, 6.3, multiple Proton-GE versions)

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

Symptoms

Trackmania never launches. The game is permanently stuck on Ubisoft Connect's "Preparing to launch your game" screen. Trackmania.exe is never started. This has been the case since the very first installation, the game has never launched on this machine.
This likely affects all Ubisoft Connect games using the GameStarter mechanism, not just Trackmania.

The launcher log (Ubisoft Game Launcher/logs/launcher_log.txt) always ends with:

PlayGame.cpp (1536)   Gamestarter must be initialized before game can be launched.

game_starter_log.txt is always empty.

Reproduction

  1. Install Trackmania (AppID 2225070) via Steam with Proton Experimental
  2. Add WINE_SIMULATE_WRITECOPY=1 %command% to launch options (without this, the game fails even earlier with UplayId=0)
  3. Launch the game
  4. Ubisoft Connect opens, user logs in, game appears in library
  5. Click Play — stuck indefinitely on "Preparing to launch your game"

Root Cause (identified through log and process analysis)

The issue is a broken Windows event handle inheritance between upc.exe and UbisoftGameLauncher.exe.

When launching, upc.exe is called with:

upc.exe -upc_uplay_id 7015 -upc_steam_free_package_id 62710 -uplay_steam_mode -upc_game_starter

It then spawns UbisoftGameLauncher.exe passing a Windows event handle:

UbisoftGameLauncher.exe -gamelauncher_wait_handle 188 -upc_uplay_id 7015 ...

UbisoftGameLauncher.exe waits for this handle to be signaled before creating the named pipe game_start_ipc_pipe_ and sending a StartGrantedRsp protobuf message back to upc.exe. The handle is never signaled under Wine/Proton, so the named pipe is never created, and upc.exe logs the error above.

Strings extracted from UbisoftGameLauncher.exe confirm the architecture:

game_start_ipc_pipe_
gamelauncher_wait_handle
UPC_SDK_GameStarter_Event_
\\.\pipe\
HKEY_CURRENT_USER\Software\Ubisoft\{}\GameStarter\
mg.protocol.game_starter.StartGrantedRsp
mg.protocol.game_starter.StartDeniedRsp
mg.protocol.game_starter.SteamProofOfPurchase

The game_starter_log.txt file remains empty throughout, confirming UbisoftGameLauncher.exe never progresses past the handle wait.

The Windows event handle created in upc.exe via CreateEventW and passed via -gamelauncher_wait_handle does not appear to be correctly inherited and signaled in the child process under Wine/Proton (PROCESS_INHERIT_HANDLES).

Note: WINE_SIMULATE_WRITECOPY=1 partially helps (authentication proceeds via Steam ticket), but does not fix the GameStarter initialization.

Kkisak-valve maintainer 2026-02-28 github

Hello @AlchemiistCreative, we're using one issue report per unofficially supported game title, so I've gone ahead and transferred this issue report to https://github.com/ValveSoftware/Proton/issues/6507#issuecomment-3977165254.

Proton versions

Launch options

Launch lines

Upstream links