arwinss in reactos?

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

Post Reply
Posts: 411
Joined: Thu Jan 28, 2010 11:20 pm
Location: México

arwinss in reactos?

Post by manuel »


In the daily progress of reactos I see this entry:
Commit by fireball on arwinss :: r57377 / (8 files in 8 dirs): (link)
Start converting arwinss from feature branch into a trunk-pluggable module: * Delete unnecessary files.
This features will soon be added to reactos and work better with another programs?, greetings.
User avatar
Posts: 4461
Joined: Sun Nov 28, 2004 7:52 pm
Location: Germany, Bavaria, Steinfeld

Re: arwinss in reactos?

Post by EmuandCo »

its not clear if arwinss goes by default into the main tree. some stuff runs far better, some far more worse.
ReactOS is still in alpha stage, meaning it is not feature-complete and is recommended only for evaluation and testing purposes
Posts: 582
Joined: Wed Sep 14, 2011 5:55 pm

Re: arwinss in reactos?

Post by DOSGuy »

So what is a trunk-pluggable module? Is this about creating a compile-time option to use arwinss DLLs instead of trunk DLLs? Then you could use arwinss for any revision if it worked better for whatever software you were planning to use.
Today entirely the maniac there is no excuse with the article. Get free DOS, Windows and OS/2 games at RGB Classic Games.
Test Team
Posts: 2954
Joined: Thu Mar 22, 2007 5:42 am

Re: arwinss in reactos?

Post by Haos »

The general idea is to allow ARWINSS to be loaded into modules dir. If present, CMake will automagically pick that up and build ReactOS-ARWINSS version instead of Win32SS.
Posts: 68
Joined: Thu Jan 19, 2012 6:49 pm

Re: arwinss in reactos?

Post by »

what is ARWINSS?
User avatar
Posts: 1062
Joined: Fri Oct 20, 2006 7:49 am
Location: Germany

Re: arwinss in reactos?

Post by gonzoMD » wrote:what is ARWINSS?
Look Here
Posts: 148
Joined: Fri Sep 28, 2007 1:17 am

Re: arwinss in reactos?

Post by b4dc0d3r »

Do not expect it to make ReactOS magically better. Some things will be better, others will not. Whether you think it is better depends on which applications you use.

Think of this as using Wine's versions of the presentation layer (user32/gdi32). This creates the user controls and allows interacting with a bunch of stuff.

User32 manages appearance and input, and it typically tells Gdi32 what to draw and where. If User32 knows what to do, but GDI32 does not know how to draw it (or calculates incorrectly) then User32 looks like it does not know what it is doing. Of course USer32 may have incorrect or missing implementations also. The functions are named rather clearly, so even if you don't know a lot about Windows, this list might help see what they do. User32 has a lot of functions involving the words keyboard, window, message, menus, and piles of stuff about resources (icons, cursors, colors). When you click or copy or paste or type, almost 100% of the time user32 is involved before anything else is. ... user32.dll ... =gdi32.dll
or maybe this page, I'm not sure but the intent is to describe how a virus might use the function.

The only practical reason for integrating Arwinss is to figure out where bugs actually are. Wine is not perfect, but it works with a lot of popular applications. So ReactOS will appear to work better in some ways. Here is the problem. Wine expects to run on X11, and Arwinss pretends to be X11. It intercepts X11 calls and re-directs them to the ReactOS kernel. Of course, Arwinss is not actually X11, and it may have its own bugs. So it will probably not be exactly as good as Wine.

It is not within the goal of ReactOS to host Wine in this way - ReactOS is supposed to be as close to Windows as possible. It gives the appearance of compatibility only. Some people may say what is the difference, as long as it is under the hood and applications work as expected? You make up your own answer, it has been discussed and I guarantee your opinion has been stated before by someone else, and there is probably at least once developer who disagrees vehemently.

As a developer, if you are not working on user32/gdi32, you can use Arwinss as a way to have something to build on top of. It is temporary support so that you can build from the top down, while waiting for the base to be built up. As a user, it might be nice to try a beta release with a replacement subsystem and have different things working. A lot of large projects have had parallel development going on, and either the best man wins or both make progress. Either way, it works out for the best.

It allows one more way for the code that *can* be shared between ReactOS and Wine to be tested.
Posts: 229
Joined: Thu Sep 29, 2005 3:00 pm

Re: arwinss in reactos?

Post by jimtabor »

ReactOS has passed wine code for about over a year now. Only a hand full of missing User32 functions are needed to be ported into ReactOS. Layered windows etc....
Posts: 1787
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: arwinss in reactos?

Post by PurpleGurl »

I've wondered about an SxS implementation where there is both full Reactos and ARWINSS, and maybe some compatibility options. That would not be ideal, and may be hard, but it would be a way to have more compatibility if you could run a given program using either. Then again, this could lead to bloat and more bugs. I think of this like the memory manager. There were 2 memory managers for a while, now there is just one AFAIK.
User avatar
Posts: 1584
Joined: Fri Feb 15, 2008 9:44 pm
Location: Czechia

Re: arwinss in reactos?

Post by Black_Fox »

The usual SxS-supported libraries are selected using the manifest file present in an app, but for ARWINSS you would (obviously) have no such thing :( It would have to be either some system-wide switch (use ARWINSS DLLs now instead of the usual ones) or an application profile manager with per-app settings.
Posts: 145
Joined: Thu Jun 18, 2009 3:12 pm

Re: arwinss in reactos?

Post by igorko »

There was added trunk.diff to arwinss branch. You should be able to build trunk vs win32ss or arwinss even now. Apply trunk.diff to trunk, copy arwinss folder from branch to trunk's root. cmake/config.cmake file will get ARWINSS trigger, which will be set to TRUE by default. From this time building iso using "make bootcd" will create arwinss bootable cd image. To build win32ss image, trigger ARWINSS to FALSE and rebuild.
Posts: 358
Joined: Tue Nov 30, 2004 10:40 pm
Location: Moscow, Russia

Re: arwinss in reactos?

Post by fireball »

b4dc0d3r wrote:Do not expect it to make ReactOS magically better. Some things will be better, others will not.
-= skip =-
It allows one more way for the code that *can* be shared between ReactOS and Wine to be tested.
For information, the message quoted above makes almost no sense and writer has no idea what GDI32, USER32 and their kernelmode counterparts are. Not to tell about "pretending to be X11" BS.
Aleksey Bragin,
ReactOS Project Lead
Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests