This might offend some people but even Linus Torvalds thinks that the ABI compatibility is not good enough in Linux distros, and this is one of the main reasons Linux is not popular on the desktop. https://www.youtube.com/watch?v=5PmHRSeA2c8&t=283s
Android makes a sport of breaking ABI compatibly and it hasn't stopped it from being the most popular mobile OS
Loss32: Let's Build a Win32/Linux
281–290 of 493 posts
Re: Loss32: Let's Build a Win32/Linux
#282Earlier quoted context omitted.
Kind of funny to realize, the NT kernel ABI isn’t even all that stable itself; it is just wrapped in a set of very stable userland exposures (Win32, UWP, etc.), and it’s those exposures that Windows executables are relying on. A theoretical Windows PE binary that was 100% statically linked (and so directly contained NT syscalls) wouldn’t be at-all portable between different Windows versions. Linux with glibc is the c…
IIRC, Windows containers require that the container be built with a base image that matches the host for it to work at all (like, the exact build of Windows has to match). Guessing that’s how they get a ‘stable ABI’. …actually, looks like it’s a bit looser these days. Version matrix incoming: https://learn.microsoft.com/en-us/virtualization/windowscont...
Re: Loss32: Let's Build a Win32/Linux
#283Re: Loss32: Let's Build a Win32/Linux
#284Earlier quoted context omitted.
Everything after Win 2000 was a bad idea. Enterprise or not.
Windows 2000 was the last version where Dave Cutler was fully in charge of Windows. Things started going downhill after that.
Things definitely went up-hill AFTER Windows 2000.
What on earth would cause someone to say Windows 2000 was a good release? It wasn't even a good release when it came out, and it definitely didn't stand the test of time.
Re: Loss32: Let's Build a Win32/Linux
#285Earlier quoted context omitted.
It's really just glibc
It's really just not. GTK is on its fourth major version. Wayland broke backwards compatibility with tons of apps.
Re: Loss32: Let's Build a Win32/Linux
#286Earlier quoted context omitted.
This sounds like a hardware / firmware problem specific to your particular sound chip / card. Similarly, Bluetooth on my Thinkpad T14 is slightly wonky, and it sometimes fails to register a Bluetooth mouse on wake-up (I have to switch the mouse off and back on). This mouse registers fine on my other Linux machines. The logs show a report from a kernel driver saying that the BT chip behaved weirdly. Binary-blob firmwa…
That’s possible, but the hardware (a rodecaster pro 2 connected over usb) works just fine in other Linux apps. I can record audio in audacity. And I can play back audio in resolve. I just can’t record audio in resolve. I think it’s a software issue in how resolve uses the Linux audio stack. But I have no idea how to get started debugging it. I’ve never had any problems with the same hardware in windows, or the same s…
FWIW I lost sound completely 3 times in the last 2 months on my works windows laptop and it would only come back after a reboot. I assumed it was a driver crash.
Re: Loss32: Let's Build a Win32/Linux
#287Unironically, yes. It's time that Microsoft taste their own medicine of embrace, extend, and extinguish.
Here me out: Microsoft switches to Linux kernel for Windows 13. (also Microsoft has been heavily embracing Linux and open source in the last decade)
Nowadays, with the Windows team barely able to produce a functional UI, what's happening with the NT kernel? Is it all graybeards back there? When they retire, the stability of Windows going to be in trouble, which is important for the things that really pull in the money. It'll get real bad, then they'll give up and move to an open source base, just like Edge.
Re: Loss32: Let's Build a Win32/Linux
#288Earlier quoted context omitted.
At least glibc uses versioned symbols. Hundreds of other widely-used open source libraries don't.
> Hundreds of other widely-used open source libraries don't. Correct me if I'm wrong but I don't think versioned symbols are a thing on Windows (i.e. they are non-portable). This is not a problem for glibc but it is very much a problem for a lot of open source libraries (which instead tend to just provide a stable C ABI if they care).
There’re quite a few mechanics they use for that. The oldest one, call a special API function on startup like InitCommonControlsEx, and another API functions will DLL resolve differently or behave differently. A similar tactic, require an SDK defined magic number as a parameter to some initialization functions, different magic numbers switching symbols from the same library; examples are WSAStartup and MFStartup.
Around Win2k they did side by side assemblies or WinSxS. Include a special XML manifest into embedded resource of your EXE, and you can request specific version of a dependent API DLL. The OS now keeps multiple versions internally.
Then there’re compatibility mechanics, both OS builtin and user controllable (right click on EXE or LNK, compatibility tab). The compatibility mode is yet another way to control versions of DLLs used by the application.
Pretty sure there’s more and I forgot something.
Re: Loss32: Let's Build a Win32/Linux
#289Earlier quoted context omitted.
To quote a friend; "Glibc is a waste of a perfectly good stable kernel ABI"
At least glibc uses versioned symbols. Hundreds of other widely-used open source libraries don't.
Re: Loss32: Let's Build a Win32/Linux
#290Earlier quoted context omitted.
So every Linux distribution should compile and distribute packages for every single piece of open source software in existence , both the very newest stuff that was only released last week, and also everything from 30+ years ago, no matter how obscure. Because almost certainly someone out there will want to use it. And they should be able to, because that is the entire point of free software: user freedom.
Your tone makes it sound like this is a bad thing. But from a user’s perspective, I do want a distro to package as much software as possible. And it has nothing to do with user freedom. It’s all about being entitled as a user to have the world’s software conveniently packaged.
I've had so much trouble with package managers that I'm not even sure they are a good idea to begin with.