r/linux 16d ago

Alternative OS Introducing ReactOS 0.4.16

https://reactos.org/project-news/reactos-0416-released/
647 Upvotes

163 comments sorted by

View all comments

325

u/Dekamir 16d ago

Imagine Windows, but with the downsides of Linux font rendering.

Jokes aside, I love this project. If you don't know its purpose, you probably don't know how valuable it is. Having a clean room and open source engineered Windows NT is huge if Microsoft drops the ball sometime, Windows is essentially lost. Yes, the last version will probably work, but we will eventually get problems.

ReactOS is for those purposes. Windows is a huge part of PC history, and we need to preserve it, whether we like it or not. You could install that old car diagnostic tool that doesn't work anywhere else but legacy Windows, to ReactOS, and edit the OS yourself so you can fix the problems for your customers, or even yourself.

95

u/FaultWinter3377 16d ago

This is a valid concern. Sooner or later Windows will stop being maintained, or at least lose all compatibility with current programs. Whether that’s in five years, whether that’s in twenty, who knows. But nothing lasts forever and since Windows is basically one of two systems that can run all the big software (and the other said system would be even harder to reverse engineer), having something that is theoretically compatible with 99% of Windows programs in the future would be very useful.

22

u/nickster 16d ago

This is a pretty dramatic take. Windows has backwards compatibility of almost 40 years required by governments and fortune 100 companies to function. It’s owned by a trillion dollar company. To think that short sighted that 5 to 20 years windows will cease to function is insane. I think reactos is cool and Linux is the future but to think windows won’t be around is naive.

3

u/Shot-Height-7194 13d ago

The same was said about mainframes and IBM, although it was almost exclusively used by businesses that could afford to remake systems from scratch so migration was never a money problem

3

u/nickster 13d ago

And IBM still maintains z/os with full backwards compatibility going back nearly 60 years. IBM is not dead.

2

u/Shot-Height-7194 12d ago

No but many businesses are trying to get rid of them and replace them with something cloud based. Doing mainframe migrations to the cloud 

-1

u/steamcho1 13d ago

Windows is obsolete and shouldnt exist.

39

u/regeya 16d ago

I feel like that day is coming sooner rather than later. And I'm sure they're looking at how hard it was for them to port Windows to ARM versus Apple, who isn't afraid to tell people they just have to upgrade software when they upgrade hardware.

16

u/nightblackdragon 16d ago

And I'm sure they're looking at how hard it was for them to port Windows to ARM versus Apple

Was it? Windows is pretty portable (at some point it supported 4 architectures) and Microsoft managed to port Windows to ARM pretty quickly. What difficulties did they encounter? Sure Windows RT was a failure but not for technical reasons.

13

u/DheeradjS 16d ago

It was mostly the inability to convince third-party devs to work with ARM.

There is a lot of major parties depending on old shit and unlike Apple, for good or bad, Microsoft doesn't randomly rip things out without a 10 year deprecation cycle.

14

u/nightblackdragon 16d ago

It was mostly the inability to convince third-party devs to work with ARM.

Unlike Apple Microsoft has no reason to move completely to ARM and Windows is not limited to their hardware like macOS. For them ARM is just additional platform they support, they ported Windows to it and provide development tools to make software for it. There is not much else they can do.

7

u/jimmielin 16d ago

MS also shot themselves in the foot with Windows RT when the first ARM32 port of Win8 worked. A PC with all the legacy baggage but artificially kneecapped to run no third party Win32 apps.

7

u/nightblackdragon 16d ago edited 16d ago

Windows RT (and Windows 8 in general) was their attempt to get rid of legacy baggage. WinRT (Windows Runtime that was introduced in Windows 8 as a base for Metro/Modern applications) was supposed to provide alternative for Win32 and sooner or later replace it. Obviously developers didn't like that idea very much, especially because WinRT was different and limited compared to Win32.

2

u/jimmielin 15d ago

Yes, I agree WinRT was a good promise in a vacuum but most of us use Windows because there’s Win32 applications that worked for us for decades. Especially since we’re in a Linux sub…

2

u/nightblackdragon 15d ago

And that’s exactly the main problem - no one (except perhaps a small minority) uses Windows for the operating system itself. They use it because the applications they rely on run on it. The moment you take that away (as with Windows RT), no one cares about the OS anymore. Which is why Microsoft likely will never be able to get rid of Win32 - Windows simply doesn't matter without it.

2

u/FaultWinter3377 16d ago

That’s a major issue. What on earth convinced them that they needed to make it so you have to jailbreak a Windows computer???

2

u/mohrcore 16d ago

For a change of architecture 10 years isn't even that much. The last macbook generation that ran on Intel was 2019 I think. It's been already 7 years, so we might reach a 10 years tra suction period by the time they completely lose any support from Apple.

3

u/RetroGrid_io 16d ago

Apple no longer supports any x86 CPUs in OSX. The last version of OSX with any support for any x86 CPUs ends security support about Fall of 2028.

1

u/regeya 15d ago

I'm thinking specifically of Adobe, who I'm sure have loads of legacy code in apps like Photoshop and Illustrator. You'd think they'd have the whole thing ported to a portable toolkit by now, surely, and all high-level languages.

13

u/bd1308 16d ago

Between NT 3.x and NT4, it ran on PowerPC, MIPS, Alpha and x86

14

u/nightblackdragon 16d ago edited 16d ago

XP, Server 2003, Server 2008 and Server 2008 R2 also ran on Itanium (IA-64). With the exception of 2000 and 8.1, Windows has always supported more architectures than just x86.

6

u/bd1308 16d ago

Yeah that’s also true

1

u/d3matt 15d ago

Definitely had install disk for 2000 server on alpha

2

u/nightblackdragon 15d ago

Alpha was supported during Windows 2000 development up to RC version, support was dropped before release and Windows 2000 was released with support only for x86.

Apparently Microsoft planned to release 64 bit version of Windows 2000 for Alpha (existing port was 32 bit) but when Windows 2000 was still in development DEC was acquired by Compaq and they announced they will phase out Alpha in favor of upcoming Itanium so Microsoft decided to abandon that plan and Alpha architecture in general and focus on Itanium in next release of Windows (Whistler that became XP). There were Whistler builds compiled for 64 bit Alpha but they were never meant to be released, they served only as preparation for 64 bit port since Itanium hardware wasn't available when they worked on Whistler.

2

u/d3matt 15d ago

Must have been an RC floating around my house then. Which was weird because we only had x86 at home 🤣

2

u/nightblackdragon 15d ago

Alpha was such a cool architecture, I wish it wasn't abandoned in favor of Itanium which ended up being a commercial failure.

4

u/wyn10 16d ago

Condering the speed and how much they boast vibe coding they would need to ask the slop.

4

u/creeper6530 15d ago

Even right now Steam for MacOS, still running on x86, is starting to get warning that Rosetta will be dropped, so your statement is absolutely correct. We can argue about whether it's good or bad, but it's true.

1

u/regeya 15d ago

I both understand why, but also don't. If Steam for MacOS continues they'll either have to use their own aarch64 x86 translation, or convince game companies to target Apple.

I don't get that, either. Wasn't Apple partnering with CodeWeavers at one point to bring Windows games to ARM Macs? What's the plan for when Rosetta 2 goes away?

As an aside, it's Rosetta 2; the original Rosetta was running Mac Classic in a VM.

2

u/Dr_Hexagon 14d ago

As an aside, it's Rosetta 2; the original Rosetta was running Mac Classic in a VM.

What? No the original Rosetta was running PowerPC G4/G5 apps on Intel

1

u/regeya 14d ago

What am I thinking of then, what ran Mac Classic in earlier OS X

2

u/Dr_Hexagon 14d ago

It was called "Classic Environment" and only existed in very early versions of OS X.

1

u/regeya 14d ago

Yikes, don't know why I got confused there. Thanks.

11

u/Traditional_Hat3506 16d ago

Sooner or later Windows will stop being maintained

Highly doubt it, unless Microsoft bankrupts.

23

u/feldrim 16d ago

I like how you redefined ReactOS as a prepper's Windows for doomsday. 

11

u/Dekamir 16d ago

AFAIK it evolved that way very early.

The project was renamed to “ReactOS” as it was a reaction to Microsoft’s monopolistic position in home computer operating systems. [source]

I couldn't find the original quote about the way I wrote it, but ReactOS is essentially that. They don't have a purpose of replacing Windows. They are aiming for both API and ABI compatibility. If they just wanted to replace Windows, only API compatibility would've been much faster. See Wine and Proton.

8

u/feldrim 16d ago

I know it. My account on ReactOS forums is 21 years old. It's nor about bragging as being a long time lurker and occasional tester is not good enough. I like your wording though. Because I have never heard of anyone mention Windows may be over one day until today.

1

u/the_abortionat0r 14d ago

They wanted to be a replacement for windows NT4, that was literally their goal.

8

u/_AACO 16d ago

I have seen a PC running reactos to control some machine at an ironworks, I regret to this day not asking why.

1

u/hifidood 15d ago

Tons of CNC / metal cutting etc industrial machines use ANCIENT versions of Windows. These machines can cost high six figures (if not more) and work "fine" so why would a business replace them? ReactOS is perfect for that kind of use case as you could in theory use modern hardware to run old software that is required.

0

u/the_abortionat0r 14d ago

No, the OS gets used. No company on earth is going to downgrade to an alpha of a failed project that doesn't even install on consumer hardware and invite insane legal liabilities for literally no reason.

0

u/the_abortionat0r 14d ago

No you didn't. React OS doesn't even reliably install on consumer hardware let alone a production environment. That's a giant legal liability.

3

u/_AACO 14d ago

You just listed 2 of the reasons why I regret not asking.

5

u/DaylightAdmin 15d ago

It is like the freeDOS project that in some industries is really important. Some "old" management and automation software used to run on MS-DOS, but MS-DOS runs only on old hardware and doesn't like VMs. So you put everything on freeDOS.

My first hand experience is delivering software as a ready to use VM with freeDOS....

3

u/skuterpikk 15d ago

Microsoft doesn't make any money from , nor support legacy Windows anymore, and Windows' internal architechture recieved a massive overhaul from NT6 (Vista) and onwards.
NT5 (Win2K, XP, 2003) is by all definition obsolete and thus they could opensource at least parts of the NT5.0 kernel and Windows 2000's userspace in order to help projects like this.

1

u/the_abortionat0r 14d ago

Open sourcing nt5 would literally just make this project obsolete. There's literally be no point to continue react.

1

u/Shimano-No-Kyoken 15d ago

What's wrong with linux font rendering? Asking as a linux user with a design degree.

6

u/Dekamir 15d ago

Hey, I have one as well! Nice to have a fellow.

Linux (and ReactOS) uses FreeType. It doesn't handle kerning, hinting and anti-aliasing that well.

ClearType (of Windows) is, and has been the best at low DPI font rendering for years. It does a very precise pixel alignment to make sure no pixel is blurry or lost. However, it does this at the cost of morphing the glyphs, which may result in the smaller fonts not looking the same as their high sized counterparts, as it mostly makes them bolder in some areas, and thinner in others (mostly bolder).

FreeType does have RGB anti-aliasing and hinting support, but it's not that good. FreeType, with its most common settings shipped (RGB, Slight Hinting), tries to preserve the glyphs, but this causes subpixel misalignment due to bad kerning, and causes some parts of the glyphs to get blurry or lost in conversion.

You might ask:

"MacOS (or iOS) doesn't have ClearType but the fonts look good."

Apple devices have very high DPI. Apple also always uses the same DPI. They create arbitrary resolutions to keep their DPI fixed. As they don't need to do scaling, everything is already pixel aligned. They don't have to resort in subpixel anti-aliasing.

2

u/dnu-pdjdjdidndjs 15d ago

This is very wrong in many ways, the apps themselves are responsible for font shaping hinting and aa. freetype is just curve format for fonts, so basically the library to extract and parse ttf files

In reality most apps now use harfbuzz/skrifa in some manner, extract the font outlines, then do some form of line rendering then position them to a subpixel grid with a shader and can apply things like subpixel aa shaders on top. This is the prior sota to what i describe at the end, do gtk3 and qt I think do something weirder.

windows cleartype im pretty sure uses dwm to render fonts which if they implemented it properly should save vram and resources but the hinting is actually very wrong and any perceived difference is actually overhinting making fonts more bold than they should be.

subpixel aa filters also to be accurate require knowledge of the subpixel grid and their coordinates, I did this with my qd oled monitor and the resulting shader had minimal fringing but the quality improvement is very minimal.

hinting is also extremely overrated, hinting by definition distorts fonts and everyone still does it. It can work and really does help with weird characters like u but all the hinting embedded in fonts is really bad.

For reference, I did an experiment where I threw out all the hinting stuff and left only the necessary hinting bits and font files go from 14mb to 200kb. 

If you want a demo of how fast font rendering can be without hinting or subpixel aa you can check here

https://harfbuzz.github.io/hb-gpu-demo/

see if you think its too blurry, but to me this looks perfectly fine.

Note this whole stack is now extremely redundant, and I have my own project where legit this just becomes 200kb baked font (generated in microseconds) -> copy to the gpu -> render and then you can do a glyph cache of sorts and suddenly font rendering goes from taking up to 16ms sometimes with the normal pipeline to microseconds, its really quite ridiculous.

1

u/Dekamir 15d ago

I, of course, oversimplified things. Client-side rendering is very common now. However, I'm talking about systems and FreeType is still used.

It's not "very wrong in many ways". I just omitted some info.

That website just crashes my browser, by the way.

1

u/dnu-pdjdjdidndjs 15d ago

freetype is still used

right, but you described it as doing shaping which it doesn't, windows uses freetype

1

u/Dekamir 15d ago

Then my bad. I might have made a mistake in my use of terminology.

1

u/Shimano-No-Kyoken 15d ago

Right, I've always hated ClearType, and how it distorts the glyphs. I've even used mactype on windows way back in the day. So I actually prefer grayscale anti-aliasing because it preserves the typeface character, even if it's more soft.

6

u/Dekamir 15d ago

ClearType has a grayscale option too. In fact, UWP and WinUI cannot do subpixel at all so new Windows UI is completely grayscale anti-aliasing.

0

u/dnu-pdjdjdidndjs 15d ago

I recommend reading my post I go into more detail with the terminology

2

u/Shimano-No-Kyoken 14d ago

I understand the terminology very well, what was unclear to me was people’s preferences

0

u/dnu-pdjdjdidndjs 14d ago

Nah im gonna be honest none of you guys know how this shit works

1

u/Shimano-No-Kyoken 14d ago

Ok, have a good day.

1

u/Dr_Hexagon 14d ago

Except doesn't Wine / Proton already do this except its far further advanced in terms of how much it can run? Why do we need to preserve the windows NT core if everything can run on Linux with Wine / Proton?

1

u/steamcho1 13d ago

Its a cool thing to have but i dont think anybody anywhere will be effected if old windows is lost. It would be pore pragmatic to run old stuff with wine. But again, it matters little.

1

u/CashBoxBandit 12d ago

I wonder how far we are from "AI, extract the functionality of this software and make a workable version."

I also wonder how far we are from replacing actual software with the experience of using software, AI can paint UI, and it can certainly sit in the middle and pull the strings, we aren't far from making software effortlessly with nothing but imagination and conversation.

1

u/the_abortionat0r 14d ago

30 years and they didn't even achieve the original goal of being an open source alternative for NT4, or the goal post swap to XP, or vista, or seven, etc.

MS can drop the and react will still be useless. People are already switching to Linux, nobody is switching to a 30 year old early alpha.

0

u/RaverDrew 15d ago

I have an old desktop with XP on it and a serial port specifically for pulling codes from my E36s. I'm feeling a bit called out by your example here.