Holy shit, it's happening, guys. Paint.net is getting official wine support. You know the windows situation is getting bad when even the developer of an app exclusively aimed at Windows is now shifting support to wine...

They're contributing to the wine project and everything πŸ₯² https://bugs.winehq.org/show_bug.cgi?id=60276

I came on here a few months ago ranting about direct 2D stub functions. Two days ago the dev stopped calling those exact direct 2D functions https://github.com/paintdotnet/Paint.NET-on-Wine/releases/tag/v5.200.9785.36400

What a time to be alive. Truly a great time to be a Paint.net enjoyer.

you are viewing a single comment's thread
view the rest of the comments
[–] 15 points 14 hours ago (15 children)

It's interesting that it's seemingly easier to make the windows version of Paint.NET work on Wine, than bother compiling it for .NET on Linux? I wonder if the dev regrets starting with .NET in the first place?

  • source
  • hideshow 15 child comments
  • [–] 21 points 13 hours ago* (last edited 13 hours ago) (8 children)

    compiling it for .NET on Linux

    It always sounds so simple for the layperson. Just looking through the list of DLLs in the portable ZIP, PDN uses Windows Forms (System.Windows.Forms namespace), which, as far as I understand, isn't included in the cross-platform releases of .NET. They'd have to rebuild the entire UI with .NET MAUI or some other cross-platform toolkit. Then there are lots of other bundled libraries that may or may not work in a .NET-on-Linux environment.

    Releasing and then supporting a second platform is never as easy as just compiling the executable. Figuring out the quirks and differences of various systems, especially one as heterogenous as the Linux ecosystem, is a drain on resources that small development studios often can't afford. Raiguard (hallowed be his name), one of the developers of Factorio, and the person who is single-handedly maintaining the Linux-native build, wrote a blog post about its challenges.

  • source
  • parent
  • hideshow 8 child comments
  • [–] 4 points 13 hours ago (3 children)

    @rtxn @BananaTrifleViolin Nothing prevents you from using Window Forms implementation form mono

  • source
  • parent
  • hideshow 3 child comments
  • [–] 7 points 13 hours ago* (2 children)

    Except Mono implements the Windows-only .NET Framework, but PDN targets .NET 9. I have no idea how those two could be used at the same time for different parts of the app, what kinds of issues may arise from it, or if it can be done at all. Again, it sounds simple, but it never is.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 13 hours ago (1 child)
  • [–] 5 points 12 hours ago

    Adding dependencies, adding complexity, adding points of failure... not to mention that the first sentence in the readme literally says it's an experimental project. Not something that a production software should ever be built upon.

  • source
  • parent
  • [–] 0 points 14 hours ago (4 children)

    It makes no sense, .NET is fully supported on Linux and has been for years. There is an official SDK and it's capable of creating full standalone executables, or smaller ones requiring the runtime libraries to be installed on the target system. As far as I know good packages exist for just about any distro. .NET is fully open source and not just worked on by Microsoft, but a large community.

    Creating a Linux executable from any .NET code is as simple as running a single command, it supports cross platform compilation as well. With support for a range of architectures and OSes.

    The only caveat is all the code needs to be properly managed code, any unmanaged code is most likely not cross platform compatible and is thus not recommended. It can even break as drivers or the OS is updated for example, so it's a bad idea to have unmanaged code and usually not needed.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 8 points 14 hours ago (3 children)

    Only ".NET core" is cross Plattform. ".NET framework" is Windows only. If they startend developing in framework they cant simply compile to linux.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 6 hours ago

    .NET framework has been discontinued for years now with .NET platform being the official successor. It's no longer called .NET core. If one started with framework, moving over to platform is very easy as it's the exact same language. If thet were on framework still, it would mean they haven't updated in years, which would be weird and not recommended.

  • source
  • parent