This bothers me a lot and also applies, to some extent, to MS office software. If you go deep enough you end up in the same old clunky UI that actually did the job.
Windows has a lot of legacy components, because there’s this Fortune 500 corporation which still depends on it in 2023. Say what you want about Windows, but its backwards compatibility is unmatched. Windows also had 32-bit x86 CPU support until Windows 10, meaning that it could still run some 16-bit Windows 3.0 apps.
Windows is also a clusterfuck of spaghetti code that only the most masochistic person would want to tackle. There’s so much legacy stuff in there it’s ridiculous. For example you can’t name a file com because of the DOS days when a COM file allowed you to access the Serial ports.
The entire dev team has Macs. Most have Intels. Many are on M1. Some are on M2.
Security/IT teams feel the pain, dealing with all sorts of weird things. And their solution lately is saying “fuck it” and giving the dev a M2. Which is a bandaid as what if M3 and onwards continues to break something?
Fortunately, my team builds software and runs everything through docker.
It’s not like this came out of the blue. The PowerPC to Intel transition was recent enough that it’s still fully documented on the web with forum posts by frustrated users. It’s Apple. Their attitude has always been that users have to deal with it.
And yet they have a reputation for being easy to use.
That’s Apple brainwashing. Anyone who ever tried to offer remote support via TeamViewer probably knows how Mac users then fail to grant screen recording and input permissions to TeamViewer. Before they do that on their own, they can get any remote support.
Are they doing full blown ARM processor’s now? I thought they still had enough devices less than three years old that still used Intel because of the COVID manufacturing delays.
Plenty of old apps still run fine. I’ve got VB6 apps I wrote in the mid 2000s that still run. A previous employer has DLLs from 1999 still running in production on Windows Server - VB6 COM components with hundreds of thousands of lines of code in total. I’m reasonably sure than Office 2000 still works, too.
You do sometimes have to change the compatibility settings and run the apps as administrator (since they were designed for Windows 9x which didn’t have separate admin permissions) but often they work.
Even some 16-bit apps work fine as long as you use a 32-bit version of Windows (Windows 10 or older; 11 dropped the 32-bit build). The 64-bit versions of Windows don’t have the NTVDM component that’s required to run 16-bit Windows and DOS apps. It’s an optional component on 32-bit Windows and you need to manually install it.
A lot of effort is put in to backwards compatibility in Windows - Raymond Chen has blogs and books about it.
it often was hit or miss with games though. I remember some games from 95/98 to run on 2000, then not on XP, somehow on Vista and 7, but not on 10. And other games ran on XP, but not Vista and 7…
The disc copy of Fallout 3 will not install on new windows due to games for windows no longer working. At least last time I tried to install it that was the case.
It’s usually the apps themselves doing weird things - Using undocumented APIs, expecting the system to be set up in a particular way, relying on bugs in the OS, etc. Windows tries, and actually emulates old bugs for popular apps so they continue to work, but it can’t be bug-compatible forever.
Apps/games that work on XP should mostly work on newer versions as long as you set them to run with Windows XP compatibility (in the settings of the EXE), but there’s definitely edge cases.
Drivers are definitely out. Some games are really iffy. Especially from the Win 9x era, where they’d do stupid things like look for a 9 in the version string of Windows, or get the amount of RAM as a 32 bit signed int, so refuses to install if you have 4GB RAM or more.
We had a lot of dodgy old DOS programs that were fine under Win98, but XP broke them.
Uhm. Doom was originally released in 1993. 30 years ago. Dragon age Origins was released in 2009. 14 years ago.
So…
Not quite. got a couple years before that’s true.
FWIW, the first game I beat was the OG legend of zelda. I was 7, it was my dad’s game and i wasn’t supposed to be playing it for some reason. I got caught when my dad was strugling on the puzzles in the water temple and I gave some helpful advice… (“We won’t tell mom about this. now where did you say I go?”)
the first PC game I got heavily into was Age of Empires, though, a lot of my friends played starcraft, and insisted it was better than AoE; so I played one game with them. (They were all so very patronizing… so I let them be patronizing and then turned my ally to hostile and carpet-nuked the entire map.) (yeah. I went back to AoE after that, lol.)
incidentally, I noticed that the doom comics were issued in '96 when I was double checking my facts. It’s maybe annoying that I’m old enough to remember sneaking a copy of it
I have seen multiple streamers have problems with it on Windows, but for me it works completely fine on Linux with PROTON_FORCE_LARGE_ADDRESS_AWARE=1 (even mods work).
There is a large address aware (LAA) patch for windows too that fixed it for one streamer, but you have to download a patched executable.
Apt is a good call. It predates yum, which itself predates yumv2-oops-dnf, and that beautiful porting gift from the Brazilian folks is still working hard at RPM management faster and more consistently than yum v1/v2 ever will.
Try PCLinuxOS (conectiva’s great-grandchild) - its template creation is horrible as they’ve forgotten how to anaconda, but otherwise it’s amazing.
Yes this makes sense. Linux running a 25yr old binary would throw errors for shared libraries, or kernel compatibility or just the fact it’s the wrong arch type.
Did that as a work project on Unix. My peer had a similar porting project.
I thought I was screwed: 20-year-old c-based backup tool. His was easy: this perl web app is installing on a new box because its old one is being lifecycled.
Actual: after 3 weeks of dependency hell he tossed it all and rewrote the thing in c from scratch overnight. My c project was make;make-install with no errors.
I think it’s been recompiled a few times since then, without any code changes.
In my experience, on Windows a lot of old stuff runs as long as you have whatever registry setting enabled that lets you run non 64 bit programs. This isn’t available on every windows pc but if you’re running it on your home pc, you can probably get it. A lot of old games don’t work but old things that don’t use graphics almost always run.
In wine, it’s basically the same story. A lot of old stuff runs especially non graphical old stuff. Some old windows games don’t work on wine but just because something old doesn’t work on Windows doesn’t necessarily mean it won’t work on wine and vice versa.
I would rate wine as slightly more compatible with late 90s and early 2000s games than Windows is but ymmv. Graphics stuff tends to work a little more often on wine. Some mid 2000s games use obscure hacks that are impossible to ever get running on wine.
registry setting enabled that lets you run non 64 bit programs
Do they seriously not support 32bit software out of the box anymore? I know getting 16bit software to run on x64 is close to impossible (look up NTVDM x64) for obvious reasons but there is still lots of x86-only stuff.
That’s what I thought because that was my experience last time I used Windows; that’s why it surprised me that the previous comment suggested otherwise.
Yea, there’s a lot of (well deserved) shitting on Windows, but it’s backwards compatibility is second to none. Not even Linux can give you a >70% chance that a piece of software or game you need/want from 1995 will still run (provided it’s not 16bit only or needs a proprietary driver lmao) on a modern version of the OS
Months ago I wanted to run a lot of my old childhood games (mostly between 94 and 2001 release dates) for my own kids and I found most of them still installed and ran right out of the box on fully updated Win10, a lot of the rest required some fiddling with compatibility settings and the rest just didn’t work because they were 16 bit only (You can still get them working natively if you install 32 bit Win10, but subjecting children to <4gb RAM is abuse) or some other weird issue so I fell back to ScummVM/DosBox for those
The comment you replied to says the opposite. It’s a half-truth, but Linux+WINE does some backwards compatibility better than Windows.
First, Wine doesn’t have an arbitrary limitation against running 16-bit executables AFAIK
Second, there is anecdotal evidence of some older games breaking to graphics driver updates on Windows, but running fine (or even faster!) on Linux thanks to a much more straightforward graphical stack (and the fact that DXVK is dark magic). Even something as simple as fullscreen mode support on old games can be a buggy and flickery pain in the ass, whereas on Linux the same binary will work flawlessly with any decent compositor.
The limitation isn’t really arbitrary once you put a processor in in long mode (64 bit) it can’t do Virtual 8086 Mode any more. One of those things AMD did when designing 64-bit mode to clean up that particular can of hysterical raisins.
…also, even back in the days processors were fast enough to run that old stuff under DOSEMU. Which you probably want to do anyway as you don’t have a Roland MT-32.
Oh, EDIT: I had once fullscreen issues under wine, and that was Witcher 3, not the current upgrade the older one: Alt-tabbing away worked perfectly, but the game didn’t properly recognise that it had lost and re-gained focus, refusing to go out of pause. Switching fullscreen mode in-game (fullscreen to borderless or the other way around) fixed that.
Wayland is way better with fullscreen than x11, btw, especially considering that there’s still the occasional SDL1 game around, those will right-out switch your video mode and disable alt+tab.
I concur on Wayland being particularly great. The only downside is forced V-sync, I don’t know if there is a (proposed) protocol extension to do direct framebuffer writes in fullscreen.
I’m pretty sure every compositor worth its salt (that is, kde or wlroots-based) reparents on fullscreen. KDE also does variable refresh rate and at that point I’m happy – I’m not playing competitive shooters any more and VRR is such an upgrade I’m not even noticing frame rates dropping. Back in the days not hitting 60 was terrible, sometimes I had to settle for 30 (though before LCDs you could do rates in between), now I can go “ah, around 40-50 but I like the bling let’s keep it at that”. Dropped frames are simply magnitudes worse than delayed frames.
A lot of those old games have been repackaged for Windows as well on GoG or Steam, not all but a decent amount. Jazz Jackrabbit series I still play occasionally, there’s a claymation point-and-click called The Neverhood (by the Earth Worm Jim guy) that works out of the box, and my personal favorite Battlezone 98 Redux which is a repackage of the game you can get on Steam, best multiplayer first person rts ever.
I like to think of it like a defense mechanism. By ensuring old abandoned software won’t work, you don’t have to worry about it having a major security vulnerability. Any old software that still works probably isn’t abandoned.
No offense, but that sounds a lot like apple and Microsoft arguing against freedom of the user.
“Installing an app from outside the app store could introduce a security vulnerability”
“We must have edge installed at all times to provide a good user experience. Replacing such a central part of the operating system could weaken the security of the device”
I see your point, but unfortunately, there’s lots of proprietary old software that has been abandoned by the original company (Either because they went out of business or just moved on) that’s still in active use and the source never released.
There was just an article on Lemmy a few weeks ago on how multi-million dollar research facilities still have to use ancient software to run critical scientific machines. Although in that particular case they had to maintain old PCs as well because of proprietary drivers
10 years ago is giving Apple too much credit. They were using Intel processors then, ARM now. For now, you can still run Intel applications, but that won’t last much longer.
More importantly, a 10 year old application is likely to use Carbon instead of Cocoa. Unless it’s an extremely simple application (i.e. hello world), it is unlikely to run.
Then there’s the depreciation of resource forks, a new filesystem, tons and tons of extra security restrictions, etc.
Carbon wasn’t that prevalent 10 years ago. 15, maybe. 20, definitely.
10 years ago, Carbon was already officially deprecated, and it had clearly been a second-class citizen for years before that. Most apps were already using Cocoa at that point.
They could’ve easily continue going the Catalina way (you can allow 32-bit programs to run after a warning if upgraded from an older OS), but they didn’t. I don’t understand why they forced 64-bit on Big Sur, it breaks so many old, non-updated apps and they know that.
Installing 25 year old binaries on Linux is rather interesting - relevant for stuff like some of the old Loki ports. Problem is mostly that they’ve been written with kernel 2.2 in mind, which does have different behaviour for quite a few things - you generally can find old libc versions compatible with the binary, but those libc versions don’t necessarily play nice with the kernel.
There are some compatibility flags which made things work last time I checked - but not sure if that’s the case, and it definitely won’t work forever, given that 32bit x86 support is likely to be dropped eventually.
It's funny, the only Linux software I've ever used that was only shipped as binaries was Loki games. Also, the only software that broke after binary compatibility went south. There used to be a giant tarball of old libraries and jiggerypokery that enabled the Loki games to sorta kinda work.
I was kind of sad to see that Sid Meier's Alpha Centauri didn't run too well, but then I tried to play the GOG version on x64 Windows 11 and there are occasional weird issues. So, eh.
There’s a lot of enterprise stuff that only ships as binaries. I had some fun in the late 00s trying to find the most recent distribution still shipping packages for egcs as that was the only compiler supported by the Lotus Domino SDK.
(For the younger ones here: There was some disagreement about gcc development, which resulted in the egcs fork. It got merged back into mainline gcc by he late 90s already, though)
At the time when the Loki ports happened it was a great thing - before that you pretty much had doom and quake available. Nowadays things are better with steam, but it’s quite likely that we’ll see some stuff break there in a few years as well, at least for older games.
Sounds like a security nightmare but it could work in certain cases (like just yesterday I was sharing a google drive link, I probably don’t want that to be archived)
I always thought one day stack overflow would join April fool’s and display variations of “never mind, found it” on every question instead of the users’ response, but it never happened and now that the site is no longer generally relevant if wouldn’t be as fun anymore.
Add comment