|
|
Subscribe / Log in / New account

Fedora opens up to bundling

Fedora opens up to bundling

Posted Oct 14, 2015 18:40 UTC (Wed) by dlang (guest, #313)
In reply to: Fedora opens up to bundling by Cyberax
Parent article: Fedora opens up to bundling

> Yet a Windows 7 application will most probably work on Windows 10. I can't say that about an app from RHEL4 on RHEL7.

and as always, other people have no problem doing exactly this. It all depends on the app and what libraries it uses.

There are windows apps that worked on 7 and don't work on 10, windows isn't perfectly backwards compatible either (and the difference between RHEL4 and RHEL7 isn't Windows7 vs Windows10, it's more like XP/Vista -> Windows10


to post comments

Fedora opens up to bundling

Posted Oct 14, 2015 18:57 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link] (18 responses)

> and as always, other people have no problem doing exactly this. It all depends on the app and what libraries it uses.
You _can_ do it, if you bundle pretty much all libraries. Even basic libraries like zlib had ABI-breaking changes in that period.

> There are windows apps that worked on 7 and don't work on 10, windows isn't perfectly backwards compatible either (and the difference between RHEL4 and RHEL7 isn't Windows7 vs Windows10, it's more like XP/Vista -> Windows10
All of my 32-bit XP apps still work on Win10 64-bit. Microsoft does an amazing job to make sure that old apps are not broken with each OS release. Their quality slipped a bit recently, though.

Fedora opens up to bundling

Posted Oct 14, 2015 20:42 UTC (Wed) by dlang (guest, #313) [Link]

and just like every other time you say this, I and others will counter that our experience is not the same. Either we can get the old libraries, or we are talking about tools that don't use the badly behaved libraries (mostly GUI/desktop related)

Fedora opens up to bundling

Posted Oct 15, 2015 10:09 UTC (Thu) by hkario (subscriber, #94864) [Link] (2 responses)

and yet the number of games that won't work on Windows 7 (let alone Windows 10) that did work just fine on XP is countless

sure, as simple app that uses two dozen syscalls in total will continue to work between windows releases but it is also true of Linux applications

Fedora opens up to bundling

Posted Oct 17, 2015 2:40 UTC (Sat) by zlynx (guest, #2285) [Link] (1 responses)

It's countless for me because I have never seen an XP game that didn't run on Windows 7.

Heck, Master of Orion 2, one of my favorite Windows 95 games still runs on Windows 10 64 bit.

Quake 3? Still runs. Half Life and Half Life 2? Yep. Unreal Tournament 2003? Why yes.

If you were having problems you might have forgotten to reinstall DirectX 9c (I think c?) The preinstalled DX9l compatibility library didn't quite do everything.

Fedora opens up to bundling

Posted Oct 17, 2015 17:29 UTC (Sat) by mathstuf (subscriber, #69389) [Link]

I have some Windows 95-era games that don't run anymore :/ . Even had one which ran on 95, but failed on 98 (the CPU was too fast or something and the game clock wasn't rate limited).

Fedora opens up to bundling

Posted Oct 17, 2015 1:31 UTC (Sat) by HenrikH (subscriber, #31152) [Link] (4 responses)

Well even on Windows there are 3rd party libraries that can break compatibility even if the WIN32 libraries tend to be quite sane (in regards to backwards compatibility). One anecdote that comes to mind is that some software from Business Object installed a version of OpenSSL (libeay32.dll) into the shared directory (system32) that was internally built by them and given a version of 11.5.9.1101 which meant that any other software that tried to install a in reality newer version, say 0.9.7, failed since it was deemed as older by the system.

Fedora opens up to bundling

Posted Oct 17, 2015 11:19 UTC (Sat) by ms_43 (subscriber, #99293) [Link] (3 responses)

Wow, I'd call installing crap like libeay32.dll in a global system directory an act of sabotage by whatever application did that.

OpenSSL is not ABI compatible between even micro versions, but they all build a "libeay32.dll" and a "ssleay32.dll".

In the Win32 library search order, the system32 directory *precedes* %PATH%, so this is going to *break* unrelated applications that bundle their own libeay32.dll, if it's located in a different directory than the executable.

Fedora opens up to bundling

Posted Oct 18, 2015 2:42 UTC (Sun) by Cyberax (✭ supporter ✭, #52523) [Link] (2 responses)

Microsoft got tired of this eventually, so now System32 is heavily virtualized. Each legacy application gets its own view of it, with 64-bit and 32-bit applications getting different views.

Fedora opens up to bundling

Posted Oct 20, 2015 22:21 UTC (Tue) by javispedro (guest, #83660) [Link] (1 responses)

Not each legacy application, just every user sees a different copy of it. I.e. it's like a unionfs where writes (which would otherwise be blocked by perms) go to the per-user overlay. (In addition to the 32/64 duality)

In Windows it would be completely impossible to do any sensible "per-application" thing. How do you even determine which executables are part of each application?

Fedora opens up to bundling

Posted Oct 20, 2015 23:24 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]

I'm afraid it's per _application_. Newer applications use manifests (either embedded or standalone) which redirect DLLs to side-by-side directories. Microsoft also does some magic tricks - it uses a bunch of heuristics to detect that a legacy installer is running and redirects its libraries away from System32.

Yeah, it's extra-ugly but works.

Fedora opens up to bundling

Posted Oct 22, 2015 10:02 UTC (Thu) by Wol (subscriber, #4433) [Link] (8 responses)

> > There are windows apps that worked on 7 and don't work on 10, windows isn't perfectly backwards compatible either (and the difference between RHEL4 and RHEL7 isn't Windows7 vs Windows10, it's more like XP/Vista -> Windows10

> All of my 32-bit XP apps still work on Win10 64-bit. Microsoft does an amazing job to make sure that old apps are not broken with each OS release. Their quality slipped a bit recently, though.

Many older apps may have been 32-bit, but their installers were 16-bit. So it's no f***ing use that they work, if you can't install the things!!!

Cheers,
Wol

Fedora opens up to bundling

Posted Oct 22, 2015 14:35 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link] (7 responses)

Windows autodetects some of the typical 16-bit installers (like InstallShield and others) and transparently emulates them.

But it's hard to blame MS about this one - there's no 16-bit support in 64-bit mode. They could have used a CPU emulator, but at this point it just makes sense to drop 20-year-old compatibility.

Fedora opens up to bundling

Posted Oct 22, 2015 17:58 UTC (Thu) by Wol (subscriber, #4433) [Link]

Notably, installers that DON'T work, appear to be MS's own :-)

Cheers,
Wol

Fedora opens up to bundling

Posted Oct 26, 2015 20:53 UTC (Mon) by javispedro (guest, #83660) [Link] (5 responses)

> But it's hard to blame MS about this one - there's no 16-bit support in 64-bit mode.

Nitpick: actually that's wrong. 64-bit processors certainly support 16-bit mode, otherwise they wouldn't be proper supersets of 32-bit processors. MS not supporting 16-bit is just a cost-benefit trade-off. In fact, for similar reasons Linux does not support vm86 on amd64, but there's a patch floating around for it, and it works quite well.

Fedora opens up to bundling

Posted Oct 26, 2015 21:00 UTC (Mon) by mjg59 (subscriber, #23239) [Link] (4 responses)

> actually that's wrong

No it's not. 64-bit mode has no support for vm86 mode, and so you can't run 16-bit code. You can certainly switch back to 32-bit mode and use vm86, which is presumably what the patch you're talking about does - but that's a pretty awful hack.

Fedora opens up to bundling

Posted Oct 27, 2015 2:27 UTC (Tue) by deater (subscriber, #11746) [Link] (2 responses)

You can certainly run 16-bit x86 *code* in 64-bit mode although the stealing of opcodes for REX prefixes as well as various Linux security features certainly make it difficult. See https://github.com/deater/ll_asm/blob/master/linux16/16.s for one example.

Whether you can run unmodified code written for x86 real mode operating systems is a different story.

I know this is a bit of a nitpick, but there's a lot of confusion out there about this.

Fedora opens up to bundling

Posted Oct 27, 2015 2:33 UTC (Tue) by mjg59 (subscriber, #23239) [Link]

That… is horrifying.

Fedora opens up to bundling

Posted Oct 27, 2015 3:08 UTC (Tue) by mathstuf (subscriber, #69389) [Link]

Oh man, I can't wait for there to be one for Mill :D .

Fedora opens up to bundling

Posted Oct 27, 2015 6:41 UTC (Tue) by javispedro (guest, #83660) [Link]

> You can certainly switch back to 32-bit mode and use vm86

So why you keep saying you can't if it turns out you can? It was even documented on the original AMD64 manual albeit they did certainly mention it was tricky.

I've been always curious about this, since I've been doing exactly that for at least a decade, it's a ~4k patch in 3.x, performance is still better than qemu or vt-x, and I guess no one wants to talk about the security/races of vm86 in general.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds