Linux support is a feature you’ve asked for for a long time. It wasn’t really easy to ship it because a Windows Desktop application will miss a lot APIs on Linux. Especially the user interface. SM64 ROM Manager without an user interface would be very very bad.
Well, running windows applications on Linux is possible using WineHQ which implements the most Windows APIs for Linux. Running .NET Framework applications is possible using Mono wich is a rebuild of the .NET Framework for Linux.
You see, basically it is possible. But there are a lot of inconsistences between the original .NET Framework and Mono, as well as between the original Windows APIs and WineHQ. That means a lot of work is needed to adjust the program to run also with Mono/WineHQ. Also the user interface has to be (re-)built with components that run with Mono.
Problems with DotNetBar
Sadly, DotNetBar, the current UI toolbox used in SM64 ROM Manager, doesn’t supports Mono. So, there is an additional step needed: Switch to another UI toolbox that supports it. But this step is also requiered for another thing. DotNetBar doesn’t get updates anymore, so it will stick with .NET Framework 4.8 at max version. There will be no .NET 5+ support.
.NET 5+, Windows Forms and Linux
Now, that was the thing with the UI toolbox. But what’s the best solution to run on Linux out of the box? Right! .NET 5+. Updating the whole project to .NET 6 is very simple, because in the past I already did a lot of work for it in preparation. Well, the native Linux support will not be possible with just .NET 6, because SM64 ROM Manager still uses Windows Forms which is (together with WPF) only available on Windows. The Windows Desktop libraries are not available for other platforms. So, the result: Stick with .NET 6 Windows Desktop and use WineHQ and minimal adjustments. Nice! One problem solved!
Alternatives for DotNetBar
But what’s up with moving away from DotNetBar? Yes…that’s still a problem and lot of work.
DotNetBar is a very nice UI toolbox for imitating the Office UI layout with very flexible and customizeable components. Sadly, you don’t get this in that extend from other UI toolboxes but you get more up-to-date, modern and well developed libraries. The other point is that DotNetBar did cost me about 300$. All other comparable UI toolboxes costs between 900$ an 3000$ (per year with continuing updates and support).
My personal favorite (after a lot of tests) is Telerik UI for Windows Forms. It has about 140 components and very modern and customizeable themes. Beside .NET 5+ support it also comes with a lot of tools that makes working and developing with it a lot easier. The only problem is (as I already mentioned): The price. 899$ for direct downloads, full access to their NuGet repo and other services as well as one year with updates and support.
The problem with the money…
Well, that’s a price I can’t pay so easily. One reson, why I’m writing this text….
Over the last three years I got about 193€ via PayPal and Patreon. I liked the idea using it for the server and domain costs but actually never did it. I wanted it to stay on my PayPal account, where the amount could increase, so I could probably use it in a case of emegency. So, I continued paying the costs for server and domain on my own. Sadly, it’s not enough to buy a license of Telerik UI for Windows Forms. So, I searched for nulled, cracked or illegal published builds – with no success. The only thing I found after a long time of research is an offer for the retail version for 19,99$. I’m not sure if it’s legal or not, but I got it for an affordable amount of money. There I also get updates, but not truly reliable and safe.
Current plans for my tools
However, with this I can switch away from DotNetBar to Telerik UI. For SM64 ROM Manager I will do this step combined with the step from .NET Framework to .NET 6. Linux support comes either with that or directly after.
My current plans with updating to .NET 6 and switching to Telerik UI are:
- Libraries and small tools I’ve made. Just to test out what’s exactly possible and how to work with.
- Update Administation Tools of SM64 ROM Manager
- Update all projects of SM64 ROM Manager one by one
- In Progress
- Update SM64 Text Manager
- To do
So, now you know my plans about SM64 ROM Manager, .NET 6 upgrade, Linux support, and what’s else going on in the background. As long as you can understand my barely written text here. 😁
You want to support?
But there is one thing I want to do that I never did before just because I don’t like to do something like that. So, let’s start:
You’ve heard the price of Telerik UI for a official license? And you’ve heard that I have not enough mony to buy it? Well, I want to use all your donations for it. So, If you want to support me via a donation and you have too much mony over, please do it! And remember, all the donators‘ names will be shown on this page on my website, which is also linked in SM64 ROM Manager.
Thank you very much for reading this and all your support (also all users)! ❤️
Have a nice day! 😉