WINE does fine for the top 10k or so most common apps. But whenever I've tried something in the long tail, I've been disappointed by cryptic error messages that don't turn up any useful answers in a search.
Meanwhile, Windows's compatibility mode settings for Win XP have worked fine every time I've tried.
The problem with Windows isn't a lack of backwards compatibility, the problem is that Windows 11 is Windows XP with lots of cruft added on top over the decades.
> The problem with Windows isn't backwards compatibility, the problem is that Windows 11 is Windows XP with lots of cruft added on top over the decades.
It is not only cruft but also:
1 - Security. Lots of stuff that doesn't work it is because of features that couldn't be made secure and had to be removed from windows.
2 - Developers that used undocumented behavior that ended up being removed in modern windows versions, a lot of times because of the first item. Being undocumented behavior, it is a lot more probable that WINE doesn't implement it. And sometimes this was not a fault of the developer, but from a particular development environment and framework he used.
Windows XP was arguably Windows 2000 with a Fisher-Price UI bolted on, which in turn was "just" Windows NT with the Win98SE shell bolted on, so there's that, too.
(My MS kernel developer friends might disagree with this assessment, though)
Windows XP incorporated some QOL features we take (probably?) for granted today from Windows ME into the Windows NT line, like System Restore and Automatic Windows Update.
XP introduced VEH, a more "Unix-like" method of handling exceptions. I recall this was one of the reasons the Golang devs dropped support for 2000 at 1.3x.