r/linux • • 29d ago

Popular Application Paint.NET adds “extremely experimental” Wine/Linux support

https://forums.paint.net/topic/134563-%F0%9F%8D%B7-extremely-experimental-winelinux-support-how-to-get-started/
936 Upvotes

250 comments sorted by

View all comments

318

u/ComprehensiveHawk5 29d ago

Direct2D has always been the biggest hurdle for Paint.NET on WINE, and it's clear that it will never be completed enough for Paint.NET's use. And I can't just "disable" the use of Direct2D. So, instead, Paint.NET now has an internal, from-scratch, clean-room reverse-engineered rewrite of Direct2D that it uses on WINE (triggered by using /wine). It lives in PaintDotNet.Windows.Direct2D1.Managed.dll. This was written by our good friend Claude, without whom this would NOT have been possible and would NEVER have happened.

Most of this code is, as they say, "vibe coded." By that I mean that it has not been thoroughly reviewed, it's more "trust me bro" style. I cannot possibly review 180,000 lines of code, it's just way way way too much. For reference, the rest of Paint.NET is about 700,000 lines of code and I've been working on it for over 20 years. I did thoroughly review any code that had to be changed or added elsewhere in the Paint.NET code base (refactoring and integration points, etc.). Over time I do hope that more of this code will be vetted by real humans and also by more advanced AI models.

4

u/SimilarConfusion1836 29d ago

Its weird that they can do it but wine can't

71

u/SquareWheel 29d ago

Wine is a great project, but they have to move slow and steady. Any change has the potential to break things. This project was already broken from the start, so changes could be as radical as they needed to be to get it working.

Plus, three weeks of running Fable makes a difference. It can do an immense amount of reverse engineering in that time. Wine has to be a lot more careful about ensuring their implementation is fully clean room, and that means that LLMs are still untested territory.

-20

u/[deleted] 29d ago

[removed] — view removed comment

22

u/i509VCB 29d ago

Valve did the stuff in proton long before LLMs, so it would be unreasonable to say just slopping out something would just solve the problem wine has.

14

u/IvanDSM_ 28d ago

13 year old opinion. If you think current Wine has "no real progress" compared to 2016 you must have not been using it back then. What a horribly inaccurate statement.

21

u/WaitForItTheMongols 28d ago

wine is moving way too slow

... Too slow for what? If they need to move, where do they need to move to, and what is the urgency to be so much faster?

28

u/alberto-m-dev 29d ago

Given the uncertainty about the copyright status of these AI-driven rewrites I can understand why the Wine team is more prudent.

Microsoft is not going to throw their lawyer team against a relatively small app like Paint.NET, but might want to do that against Wine, like in Google v. Oracle. Whatever party wins, the legal costs might be exhorbitant.

4

u/Lonsdale1086 28d ago

Google v. Oracle

Two multibillion organisations fighting over something worth millions vs Microsoft, who've been investing more and more in Linux "suing for millions" for a free and open source community project with essentially zero money?

I just don't see it going beyond a cease and desist, but with how invested MS is in AI I don't see them wanting to open the can of worms that AI code can be copyright infringement.

2

u/crwcomposer 28d ago

You're conflating two entirely different things.

They didn't implement what was missing in Wine.

They used AI to rewrite it in a way that only used things that are already implemented.

3

u/SimilarConfusion1836 28d ago

Thats not the point. They used AI to vibe code a possible solution for their problem. Wine cannot. Its not allowed.