5 ms·
I still think Windows app compat for Linux (i.e. as Wine does and Valve productized with a gaming focus) is the better solution since it offers a true upgrade p
by sho_hn 9mo ago
I still think Windows app compat for Linux (i.e. as Wine does and Valve productized with a gaming focus) is the better solution since it offers a true upgrade path out.
I realize ReactOS has a potentially wider useful scope (I think device driver compat is part of what they're attempting to do, so it'd offer a solution to keeping niche HW running) but I think it's just a smaller audience.
- snvzz 9mo ago>it'd offer a solution to keeping niche HW running Preservation. It ensures WinNT survives as a platform even if Microsoft abandons it, which some would argue the present state of Win11 counts as doing.
- godzillabrennus 9mo agoWindows 11 is the enshitification late stage advertisement economy product that no one asked for, and everyone in the C Suite at Microsoft is excited about. Probably the only thing they are more excited for is yet another terrible branding decision.
- genewitch 9mo agoi don't get this take. i've been on win11 since the closed "beta" (i think, it's been a real long time). i wrote guides on how to "fix" the most common and also tricky issues with the upgrade path from win10 to win11, as well as guides from 7/8 to winten. I have no ads or any other nonsense on my computer. i can do an OBS screenshare on discord if you'd like to verify that. https://i.imgur.com/xldGfTc.png https://i.imgur.com/xldGfTc.png and also https://i.imgur.com/BkO4z9T.png https://i.imgur.com/BkO4z9T.png to deflect that claim, too -> https://i.imgur.com/59hmp45.png https://i.imgur.com/59hmp45.png however, i should note that i actually don't like windows 11 at all, but for different reasons. for the first two years or so, third party apps would crash to desktop if a folder had a literal "@"[0] in the name. That was patched on the "big patch" that a lot of people complained about, about 8-10 months ago. Currently i have another issue, for brevity's sake, i'll just list these two. If i reboot, but don't log in, my computer will freeze. if i log in fast (within about 5 seconds of the login screen accepting input (enter, mouseclick, etc)), and get to the desktop, if i walk away, computer will freeze. My computer freezes (hard freeze, reset button/power button to fix) if it is idle. it's the silliest thing i've ever seen, surpassing even crashing with "@" in the directory name. my fix? I run an idle game (nomad idle or idle pins) and that stops it from crashing forever. But once a month i wake up to a hard-locked computer because of an automatic update + reboot. ugh. [0] i think the newer windows terminal and/or the newer powershell API used to assume an "@" was something else, on powershell, it turns green and autofills stuff like "@Alias" and "@args". My assumption is they didn't sanitize it and let powershell hook everything when that's just silly. Windows 11 is silly.
- godzillabrennus 9mo agoDo you have an ASUS motherboard?
- genewitch 9mo agono, MSI B550, ryzen 5950x. but why do you ask? if you got some idea that affects asus, and have a link, may i see it?
- ch_123 9mo agoIf MS abandons WinNT, then people will likely continue to use the existing versions of Windows which are out there for any existing software (just as people continue to use MS-DOS and Win 9x for old games and software). As for new software - I think it's open to debate just how much new Win32 software will be created after a hypothetical abandonment by Microsoft of Windows.
- mghackerlady 9mo agoHas anyone thought about making the linux kernel roughly compatible with NT? Like how FreeBSD is compatible with Linux? I know it'd definitely be harder as NT is proprietary but syscalls (in my very uninformed opinion) seem all that difficult to implement, even without a userland
- jchw 9mo agoMe as a kid thought this would be a great idea, and started implementing a PE binfmt. I actually did make a rudimentary PE binfmt, though it started to occur to me how different Windows and Linux really were as I progressed. For example, with ELF/UNIX, the basic ELF binfmt is barely any more complex than what you'd probably expect the a.out binfmt to be: it maps sections into memory and then executes. Dynamic linking isn't implemented; instead, similar to the interpreter of a shell script, an ELF binary can have an interpreter (PT_INTERP) which is loaded in lieu of the actual binary. This way, the PT_INTERP can be set to the well-known path of the dynamic linker of your libc, which itself is a static ELF binary. It is executed with the appropriate arguments loaded onto the stack and the dynamic linker starts loading the actual binary and its dependencies. Windows is totally different here. I mean, as far as I know, the dynamic linker is still in userland, known as the Windows Loader. However, the barrier between the userland and kernel land is not stable for Windows NT. Syscall numbers can change during major updates. And, sometimes, implementation details are split between the kernel and userland. Now, in order to be able to contribute to Wine and other projects, I've had to be very careful how I discover how Windows internals works, often by reading other's writings and doing careful black box analysis (for some of this I have work I can show to show how I figured it out.) But for example, the PEB/TIB structures that store information about processes/threads seems to be something that both the userland and kernel components both read and modify. For dynamic linking in particular, there are some linked lists in the PEB that store the modules loaded into the process, and I believe these are used by both the Windows loader and the kernel in some cases. The Windows NT kernel also just takes on a lot more responsibilities. For example, input. I can literally identify some of the syscalls that go into input handling and observe how they change behavior depending on the last result of PeekMessage. The kernel also appears to be the part of the system that handles event coalescing and priority. It's nothing absurd (the Wine project has already figured out how a lot of this works) but it is a Huge difference from Linux where there's no concept of "messages" and probably shouldn't be. So the equivalent of the Windows NT kernel services would often be more appropriate to put in userland on Linux anyways, and Wine already does that. It would still be interesting to attempt to get a Windows XP userland to boot directly on a Linux kernel, but I don't think you'd ever end up with anything that could ever be upstreamed :) Maybe we should do the PE binfmt though. I am no longer a fan of ELF with it's symbol conflicts and whatnot. Let's make Linux PE-based so we can finally get icons for binaries without needing to append a filesystem to the end of it :)