Live data from Hacker News

Windows 11 will happily execute a binary compiled 30 years ago

twitter.com

381–390 of 424 posts

Re: Windows 11 will happily execute a binary compiled 30 years ago

#381
post #348

Earlier quoted context omitted.

This is actually what most gpu driver updates are. Instead of devs fixing their games, nvidia calcilated its in their best interest to just fix the game bugs at the gpu driver level and push updates.

> fix the game bugs at the gpu driver level and push updates it's because the nvidia drivers are opaque blobs, rather than a source distribution. If nvidia distributed their drivers as open source, i would imagine developers would likely "fix" their games properly because they'd be able to see what is going on underneath the hood, and write more optimal code. of course, this removes some "competitive advantage" nvidi…

source code distribution has literally nothing to do with it.

all of what you say could apply to AMD or Intel but doesn't loo

Re: Windows 11 will happily execute a binary compiled 30 years ago

#382
post #167

Earlier quoted context omitted.

Linux will just compile 30 yo binaries.

30 yo source code?

Better bring a 30y old compiler too. The amount of UB that was assumed to work in code from that era will turn into bugs due to more liberal optimizations or fail with compiler warnings thanks to stricter checking.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#383
post #360

Earlier quoted context omitted.

Major problem with android, stuck with whatever version of android due to binary blob drivers.

The major problem is Google not enforcing updates via their contracts. Project Treble has made Android a pseudo microkernel with stable ABI for drivers. However Google has decided it is still up to OEMs to decide if driver are to be shipped or not. With no legal enforcement for accessing Google services, OEMs rather sell updated hardware.

The obvious problem seems to be propriety device drivers, no? If they didn't shoot themselves in the foot with their licensing, the drivers would work with any kernel version.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#384

See also https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost... one of the developers of the hit game SimCity, who told me that there was a critical bug in his application: it used memory right after freeing it, a major no-no that happened to work OK on DOS but would not work under Windows where memory that is freed is likely to be snatched up by another running application right away. The testers on the Win…

Counter-example: Soldier of Fortune is broken on modern windows because of a misapplied compatibility hack. Rename the binary and it works with no problems. This is an awful way to implement backwards compatibility. Opaque and ad-hoc. They have been using similar toolset to break competitors applications. The choice of what old version of windows to run the program on is typically to try them one by one. Linux is no…

Apple dumped 32 bit support which sealed MacOS fate as a gaming platform.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#385

Earlier quoted context omitted.

> Linux is no better with no stable ABI. I’m confused. Linus has repeatedly stated that the ABI should be stable, “we don't break user space”. There are exceptions, but any proposal that makes a breaking change to the kernel’s external symbols is very hard to push through. I don’t remember anything breaking because of a new kernel version except device drivers, which are part of the kernel anyway and should be compil…

Drivers being kernel specific is really annoying

All they have to do is upstream their drivers into the kernel instead of shipping proprietary blobs. Why is this so hard?

Re: Windows 11 will happily execute a binary compiled 30 years ago

#386
post #332
post #303

Earlier quoted context omitted.

Is this done by intercepting the API calls made to the GPU, or by directly modifying the game binary instructions?

Modifying binaries (on disk or in RAM) would be detected by anti cheat mechanisms. Most likely they change how to interpret a certain sequence of API calls or replace shaders with their optimized versions.

Yeah, i guess i shouldn't have said "bug" in the traditional sense. More like "lets rewrite the gpu calls for this game instead of getting 53 avg fps, they now get 60 avg fps) since we (being nvidia) knows it better.

Most likely when a game is released, the team that build it disbands to work ons omething else and wont have time for performance hacks like this.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#387
post #99

Earlier quoted context omitted.

And unlike Linux, has a stable ABI.

Linux has a stable userland ABI OpenBSD doesn't even have that: if you don't reboot quickly after installing a major upgrade you're going to have a bad time whereas you can run ancient userland on more modern Linux kernels (as evidenced by the container ecosystem)

> OpenBSD doesn't even have that: if you don't reboot quickly after installing a major upgrade you're going to have a bad time

that's interesting, can you share bit more details/links?

Re: Windows 11 will happily execute a binary compiled 30 years ago

#388
post #337

Earlier quoted context omitted.

See the infamous story about Quack 3 on ATI Radeon cards.

Here's the link, for those interested: https://techreport.com/review/how-atis-drivers-optimize-quak... Personally, I don't believe this is a good example; as this was ATI purposefully crippling the experience (downscaling textures, being the prime aspect) to cheat benchmarks. OP is more referring to "transparent" optimizations (the same experience, but made to run faster for the GPUs architecture, usually via operati…

Ah, yes, that's true, it's usually not done maliciously like the ATI example. It came to mind because it was a well-documented case of the driver being aware of the application and changing behavior.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#389
post #244

Earlier quoted context omitted.

Microsoft keeps maintaining all those libraries, and keeps them in the OS by default. That may not be the case with Linux.

This is exactly it. If you call native windows things, they’re there (ignoring deprivation of win16, etc). But if you call gnome libraries, they’re probably long gone.

I've found a lot of package archives for various distros.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#390
post #220

Earlier quoted context omitted.

That's common in the mainframe world. Unisys (ex Univac) still has its Dorado mainframes binary compatible with the Univac 1100 released in 1962.

I thought the Unisys mainframes have been running emulated on X86/X86-64 for a while? I assume they have some sort of binary translator.

Yes, you got it right. The Dorados now run a binary emulator on top of a microcomputer (x86_64) architecture, while IBM Z (itself essentially a 64-bit S390 arch) kept a mainframe configuration.
Post reply on HN