stride icon indicating copy to clipboard operation
stride copied to clipboard

Is it planned to make the editor compatible with Linux and MacOS ?

Open SeleDreams opened this issue 5 years ago • 35 comments

Hello, i was wondering if it was planned to allow the editor to be used on other platforms than Windows such as Linux and MacOS in the future like Unreal Engine ? since there are some cross platform and open source UI frameworks in C# that could maybe help the transition There is avaloniaUI for instance that is a cross platform C# UI framework xaml based under the MIT license too https://github.com/AvaloniaUI/Avalonia

SeleDreams avatar Aug 02 '18 16:08 SeleDreams

Hi @pikachuk

That was discussed internally a few times. It sure would be great but there are a couple of issues:

  • current editor is using extensively WPF and XAML (especially templating and data binding) which is only available on Windows.
  • the build system is only pretty much Windows-centric, so even if we have a xplat UI it will be hard to make it work in all platforms
  • that will require a lot of work to migrate from one UI to the other

Another approach we discussed was to to overhaul Xenko's UI and use it to make the editor (pretty much what Unreal Engine is doing). But that's an even greater task.

I'm not saying that it won't happen. I for one would champion that work. But before we talk of a xplat editor, we need to make the rest of the libraries a bit more .Net standard friendly (to ensure proper cross platform compat) and also improve the overall build system.

I'm sure @xen2 has some ideas and insight as well :wink:

Kryptos-FR avatar Aug 03 '18 00:08 Kryptos-FR

Out of curiosity (not going to happen anytime soon), it might be good to directly ask developers of https://github.com/AvaloniaUI/Avalonia how/when they feel their framework could be good enough to be used for a project such as Xenko GameStudio. Pinging @grokys

xen2 avatar Aug 07 '18 02:08 xen2

One of the main missing control would be the docking manager. There is a related project at https://github.com/wieslawsoltes/Dock. I don't know if they plan to integrate it directly into the main Avalonia control library once it is more stable.

Kryptos-FR avatar Aug 07 '18 02:08 Kryptos-FR

FYI I started a proof of concept here: https://github.com/Kryptos-FR/Avalonia.GameStudio.

I already encountered several issues related to migrating most projects to .Net standard or .Net Core. And that's even before changing the UI from WPF to Avalonia.

Kryptos-FR avatar Aug 26 '18 13:08 Kryptos-FR

if you need a open source game engine where the editor runns on linux, use https://godotengine.org

Luraktinus avatar Nov 17 '18 08:11 Luraktinus

I can't speak to the technical challenges of making it work, other than to say that if you get them worked out, you'll get more technically savvy contributors when you do. I for one am excited by the prospect of developing games using my (Linux based) studio, using Xenko.

Bugsbane avatar Nov 17 '18 14:11 Bugsbane

@xen2 @Kryptos-FR Since .NET Core 3.0 will support WPF and WinForms, do you think it will be doable ? https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/

SeleDreams avatar Dec 09 '18 12:12 SeleDreams

@pikachuk Doesn't change anything. The UI frameworks are still Windows-only.

Kryptos-FR avatar Dec 09 '18 12:12 Kryptos-FR

what do you mean ? aren't the ui frameworks wpf ?

SeleDreams avatar Dec 09 '18 12:12 SeleDreams

@pikachuk WPF and Winforms will still be Windows-only, even in .Net Core 3.0. They won't be cross-platform.

Kryptos-FR avatar Dec 09 '18 13:12 Kryptos-FR

@Kryptos-FR oh I see, I heard though that they made wpf and winforms open source so I hope some people will try to port it to linux and macos

SeleDreams avatar Dec 09 '18 13:12 SeleDreams

@pikachuk Unfortunately, they already closed that door (emphasis mine).

Most .NET Core components are cross-platform and we appreciate contributions that either improve their feature set in a given environment or that add support for a new environment. We will typically not accept contributions that implement support for an OS-specific technolology on another operating system. For example, we do not intend to create an implementation of the Windows registry for Linux or an implementation of the macOS keychain for Windows. We also do not intend to accept contributions that provide cross-platform implementations for Windows Forms or WPF.

From: https://github.com/dotnet/wpf/blob/master/Documentation/contributing.md

Kryptos-FR avatar Dec 10 '18 03:12 Kryptos-FR

Oh, that's a shame

SeleDreams avatar Dec 10 '18 08:12 SeleDreams

I don’t have anything to contribute to this thread minus, this feature would be wonderful for Xenko. I’ve recently been enjoying developing on my Mac and thought about moving to another engine... chose to stay but... this feature would be attractive long term.

herocrab avatar Jul 19 '19 09:07 herocrab

an open source game engine that doesnt work on open source platforms ... . . GeNioUs

Luraktinus avatar Aug 25 '19 20:08 Luraktinus

an open source game engine that doesnt work on open source platforms ... . . GeNioUs

You are free to port it to open source platforms.

branc116 avatar Aug 26 '19 13:08 branc116

@Lukratinus The engine works on open-source platforms (Linux, Android). Just the editor is Windows-only.

I see that you are a supporter of Godot. There is no need to start a war between open-source alternatives to commercial game engines. Until now, we have had a good relationship with Godot supporters. Please don't spoil it for everybody else.

Kryptos-FR avatar Aug 26 '19 14:08 Kryptos-FR

it has nothing to do with Godot, its my opinion unrelated to other projects, i dont use Godot even.

Luraktinus avatar Aug 26 '19 17:08 Luraktinus

Status on the editor? I'm currently running Ubuntu 20.04. Looking at the comments, it doesn't seem to be possible yet.

OoLunar avatar Aug 24 '20 22:08 OoLunar

The biggest hold up is the UI for the editor. On discord there are a few people working on it, but it is still in the very beginning/experimenting with libraries stage. Most likely the new editor UI will use avalonia ui, but people has also suggested to rewrite the stride UI and use that to make the editor.

You could try running the current editor with wine though. Don't know how well that works.

Zeroto avatar Aug 25 '20 06:08 Zeroto

I wouldn't imagine Wine working well. Afaik, wine still uses Win7 graphics, which wouldn't be anything near eye candy. I'll just dual boot over to Windows, or open up a VM, and get started there. Thanks for the update!

OoLunar avatar Aug 25 '20 13:08 OoLunar

Any updates in that regard, is it kind of close to be able to use for mac?

CodingMadness avatar Dec 13 '20 03:12 CodingMadness

I think it's better to switch Game engine if you're using Linux or Macos Like Monogame which work great I wish best support Stride Engine !

Watynecc avatar Dec 20 '21 20:12 Watynecc

Monogame is hopelessly out of date- and Stride is already cross-platform- this is simply the editor's UI framework @Watynecc; Switching engines over UI framework compatibility- especially with the very, very recent introduction of MAUI into the ecosystem- is quite drastic, and wouldn't help those who are already using this one.

Dessix avatar Dec 21 '21 03:12 Dessix

Where is the work on this being done? I might possibly want to help port it.

Brendanp01 avatar Jul 08 '22 13:07 Brendanp01

If you're interested in reading more about what has been discussed regarding the editor, please join our Discord server and check out the #ui-ux channel. During the last community meeting it has been established that the Linux/macOS timeline is as follows:

  1. ensure games can run on those platforms without issues (i.e. feature set compatibility with Windows)
  2. ensure developer experience on Windows for deploying games to Linux/macOS is smooth
  3. enable asset pipeline to partially run outside of Windows (so that you can develop code on Linux and compile while designers would manage assets on Windows)
  4. create CLI tooling for managing assets crossplatform

And maybe afterwards the existing xplat UI frameworks - be it Avalonia or MAUI will be mature and there'd be more people involved in devising a plan to slowly migrate the editor away from WPF (which always will be a huge amount of work).

manio143 avatar Jul 08 '22 20:07 manio143

Glad to hear that there is some kind of roadmap for this, although I'll point out that if you gauge interest by activity on Discord, then Linux will always be underrepresented. Many (not all, but most) Linux users tend to avoid Discord.

Bugsbane avatar Jul 09 '22 22:07 Bugsbane

Can you at least add WINE support?

ghost avatar Aug 19 '22 10:08 ghost

I think something like Uno Platform would help port the WPF-based editor to other platforms. It's free, only the professional support and the toolkit addon with extra widgets is paid, and it's licensed under Apache 2.0, which IIRC is compatible with MIT

ArtyIF avatar Nov 05 '22 17:11 ArtyIF

Uno is "WinUI" cross platform. AvaloniaUI is WPF cross platform

bruno-garcia avatar Nov 11 '22 20:11 bruno-garcia