Jump to content

.NET Core/Linux Port?


Recommended Posts

I know that "When can I get Paint.net on Linux" has been asked and answered before, but the other forum posts are kinda old - one even references Mono which is sort of why I'm posting this - and I wanted to know if things had changed. .NET Core is open-source now, and available on Linux, so if paint.net is using .NET Core then all you should have to do is change an option in Visual Studio and hit "compile" for it to just work. If it's using winforms/wpf on .NET Framework there are guides published by Microsoft for migrating to .NET Core.

 

.NET Framework isn't deprecated or anything and it does offer a couple of things that .NET Core can't do, but if you're not using those features then there are actually some pretty significant performance gains to be made from switching. And then you get cross-platform compatibility for free.

Link to comment
Share on other sites

18 minutes ago, ocket8888 said:

if paint.net is using .NET Core then all you should have to do is change an option in Visual Studio and hit "compile" for it to just work.

 

If you were familiar enough with the codebase to make this claim, you'd know that Paint.NET hasn't been converted to .NET Core.

 

BTW, behind the scenes, some work has been done on the conversion to .NET Core and it is not as simple as you think. Paint.NET is a VERY complex application and there are many changes necessary... and it doesn't work yet because of limitations in the C++ compiler and the .NET Core library. 

 

18 minutes ago, ocket8888 said:

.NET Framework isn't deprecated or anything and it does offer a couple of things that .NET Core can't do, but if you're not using those features then there are actually some pretty significant performance gains to be made from switching. And then you get cross-platform compatibility for free.

 

Do you think the developer, Rick, is a .NET noob?  You don't write over a million lines of code in a language without learning something.  And, there are no performance gains. 

Link to comment
Share on other sites

Just because .NET Core is cross-platform doesn't mean the libraries and frameworks what Paint.NET uses are cross-platform.

 

WinForms, WPF, Direct2D, DirectWrite, WIC (literally Windows Imaging Component), etc. are not cross-platform. Paint.NET uses and relies on them*.

 

A .NET Core port of Paint.NET is coming, yes. However, not for Linux, and probably not ever. Talk to the WINE guys.

 

* WPF is used for the data-binding engine only, not for its UI or presentation stuff.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

4 hours ago, BoltBait said:

And, there are no performance gains. 

 

Actually there are -- there's been significant work put into making .NET Core a lot faster than .NET Framework. The JIT, the runtime, and the framework, have all seen a lot of love in this area.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

OK, well, I only wrote one application in it and didn't notice any performance improvements.  But, then, my application (for work) was just a desktop app that ask the user to fill out a form and stores the answers in the database... so, probably not the perfect app to measure performance improvements in the library.

 

:D 

Link to comment
Share on other sites

On 4/8/2020 at 4:57 PM, BoltBait said:

If you were familiar enough with the codebase to make this claim, you'd know that Paint.NET hasn't been converted to .NET Core.

... No? That's why I said "if"? .NET Core can compile for Linux. You don't need to know any specific codebase to know that.

 

On 4/8/2020 at 4:57 PM, BoltBait said:

it doesn't work yet because of limitations in the C++ compiler

That'll do it. I didn't realize parts were written in C++; getting runtime-less languages to be cross-platform is quite a bit more difficult than something like .NET.

 

On 4/8/2020 at 4:57 PM, BoltBait said:

Do you think the developer, Rick, is a .NET noob? 

No, but you must be, lol.

 

On 4/8/2020 at 5:57 PM, Rick Brewster said:

Just because .NET Core is cross-platform doesn't mean the libraries and frameworks what Paint.NET uses are cross-platform.

 

WinForms, WPF, Direct2D, DirectWrite, WIC (literally Windows Imaging Component), etc. are not cross-platform. Paint.NET uses and relies on them*.

 

A .NET Core port of Paint.NET is coming, yes. However, not for Linux, and probably not ever. Talk to the WINE guys.

 

* WPF is used for the data-binding engine only, not for its UI or presentation stuff.

WinForms and WPF have .NET Core implementations, from what I understand. Direct2D and DirectWrite are pretty impossible to get around, though. You'd need to change the whole graphics engine out for something based on Vulkan or OpenGL - which I'd bet almost anything won't be even close to a drop-in replacement.

 

And I don't really know anything about WIC.

 

Man, I hate having to use WINE myself. Steam's Proton is great, but managing a WINE environment myself is no fun at all. I always feel like it's not _quite_ right.

Link to comment
Share on other sites

Instead of asking Rick to make a build of Paint.NET to run on your OS, I will ask you to install Windows on your PC in order to run Paint.NET. 


Before deciding on an OS for your computer, maybe you should see if it will run your favorite programs... and REJECT any choice that won’t work for you. 

 

Link to comment
Share on other sites

  • 2 weeks later...
On 4/9/2020 at 7:34 PM, BoltBait said:

Instead of asking Rick to make a build of Paint.NET to run on your OS, I will ask you to install Windows on your PC in order to run Paint.NET. 


Before deciding on an OS for your computer, maybe you should see if it will run your favorite programs... and REJECT any choice that won’t work for you. 

 

?
My OS can run everything it needs to. Windows can't. I like Paint.NET, but I don't *need* it. I do need the tools which Linux provides me.
Maybe asking about support of a program I like on the OS I use isn't an attack on Windows users, or a personal attack on you?
Maybe being pretentious when people ask questions is a terrible way to foster a good community?
Just my thoughts on the matter.

  • Like 1
Link to comment
Share on other sites

Let's NOT rehash the "My OS is better than yours" argument. 

 

CLOSED

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...