Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions en/manual/install-and-update/install-stride.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ If you want to **create games using Stride**, this guide provides the installati

If you're interested in **building the Stride engine from source** or **contributing to its development**, please visit the [Stride GitHub repository](https://github.com/stride3d/stride) for instructions on how to build from source and contribute to the project.

> [!NOTE]
> This guide is for **Windows users only**. For Linux instructions, visit [Install the editor using Wine](../platforms/linux/install-the-editor-using-wine.md).

## Installation steps

1. Download the Stride Installer from the [Stride website](http://stride3d.net/download/).
Expand Down
3 changes: 3 additions & 0 deletions en/manual/install-and-update/media/stride-wine-error.webp

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This should be removed.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 9 additions & 6 deletions en/manual/platforms/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,23 @@ Stride is a cross-platform engine, which means that you can create a single game
| Name | Overall status | Editor | Building (without the editor) | [Code-only](https://stride3d.github.io/stride-community-toolkit/manual/code-only/index.html) |
| :-- | :-- | :-: | :-: | :-: |
| [Windows](windows/index.md) 10, 11 | Full support | 🟩 | 🟩 | 🟩 |
| [Linux](linux/index.md) | Partial support, read more [here](linux/index.md#development-support) | 🟥 | 🟩 | 🟩 |
| [Linux](linux/index.md) | Partial support, read more [here](linux/index.md#development-support) | 🟨<sup>*</sup> | 🟩 | 🟩 |
| [MacOS](macos/index.md) | Partial support, read more [here](macos/index.md#development-support) | 🟥 | 🟩 | 🟩 |

<sup>*</sup> Despite not supporting Linux, it is possible to run the editor using a compatibility layer. See [Install the editor using Wine](linux/install-the-editor-using-wine.md).

> [!NOTE]
> **Game Studio** (the editor) is being rewritten to be cross-platform. Currently however, it's not possible to use it outside of **Windows**.
> **Game Studio** (the editor) is being rewritten to be cross-platform. Currently however, it's not possible to use it natively outside of **Windows**.

## Supported target platforms

* [Windows](windows/index.md) 10, 11
* [Linux](linux/index.md)
* [MacOS](macos/index.md)*
* [Android](android/index.md)*
* [iOS](ios/index.md)*
* [MacOS](macos/index.md)<sup>*</sup>
* [Android](android/index.md)<sup>*</sup>
* [iOS](ios/index.md)<sup>*</sup>

\* There are some things to keep in mind when targeting this platform. For more information, visit its dedicated page.
<sup>*</sup> There are some things to keep in mind when targeting this platform. For more information, visit its dedicated page.

## Platform specific code

Expand All @@ -48,6 +50,7 @@ if (Platform.Type == PlatformType.Android)
* [Xbox Live](uwp/xbox-live.md)
* [Linux](linux/index.md)
* [Setup and requirements](linux/setup-and-requirements.md)
* [Install the editor using Wine](linux/install-the-editor-using-wine.md)
* [MacOS](macos/index.md)
* [Android](android/index.md)
* [iOS](ios/index.md)
Expand Down
8 changes: 6 additions & 2 deletions en/manual/platforms/linux/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,12 @@ It is possible to run games built for Windows on Linux using **compatibility lay

## Development support

Currently, developing games on Linux is only **partially supported**. It's not possible to run **Game Studio** (the editor) on Linux, even when using a compatibility layer, such as Wine.
Currently, developing games on Linux is only **partially supported**. **Game Studio** (the editor) remains Windows-exclusive, however starting with `4.4.0-beta5`, it is now possible to use it through a compatibility layer. For more information, check out [Install the editor using Wine](install-the-editor-using-wine.md).

However, it is still possible to code and build games natively, meaning that when in a team, some programmers could work on a project using Linux for tasks that don't require the editor.
> [!NOTE]
> Using Proton/Wine to run Game Studio **is not officially supported!** You may experience problems with stability, graphical glitches and errors.

Despite Game Studio not being officially available, it is still possible to code and build games natively, meaning that when in a team, some programmers could work on a project using Linux for tasks that don't require the editor.

[!INCLUDE [xplat-editor-notice](../../../includes/xplat-editor-notice.md)]

Expand All @@ -29,3 +32,4 @@ Currently, **games made with Stride can only run using the X windowing system**,
## In this section

* [Setup and requirements](setup-and-requirements.md)
* [Install the editor using Wine](install-the-editor-using-wine.md)
103 changes: 103 additions & 0 deletions en/manual/platforms/linux/install-stride-wine.md

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This should be removed.

Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Install Stride (Wine)

<span class="badge text-bg-primary">Intermediate</span>

> [!IMPORTANT]
> While Stride Engine offers support for running game projects on Linux (runtime), GameStudio is a WPF application that is currently only officially supported on Windows. The experience when running it via Wine may vary, and the performance, stability and functionality of the emulated application **are not guaranteed.**


This guide outlines a robust process for setting up the Stride development environment on Linux, utilizing Wine to run the Windows-based game editor - GameStudio.


# Prerequisites and Preparation

Before getting started, ensure your Linux system is ready.

1. **Install Wine:** Ensure Wine is properly installed on your Linux distribution. We'll need it to launch the [GameStudio](../game-studio/index.md) app.
2. **Install .NET 10 SDK for Linux:** Download and install the latest Long-Term Support (LTS) version of .NET (currently .NET 10). See [Install .NET on Linux](https://learn.microsoft.com/en-us/dotnet/core/install/linux?WT.mc_id=dotnet-35129-website) for more information.
3. **Install Stride.CLI:** This tool allows you to download Stride NuGet packages on any operating system.
```bash
dotnet tool install --global Stride.Cli;
stride sdk install --prerelease; # Installs the latest Stride nuget packages (at least 4.4.0-beta5 is required)
```
Once Stride.CLI is fully installed, you'll be able to create and run your games **from the terminal**.

## Install Stride.Launcher using Wine

We will install the necessary components within a specific Wine prefix to keep the environment organized.

1. Download the Stride Installer from the [Stride website](http://stride3d.net/download/) and use Wine to install `StrideSetup.exe` into your designated Wine prefix.
```bash
wine StrideSetup.exe
```

2. **Install the latest LTS .NET SDK for [Windows](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-10.0.400-windows-x64-installer):** Crucially, the .NET 10 SDK must be installed within the **exact same Wine prefix** that the `Stride.Launcher.exe` is using.
```bash
wine <path_to_dotnet_windows_installer.exe>
```

## Resolve NuGet-related Certificate Errors

> [!IMPORTANT]
>
> Due to unknown package validation, the initial installation of Stride components via the launcher is almost guaranteed to fail with an "unknown NuGet CA certificate validation error."
> ![](media/stride-wine-error.webp)
Comment thread
Jklawreszuk marked this conversation as resolved.


The following steps are the necessary manual workaround to force the required dependencies into the Wine environment.


### Download Required Packages

1. On your native Linux machine, create a new Console Application.
2. Add the following packages to the project's .csproj file:
*(Note: These packages are required to satisfy the dependencies of the Stride.GameStudio within the Wine prefix.)*

```xaml
<ItemGroup>
<PackageReference Include="runtime.any.System.Runtime" Version="4.3.0" />
<PackageReference Include="runtime.any.System.IO" Version="4.3.0" />
<PackageReference Include="runtime.win.System.Diagnostics.Debug" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Reflection.Primitives" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Diagnostics.Tools" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Text.Encoding.Extensions" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Globalization.Calendars" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Globalization" Version="4.3.0" />
<PackageReference Include="runtime.win.Microsoft.Win32.Primitives" Version="4.3.0" />
<PackageReference Include="runtime.win.System.Net.Primitives" Version="4.3.0" />
<PackageReference Include="runtime.win.System.Console" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Reflection.Extensions" Version="4.3.0" />
<PackageReference Include="runtime.win.System.Runtime.Extensions" Version="4.3.0" />
<PackageReference Include="System.Security.Principal.Windows" Version="4.3.0" />
<PackageReference Include="System.Private.Uri" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Text.Encoding" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Runtime.Handles" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Reflection" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Resources.ResourceManager" Version="4.3.0" />
<PackageReference Include="runtime.win.System.Net.Sockets" Version="4.3.0" />
<PackageReference Include="System.Net.NameResolution" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Threading.Timer" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Threading.Tasks" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Diagnostics.Tracing" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Collections" Version="4.3.0" />
<PackageReference Include="runtime.any.System.Runtime.InteropServices" Version="4.3.0" />
<PackageReference Include="System.Security.Claims" Version="4.3.0" />
<PackageReference Include="runtime.win.System.IO.FileSystem" Version="4.3.0" />
</ItemGroup>
```

3. Restore Packages by building the test application (`dotnet build`). This process forces NuGet to download all listed dependencies into your local Linux `.nuget/packages` folder.

### Link Packages into Wine

Symbolic links allows the Wine application to access the packages directly from your Linux system without having to duplicate massive directories. Imagine this as an advanced shortcut for accessing files.

1. Navigate to the expected NuGet location within your Wine prefix and remove the existing `.nuget/packages` directory (if it exists and is empty, this is safe).

2. Run the following command in your Linux terminal, ensuring the source path (your actual cache) is the target of the link, and the Wine path is where the link is placed
```bash
ln -s ~/.nuget/packages ~/.wine/drive_c/users/<your_user>/.nuget/packages
```


After this process is complete, try to open the Stride.Launcher.exe via Wine. The launcher should now be able to resolve dependencies locally within the prefix and the Stride components should appear and be runnable.
Loading