Skip to content

Spawn game as parent process #601

Open
Xnick417x wants to merge 7 commits into
WinNative-Emu:mainfrom
Xnick417x:atom
Open

Spawn game as parent process #601
Xnick417x wants to merge 7 commits into
WinNative-Emu:mainfrom
Xnick417x:atom

Conversation

@Xnick417x

Copy link
Copy Markdown
Collaborator

No description provided.

The scanout size guard rejected frames smaller than the window, falling back to a CPU copy of a GPU-only buffer that drew nothing. Allow scanout of smaller frames and scale the presented source span to fill the window instead of cropping.
Games that switch resolution showed a black screen because the game ran as a child of the winhandler.exe desktop shell. Add winlauncher.exe to the container and launch the game through it so it runs as a decoupled top-level process; winhandler stays the shell and keeps handling input.
Pass /affinity to the launch helper so the game is pinned to the container's CPU set from process start, before the per-window affinity applies.
…ervice

The game now launches under winlauncher.exe as the wine desktop shell, while winhandler.exe runs as a separate input/process service, instead of the game running as a child of winhandler.exe.
The in-process Steam launcher received the game exe on argv[1], but the
desktop shell splits that argument on the first space, so a path like
C:\Program Files (x86)\... arrived as C:\Program. The launcher then never
matched the running game and never emitted a launch-complete marker, so the
preloader hung until the watchdog killed the session.

Pass the game exe to the launcher via the WN_STEAM_GAME_EXE environment
variable (argv[1] kept as fallback) so the shell launches a bare steam.exe
with no space-bearing argument to split.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant