t3 icon indicating copy to clipboard operation
t3 copied to clipboard

Linux Support

Open reahari opened this issue 1 year ago • 11 comments

Are there any plans to support linux?

reahari avatar Aug 02 '22 18:08 reahari

Hi @reahari thanks for your question. I wrote my current thoughts here: https://github.com/still-scene/t3/wiki/faq#so-where-are-the-maclinux-versions

pixtur avatar Sep 21 '22 18:09 pixtur

Hello everyone, please send any developers that know their way around Vulcan this way.

Couldn't get it running with lutris.

log:

lutris-wrapper: T3_avis
Started initial process 11960 from gamemoderun /home/ntanghe/.local/share/lutris/runners/wine/lutris-fshack-7.2-x86_64/bin/wine /home/ntanghe/tools/T3-Standalone-v3.4.0/t3.exe
Start monitoring process.
gamemodeauto: 
fsync: up and running.
A fatal error occurred. The required library hostfxr.dll could not be found.
If this is a self-contained application, that library should exist in [Z:\home\ntanghe\tools\T3-Standalone-v3.4.0\].
If this is a framework-dependent application, install the runtime in the global location [C:\Program Files\dotnet] or use the DOTNET_ROOT environment variable to specify the runtime location or register the runtime location in [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x64\InstallLocation].

The .NET runtime can be found at:
  - https://aka.ms/dotnet-core-applaunch?missing_runtime=true&arch=x64&rid=win7-x64&apphost_version=5.0.17
Initial process has exited (return code: 33536)
Monitored process exited.
Exit with return code 33536

NicTanghe avatar Oct 05 '22 17:10 NicTanghe

Thanks for looking into this. Linux support would indeed be great!

pixtur avatar Oct 08 '22 21:10 pixtur

I'm recently trying to migrate over to linux, so my interest in this is piqued. fortunately, DXVK exists now and is always improving thanks to the greater Wine and Proton communities. So I'd be interested in taking a stab at getting it working - it seems like it's a simple .dll replacement. If I can manage to wrangle the linking such that it's only used on non-Windows builds, it could be a simple solution backed by a huge community.

The other consideration is, of course, UI. There's lots of options with various pros, cons, and licenses. I see there being three potential choices:

  • Uno - Apache 2.0 license
  • Avalonia - MIT license - probably the best, sans the hot-reloading UI Uno has
  • Eto - BSD 3 license (similar to MIT) - uses WinForms for Windows builds, code structure is also very similar. But might be a little buggier than the others with less support.

I looked into plain ol GTK C# wrappers and they're pretty unmaintained, so I don't see that as a great option.

domportera avatar Oct 28 '22 06:10 domportera

Y close the ticket when there is no linux support ? Just leave it open ?

NicTanghe avatar Jan 21 '23 12:01 NicTanghe

Ups. Closed this by mistake. Mixed up some doubles.

pixtur avatar Jan 21 '23 18:01 pixtur

@domportera +1 for Avalonia

m1karii avatar Oct 31 '23 08:10 m1karii

Came across this project today, looks fantastic. Great work!

Another potential solution for Linux and mac support is using Godot which is an open source game engine which supports C# (as well as C++ and their own native language).

While a game engine might seem like a weird solution, Godot already supports the following out of the box.

  • Windows, Linux, mac, android and ios
  • Volkan
  • Shaders
  • Physics
  • Particles
  • 2D and 3D rendering
  • 2D and 3D animation
  • UX components with the ability for complete customization of the theme
  • Graphs
  • Audio
  • Video (although default video is limited, an extension that uses ffmpeg is available)
  • As well as a host of other features

While it would mean a rewrite of sections of the code, I think it's worth investigating as a potential solution since both Godot and Tooll3 are powerful engines/tools which could complement each other.

d-franklin avatar Dec 11 '23 19:12 d-franklin

@d-franklin I don't think that's a good solution as it would require an entire rewrite

reahari avatar Dec 12 '23 14:12 reahari

@d-franklin I don't think that's a good solution as it would require an entire rewrite

Any solution adding native support for Linux/Mac will require a substantial rewrite.

d-franklin avatar Dec 12 '23 14:12 d-franklin

it's funny you mention that @d-franklin - @pixtur and I have talked about exactly this before.

Currently I think the plan is to just continue chopping away at pieces of Tooll to allow for multiplatform support / embedded Tooll in the future. This will take some time but in the future I would imagine cross-platform support be more native a la Avalonia/Vulkan/WebGPU, but personally I'm also trying to work towards allowing tooll to be embedded within game engines like Godot and pixtur is excited for that possibility as well!

the general idea is to abstract out the graphics implementation to not be reliant on SharpDX as it is currently. Progress on this has started but it is a long road ahead 😩

domportera avatar Dec 12 '23 16:12 domportera