-
Notifications
You must be signed in to change notification settings - Fork 0
Command Line Reference
WSGM.exe (installed to %LOCALAPPDATA%\WSGM\bin):
| Flag | Effect |
|---|---|
(none) or --settings
|
Settings window. The first run shows Quick Setup first. |
--boot |
What the logon service starts at sign-in. Runs the Game Mode takeover, or a Desktop session when Start in is Desktop. |
--shell |
Resident shell session. With Explorer running this is Desktop Mode; the Start Menu shortcut adds --activate. |
--shell --desktop-resident |
Desktop session without the takeover, as the service launches it for a Desktop start. |
--activate |
Open the overlay in the running session, or start one if none runs. |
--overlay-test |
The sheet alone, without a shell session or device code (development). |
--restore-shell |
Recovery: turn off the sign-in start, start Explorer, restore display scaling, exit. Needs no working GUI or config. |
--setup [--profile=<mode>] |
Headless, run by the installer: per-user files, boot manifest, Xbox FSE guard. The profile seeds settings only when no config exists. |
--uninstall-restore |
Restore machine settings (display scaling, UAC, lock-on-wake, Steam autostart entries) from their snapshots. |
--unregister-shell |
Legacy: quiet restore of an old shell registration. A no-op on service installs. |
--set-uac-silent / --restore-uac
|
Elevated one-shot: silence or restore the UAC prompt for admins. |
--disable-lock-on-wake / --restore-lock-on-wake
|
Elevated one-shot: disable or restore the sign-in requirement on wake. |
--disable-steam-autostart / --restore-steam-autostart
|
Elevated one-shot: disable or put back the Run entries, Startup shortcuts and scheduled tasks Windows uses to start Steam. Rescans; takes no names from the command line. |
--apply-steam-input-shim / --remove-steam-input-shim
|
Elevated one-shot: place or park the Steam Input file in Steam's directory. |
--install-device-plugin <path> / --remove-device-plugin
|
Elevated: replace or clear the protected device package slot. Validates the package again before replacing. |
--radio-probe |
Diagnostics for Wi-Fi and Bluetooth control from a shell-less session. |
--verbose |
Debug-level logging for this run. |
Flags that maintain the machine bypass the one-package startup gate, so recovery works even when two device packages are installed. --overlay-test does not.
WSGM.LogonService.exe (in Program Files\WSGM, driven by setup):
| Flag | Effect |
|---|---|
--install |
Create or reconfigure the WSGM Logon Service and start it |
--uninstall |
Stop and delete the service |
WSGM.Launch.exe, the per-game launch wrapper. You normally never type it: the sheet's Steam page writes it into the game's Steam settings for you.
| Flag | Effect |
|---|---|
--deelevate |
Run the game at medium integrity, for titles that refuse to start elevated |
--input-lease |
Block Steam Input for the game's lifetime through the file Steam already loaded. Never injects. |
--input-lease-inject |
Same block, delivered by injection. The only route in the shipped product that injects |
-- |
Everything after this is the game's own command. Required. |
--status |
Report the Steam Input gate's lease and handle counts |
--rescan |
Ask Steam to rediscover controllers |
--target-name <exe> |
Process the gate is injected into (default steam.exe) |
--payload <dll> |
Override the path to the gate DLL |
At least one of --deelevate, --input-lease, --input-lease-inject is required. De-elevation combines with either lease mode; the two lease modes are mutually exclusive. The wrapper shows a small console window while the game runs. That is deliberate: a windowless wrapper is treated by Steam as a game, gets Steam Input hooked into it, and dies before it starts anything.
Every controlled launch also strips SDL_GAMECONTROLLER_IGNORE_DEVICES from the game's environment. Steam sets it to hide direct controllers from SDL, which would also hide WSGM's virtual pad.
Open the sheet on a game's page, go to Steam > Per-game launch fixes, pick the fix. WSGM writes it into the running client, no restart. Remove launch fixes puts the original settings back.
With the Steam integration off, the same buttons copy the command and you paste it yourself. Normal Steam title, Launch Options:
"%LOCALAPPDATA%\WSGM\bin\WSGM.Launch.exe" --deelevate --input-lease -- %command%
Non-Steam shortcut. Steam ignores an exe-replacement launch option there, so the wrapper goes in Target and the program in Launch Arguments:
Target: "%LOCALAPPDATA%\WSGM\bin\WSGM.Launch.exe"
Launch Arguments: --deelevate -- "C:\Games\YourGame\game.exe"
WSGM: %LOCALAPPDATA%\WSGM\wsgm.log (Settings > System > Open log location). Service: %ProgramData%\WSGM\wsgm-service.log. Launch wrapper: %LOCALAPPDATA%\WSGM\launch.log.
When you report a problem, paste the log rather than describing what happened. Almost everything WSGM does leaves a line in there, and a description usually leaves out the part that matters.