Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't build on Linux #1013

Closed
andrfgs opened this issue Feb 5, 2021 · 8 comments
Closed

Can't build on Linux #1013

andrfgs opened this issue Feb 5, 2021 · 8 comments
Labels
bug Something isn't working

Comments

@andrfgs
Copy link

andrfgs commented Feb 5, 2021

Release Type: github

Version: branch master
Platform(s): Linux

Describe the bug
Not sure if this is a bug or a feature request. It says on the website there is "experimental" Linux support, but I am unable to build this project on Linux because it seems to require Windows:

/usr/share/dotnet/sdk/5.0.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(63,5): error NETSDK1100: Windows is required to build Windows desktop applications. [/home/andre/stride/sources/presentation/Stride.Core.Presentation.Tests/Stride.Core.Presentation.Tests.csproj]                                                                          
/usr/share/dotnet/sdk/5.0.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(63,5): error NETSDK1100: Windows is required to build Windows desktop applications. [/home/andre/stride/sources/presentation/Stride.Core.Presentation.Quantum.Tests/Stride.Core.Presentation.Quantum.Tests.csproj]                                                          
/usr/share/dotnet/sdk/5.0.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(63,5): error NETSDK1100: Windows is required to build Windows desktop applications. [/home/andre/stride/sources/tools/Stride.NuGetLoader/Stride.NuGetLoader.csproj]

When the website mentions "Experimental Linux support" does that mean for target building only? Is the editor compatible at all?

To Reproduce
Steps to reproduce the behavior:

  1. Clone the repository
  2. Go to Build subdirectory
  3. Run dotnet build Stride.sln

Expected behavior
The build process should work.

Additional context
I am using Linux 5.10.11-arch1-1 and using .NET Core host 5.0.2 (commit cb5f173b96).

I am more looking for an answer whether Linux is supported for the Editor or just to build for once the game is finished. Thanks in advance.

@andrfgs andrfgs added the bug Something isn't working label Feb 5, 2021
@Dessix
Copy link

Dessix commented Feb 7, 2021

I believe editor support is desired (or even planned?) officially, but the blocker has been the reliance on WPF.

AvaloniaUI and MAUI appear to be our best bet for getting "close-enough" XAML support to make a cross-platform editor viable. MAUI is set for availability in .NET 6, but Avalonia is less faithful to the original WPF design and would make a port somewhat more complicated.

@herocrab
Copy link
Contributor

The editor is Windows only until WPF is replaced/ a new editor is written. You can currently target and build for Linux, @manio143 has a YouTube video demonstrating this which I believe has some requirements related to asset compiler.

https://m.youtube.com/watch?v=BoHEASoQvu8&t=186s

Please review so we can close this issue.

@andrfgs
Copy link
Author

andrfgs commented Apr 27, 2021

I'm very sorry, I forgot to close this issue. Thanks for the feedback!

@andrfgs andrfgs closed this as completed Apr 27, 2021
@unmais
Copy link

unmais commented Feb 25, 2023

Commenting on this bug a bit off-topic, but maybe not that much.

I'm learning C#, dotNet and graphics programming at the moment, transitioning from a long Java career. It came to my mind that tinkering with porting Stride3D to Linux would be a highly motivating learning task.

Will anybody here give me some clues about what are the main APIs and modules that need to be ported, together with painpoints?

Thanks in advance.

@manio143
Copy link
Member

@unmais At the moment Stride can only be built on Windows. The Stride engine libraries are technically cross platform, but still have some native dependencies which are cross compiled and the build system isn't designed to run that on Linux currently. If you're looking to help out please take a look at #1394 and see if you can convert one of those native dependencies into a managed one.

@unmais
Copy link

unmais commented Feb 25, 2023

@unmais At the moment Stride can only be built on Windows. The Stride engine libraries are technically cross platform, but still have some native dependencies which are cross compiled and the build system isn't designed to run that on Linux currently. If you're looking to help out please take a look at #1394 and see if you can convert one of those native dependencies into a managed one.

That's some interesting information. Thanks! I will keep hanging around.

@Laurnz
Copy link

Laurnz commented Aug 10, 2023

and the build system isn't designed to run that on Linux currently

Is it also planned to tackle the build system to make it compatible with Linux? I would be interested on diving into this topic, but I found no open issue on that.

@Ethereal77
Copy link
Contributor

The build system is based on MSBuild and NuGet mainly. Both of those run in Linux.
What doesn't run on non-Windows platforms right now is the asset pipeline (i.e. the importing and processing of source assets into runtime-optimized content files), which uses several native dependencies that (for now) are Windows-only.
Whenever those native dependencies are gone, or replaced with portable ones, the asset pipeline could then run on Linux or MacOS or whatever.
The other part that is Windows-only for now is the editor (GameStudio), which is built using WPF.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

7 participants