What I'm curious about (and probably there are some good write ups about this somewhere) that how come modern Linux and modern Wine is better to run old Windows applications than modern Windows (7 to some extent but mostly 10&11). Did MS "intentionally" "left behind" certain APIs and system calls to sacrifice it for some greater good? Like I use Windows every day and have no problems at all. And I use Linux every day too for work. But by my experience if I come around an old Windows application (Vista, XP, 2000 or before) then I probably have a better chance to run it as it meant to be on Linux w/ Wine than on Windows 10/11
MS are profit motivated (by definition) and Wine is functionality motivated (again by definition).
MS are currently hell bent on getting you onto a cloud subscription for Windows as a service (WAAS) because that is their current business model. The Wine project is hell bent on delivering functionality that you want and they think you might want.
Wine is less about shuffling the start menu to the middle of the taskbar because ... err wankery that makes it harder to find and actually click or poke at and making copy/cut/paste into really odd little icons on right click menus (no idea what sort of poke gets the right click menu).
... Sorry, I'm not a fan of the W11 UI.
MS could not give a toss about you or your app (say an ancient db or a ancestor app). They need to generate profits and your old app ain't a profit centre.
Anyway, wine is able to do what you actually want your machine to do - keep an old treasured app alive and more.
I'm no Windows fan, but this is not an accurate portrayal (d'oh!).
Microsoft has historically put a huge amount of effort in (backwards) compatibility. Here's a famous example: https://arstechnica.com/gadgets/2022/10/windows-95-went-the-....
Related (sub) discussion on HN: https://news.ycombinator.com/item?id=13450160.
It's possible that they changed strategy recently, but there is a very long history of extraordinary (backwards) compatibility.
'Recently' meaning about the past 10 years or so. Windows 8 broke a lot of software for me that runs in Wine.
[[Citation Needed]]. Other than 16-bit software on 64-bit Windows, do you have an example?
A lot of games, Red Alert 2 off the top of my head. Never got it running even in compatibility mode and changing the bit depth.
According to Raymond Chen, this usually happens when software relies on undocumented APIs or undefined behavior. When Windows removes undocumented APIs or changes behavior not covered by the documentation, such apps break and people blame Microsoft. For example, I remember one app used to programmatically find some kind of "Print" menu in Windows' desktop environment and call it to implement printing functionality. When Microsoft changed the UI of the desktop (shuffled the menu items around) the app broke and people immediately blamed Microsoft, even though the app is to blame because the exact location of the menu item was never supposed to be a public contract. If an app is a widely used one, Microsoft usually used to create "shims" which detected funky behavior like that and corrected it to make the app work again. I think they don't do it anymore after Windows 8, that's why apps started breaking more frequently.
Most old games do not work because of old graphics apis. Wine emulates these apis on top of modern graphic apis. Windows users usually need to use wrappers, or wined3d from wine.
Yeah, 3D games using DirectX 8- are a shitshow on Windows Vista+...
Direct Draw games can be slow as hell unless you use a wined3d wrapper.
Interesting, maybe I'll be able to play Space Empires 5 again ?!
Any pointers towards how to use this wrapper ?
Thanks a lot, but d3d8 and d3d9 seemingly have no effect, while ddraw fails with "The procedure entry point DDKMTOpenAdapterFromLuid could not be located in the dynamic link library gdi32.dll.", then game's mandatory launcher does open, but then an access violation when trying to launch the game itself from it...