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.

  • BananaTrifleViolin@piefed.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 days ago

    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?

    • rtxn@lemmy.worldM
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      10 days ago

      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.

      • Jesus_666@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        10 days ago

        One nitpick: MAUI isn’t cross-platform in the sense that it runs on Linux. Okay, it does on Android, but not desktop Linux.

        They’d have to go with something third-party like Avalonia.

        • rtxn@lemmy.worldM
          link
          fedilink
          arrow-up
          0
          ·
          9 days ago

          I have no experience with MAUI, I only heard that it was cross-platform.

          Then what other toolkit has stable .NET bindings on both Linux and Windows? This might become relevant to me professionally in the near future.

          • Jesus_666@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            9 days ago

            Microsoft’s definition of “cross-platform” generally means “Windows and mobile devices, maybe Macs”; MAUI supports Windows, macOS, iOS, Android, and Tizen, but not desktop Linux.

            Generally speaking, if you want a .Net UI that works on all desktop operating systems you’ll want a third-party framework like Avalonia or Uno. Yes, that’s extremely annoying but .Net is generally well-designed otherwise and they have to put that signature Microsoft touch somehwere.

            • dfyx@piefed.social
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              9 hours ago

              Avalonia offers an unoffical Linux backend for MAUI and there are some other less-maintained backends. I have tried neither of them (I really should) but they might work.

              The nice thing about WPF, MAUI, Avalonia and Uno is that they are all extremely similar in concept to the point where you can sometimes just take an existing UI, change some namespaces and class names and get mostly what you want. (WinForms on the other hand is very different from all of them)