ReactOS May Begin Heavily Using Wine Code

Written by Michael Larabel in Operating Systems on 18 January 2010 at 11:55 AM EST. 46 Comments
OPERATING SYSTEMS
While we don't normally talk much about ReactOS, the free software operating system that was started some twelve years ago to provide binary compatible with Windows NT, there is a new proposal to abandon much of its Win32 subsystem that has built up over the past decade and to create a new Windows subsystem that in large part is derived from Wine code.

ReactOS developers have achieved quite a lot in terms of implementing its open-source Win32 subsystem where some applications and device drivers from Windows will run on the React Operating System without any modifications and there is audio support and other areas of the Windows API implemented. With their current Win32 subsystem being far from finished (or even being beta quality), inheriting some architectural problems, and just not progressing as nicely as once envisioned, Aleksey Bragin of ReactOS has proposed a major change.

Aleksey has been working on ARWINSS, which is a new Win32 subsystem for ReactOS that reuses as much Wine code as possible. The ARWINSS architecture implements APIs exposed via USER32 and GDI32 libraries and is based upon Wine source-code -- the USER32.DLL and GDI32.DLL libraries are almost unchanged compared to the upstream Wine code-base. With ARWINSS there is a custom ReactOS driver for "fast graphics and windowing operations", low-level graphics support with minimal Win32 support for the kernel, and an optional driver to use a remote X Server. Due to abstractions within Wine, ReactOS will not be tied to using an X11 Server.

The decision to reuse Wine code was done since this major free software project already supports running thousands of Windows applications and it's good and proven code. None of the NT kernel emulation code, Wine server, or UNIX dependencies from Wine will be pulled into this new ReactOS subsystem.

Aleksey views ReactOS switching to the ARWINSS architecture would provide a smooth development strategy, provide for rapid development, address huge amounts of bugs, and finally provide a real development plan for this operating system. A presentation published by Aleksey describes this route as being the "fastest path to real world usage." This ARWINSS presentation can be found here (PDF link).

Additional information on ARWINSS can be found on its Wiki page. Aleksey Bragin also made an announcement on the ReactOS mailing list. If this new design is adopted, this could benefit the Wine project as well if improvements are submitted for upstream inclusion.

As of late the Wine project has picked up OpenAL support, some Direct3D 10.0 functions, better Shader Model 4.0 support, improved memory management, and many other features that continue to be introduced in their bi-weekly development releases since the release of Wine 1.0 back in 2008.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week