ReactOS 0.4.11 released

[German], 2019, the developers of the project released ReactOS 0.4.11. I downloaded this version a few days ago and tested it in a virtual machine. Here are some information and impressions.

What is ReactOS?

For blog readers who aren't familiar with ReactOS: This is a software project to develop a free operating system. The operating system is mostly licensed under the GNU GPL, but some of its components are licensed under the LGPL or the BSD license.

The goal of ReactOS is to be binary compatible with Windows, especially be binary compatible with the Windows NT kernel. This should make it possible to use programs and device drivers for Windows NT and its successor Windows XP, Windows Server 2003 and Windows 7. Among other things, the programming interface Win32 is emulated for this purpose. Details about the development and history may be found at the Wikipedia.

ReactOS

I observe the development of ReactOS, because I am looking at its core (less the GUI) as the basis of a VM. The idea is to have a MinWin operating system to run Windows applications under Linux. So I noticed the announcement on the ReactOS news page, as well as the articles from Softpedia and The Register last week.

ReactOS 0.4.11

The ReactOS 0.4.11 announcements sounded good, allegedly the project should have made great progress. The announcement on the ReactOS News page mentions some kernel improvements. For example, Pierre Schweitzers managed to implement corrections to the management of the cache controller's data structures. This removed at least one cause for blue screens. These occurred when trying to back up the partition of a hard disk with the ODIN backup software.

Improvements in the memory management of file systems were also an issue. While the fastfat driver is an in-house file system driver of the ReactOS developers, ReactOS has always relied on a third-party driver to support BTRFS. However, this dependency has led to problems using the driver in ReactOS. For example, there was a memory leak that was discovered by developer Thomas Faber.

With the new version the Loader (LDR) was also revised. This module is responsible for finding and loading dependent DLLs of applications. The team mentioned within the announcement that progress has been made in supporting manifests. These are used to tell the operating system that DLLs of an application are needed to run. By supporting manifests, more applications are expected to run, although work is still pending in this area. The team cites Blender 2.57b, Evernote 5.8.3 and even the latest released (and now no longer supported by Apple) version of QuickTime for Windows, 7.7.9 as working.

Meanwhile, ReactOS also promises that an upgrade to a new feature will work. At least there is an option. Compatibility with Windows applications is probably also provided by borrowing from Wine. At least I interpret this from the following screenshot, which is shown during the installation.

If you go through the articles of Softpedia and The Register, it all sounds like great progress and you're going to be something. The Register writes, however, that a lot of work had to be invested in Hyper-V to get the configuration running with network, etc. The Register is also very happy with the new version. The stability has improved, but it still hangs in the balance. Quote:

The whole OS simply felt considerably more robust than the version we tried last year, much of which is down to improvements in the Win32 subsystem. The effort invested by the team is evident in its stability.

However, our original conclusion still stands. While an undeniably impressive feat of engineering, ReactOS has limited usefulness right now. Open-source fans can get their kicks on Linux. Windows compatibility, although improved, struggles when presented with something like a recent-ish .NET Framework – .NET 4.0 works, .NET 4.7.2, not so much. Newer versions of Office are right out.

ReactOS is an undeniably impressive technical achievement, but its practical use is limited at the moment.

My own (short) test

I tested this version briefly in a VM under VMware 10.0.7, where ReactOS-0.4.9-RC was pre-installed. The attempt to update this VM by booting from ISO failed – I couldn't get it to work. Then I used tricks to run the setup wizard from a running ReactOS (some .exe in a subdirectory, I forgot the name). The following dialog box also appeared.

ReactOS-Installationsoptionen

But the option didn't came to any result. After some time I cancelled the upgrade because nothing happened. A clean install led to a non-booting VM the first time. At some point I managed to get ReactOS running in the VM – even the network (Internet) was present. But there were some problems:

  • During the installation of the VMware tools for Windows, problems were reported to me (missing entry points in a DLL). As a result, the shutdown scripts did not run, so the VM could not be shut down in VMware Workstation – this was only possible from the guest operating system.
  • Often ReactOS function were hanging, so I could open the start menu and select the command to shut down. The Shutdown Options dialog box appeared, but no shutdown option could be selected or had no effect. The VM then had to be hard switched off in VMware.
  • The Windows XP interface looks familiar, but ReactOS wanted to install drivers for unknown devices immediately after logging in. These were not found, so I had to click three or four dialog boxes.
  • Office 2000 was easy to install (I only selected Word and Excel) and the modules worked. But my attempt to test the Microsoft Windows Life Essentials 2012 with the Full Installer failed terribly. It is reported that this is not a valid .exe file.

I aborted the experiment after a short time and returned to ReactOS-0.4.9-RC. At least this one could be installed, even if the problems outlined above exist. I did not test it under Virtualbox. The bottom line: ReactOS version 0.4.x is far away from practical use.

This entry was posted in Windows and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *