MultiFunPlayer icon indicating copy to clipboard operation
MultiFunPlayer copied to clipboard

Linux build

Open hjs0007 opened this issue 4 years ago • 10 comments

Hello,

Is there some hope you release a Linux build of MFP?

hjs0007 avatar Apr 21 '21 00:04 hjs0007

Unfortunately WPF only supports windows. When MAUI and .NET 6 is released I will consider rewriting the app to also work on linux and mac depending on how much work that will be. For now maybe wine will work?

Yoooi0 avatar Apr 21 '21 16:04 Yoooi0

I tried with wine but unfortunately, it doesn't work. The app started fine but crashed after some seconds. Now the app crash every time I starts it, even after removing the preferences file.

hjs0007 avatar Jun 26 '21 18:06 hjs0007

I would also love to use this under Linux. Right now, .NET 5 is already installable under Linux with https://dot.net/v1/dotnet-install.sh or snap, so I don't quite see why it would not work there. I am no expert at C# in general, but if you need assistance on how dependencies and stuff work under Linux I'd be glad to help. Maybe you could explain how this project can be compiled in general (best case without windows only tools)? Then I could try to make it work myself.

yoshnopa avatar Dec 01 '21 17:12 yoshnopa

Right now, .NET 5 is already installable under Linux with https://dot.net/v1/dotnet-install.sh or snap, so I don't quite see why it would not work there.

Because the UI is made in WPF which is is windows only. The C# side will work just fine under mac/linux.

Maybe you could explain how this project can be compiled in general (best case without windows only tools)? Then I could try to make it work myself.

You should be able to just do dotnet build inside the solution directory, but having it use WPF might cause it to not compile im not sure.

Ideally I think the app should be split into multiple projects so that the core of the app does not rely on any UI, then add UI projects for MAUI/Blazor/Console. Technically this could be done now to first decouple it from WPF, and then rewrite the WPF part in a crossplatform UI like avalonia or maui later. Im just not sure there is enough linux/mac users that would want to use MFP for this to make sense for now.

Btw apparently someone ran MFP in wine on mac and said that everything worked fine but the UI was glitching, so maybe wine on some specific distro would also work.

Yoooi0 avatar Dec 01 '21 18:12 Yoooi0

@Yoooi0 Thanks for elaborating on those details

I can confirm that I was able to make it run with wine, but the UI was unusable. May differ from DE to DE how unusable it turns out. It was also a bit of a fiddle, if there is interest I can share how I did it.

I will try some scanarios on compiling with wine/linux the next days, but probably this won't go anywhere, as my quick read on WPF basically gave no possibility to get it compiling on Linux.

About the User base on Linux, my scenario, which I think would be interesting to a wider user base, is to make the device controllable via Wifi. This could be done by using a Pi Zero 2 W (which is capable of runnng dotnet 5 and probably also 6) and installing buttplug.io as well as MultiFunPlayer for compatibility with Video Players as well as simple Remote Control and Games. A windows PC would be overkill in this scenario obviously. The OS image could then be shared so it could be setup with minimal configuration.

For that Scenario I agree with you, a console version would be the perfect solution, dodging the windows dependency entirely and also saving some valuable RAM on the small device. Such an update would be greatly appreciated!

yoshnopa avatar Dec 07 '21 23:12 yoshnopa

Unfortunately WPF only supports windows. When MAUI and .NET 6 is released I will consider rewriting the app to also work on linux and mac depending on how much work that will be.

Any update on this please ?

Enissay avatar Jan 29 '23 01:01 Enissay

Well, MAUI is released but its not that great and will take some time to mature. I still would like to support linux and mac but will probably have to use Avalonia instead which might make the rewrite easier too. So the status is the same: "maybe someday"

Yoooi0 avatar Jan 29 '23 13:01 Yoooi0

Another possible solution that does not require a rewrite: https://avaloniaui.net/XPF Hopefully they release a free license for open source projects.

Yoooi0 avatar Feb 13 '23 20:02 Yoooi0