Skip to content

feat(cli): find the Avalonia Game Studio - #3693

Merged
xen2 merged 6 commits into
feature/launcher-editor-badgesfrom
fix/cli-avalonia-game-studio
Oct 26, 2026
Merged

xen2 merged 6 commits into
feature/launcher-editor-badgesfrom
fix/cli-avalonia-game-studio

Conversation

@Kryptos-FR

@Kryptos-FR Kryptos-FR commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

PR Details

The CLI only knew the WPF Game Studio package (Stride.GameStudio). The Avalonia Game Studio, in its own package (Stride.GameStudio.Avalonia.Desktop), was never listed, and stride studio opened WPF on Windows and found nothing elsewhere.

  • stride sdk list lists each version once with its Game Studios: 4.5.0-dev (WPF, Avalonia).
  • stride studio --editor wpf|avalonia opens either one. The default is WPF on Windows when the version has it, else Avalonia.
  • Off Windows, WPF runs under Wine when wine is on the PATH: wine Stride.GameStudio.exe <solution>, with the path converted by winepath (Z: as fallback). Setting up the Wine prefix is up to the user.
  • stride sdk uninstall removes every Game Studio package of the version.
  • sources/shared/GameStudioEditor.cs holds the Game Studio ids and names, shared by the CLI and the launcher.
    Not included: sdk install/update still fetch only Stride.GameStudio, since no feed publishes the Avalonia package yet.

Related Issue

Follow-up to #3692.

#3600 and #3684 would need to be merged as well to ensure launching through Wine works fine on Linux.

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My change requires a change to the documentation. (CLI section of sources/launcher/README.md)
  • I have added tests to cover my changes. (Stride.Cli has no test project.)
  • All new and existing tests passed.
  • I have built and run the editor to try this change out.

@Kryptos-FR
Kryptos-FR added this pull request to stack #3694 October 25, 2026 12:12
@Kryptos-FR Kryptos-FR added enhancement New feature or request area-Launcher Stride Launcher labels Oct 25, 2026
@Kryptos-FR Kryptos-FR mentioned this pull request Oct 25, 2026
4 of 8 tasks
The CLI only looked at the Stride.GameStudio package, so a version with only the
Avalonia Game Studio (Stride.GameStudio.Avalonia.Desktop) was never listed, and
`stride studio` opened WPF on Windows and found nothing elsewhere.

- `sdk list` lists a version once with its Game Studios: "4.5.0-dev  (WPF, Avalonia)".
- `studio --editor wpf|avalonia` opens the Game Studio from its own package. The
  default is WPF on Windows when the version has it, else Avalonia; asking for one
  the version doesn't have, or WPF off Windows, says so.
- `sdk uninstall` removes every Game Studio of the version, and the dependencies
  no other version uses.
Once a Wine prefix is set up (Windows .NET, d3dcompiler_47, fonts), the WPF Game
Studio starts with a plain `wine Stride.GameStudio.exe <solution>`. Off Windows,
`stride studio --editor wpf`, or a version that has only the WPF Game Studio, now
runs it that way when wine is on the PATH: the exe is found in the Windows-only
TFM folder, the solution path goes through the Z: drive, and the editor picks its
.NET runtime in the prefix itself. Without wine, the error says what is needed.
Avalonia stays the default off Windows when the version has it.
The Game Studios, their packages and their names (WPF, Avalonia) move to
sources/shared/GameStudioEditor.cs, linked into the CLI and the launcher. The
launcher's GameStudioNames constants, its WPF/Avalonia names and its main
package filter now come from it.
A prefix can drop the Z: drive (winecfg, sandboxed prefixes), so the solution
path given to the WPF Game Studio under Wine now comes from `wine winepath -w`,
which follows the prefix's drives. The Z: drive is the fallback when winepath
fails or takes over 30 seconds (it is left to finish: the first wine command of
a new prefix creates it).
@Kryptos-FR
Kryptos-FR force-pushed the fix/cli-avalonia-game-studio branch from b6b7bcf to daee721 Compare October 25, 2026 12:13
@Kryptos-FR
Kryptos-FR requested a review from xen2 October 25, 2026 13:12

@xen2 xen2 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The description says this was only tried on Linux with stub installs.
Maybe worth trying to run stride studio and stride sdk list once on Windows with a real WPF install before we merge? The default editor path changed there too.

Comment thread sources/launcher/Stride.Cli/ToolCommands.cs
Comment thread sources/launcher/Stride.Cli/ToolCommands.cs Outdated
- `stride studio` looks for the Game Studio before converting the solution path
  for Wine, so a version without it fails at once instead of after winepath
  (which can create a whole prefix first).
- `--editor` takes wpf or avalonia, in any case. The default enum parsing also
  took numbers, such as `--editor 5`, which then crashed.
@Kryptos-FR

Copy link
Copy Markdown
Member Author

@xen2 I made the requested changes. I also updated the PR description (that was generated by Claude and its agent only tested on Linux + Wine). I did a test locally on my Windows laptop.

@xen2
xen2 merged commit 4aadfd0 into master Oct 26, 2026
33 checks passed
@xen2
xen2 deleted the fix/cli-avalonia-game-studio branch October 26, 2026 21:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-Launcher Stride Launcher enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants