Page 1 of 1

arwinss in reactos?

Posted: Mon Sep 24, 2012 4:32 pm
by manuel
Hi!

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.

http://cia.vc/stats/project/ReactOS
This features will soon be added to reactos and work better with another programs?, greetings.

Re: arwinss in reactos?

Posted: Mon Sep 24, 2012 5:53 pm
by EmuandCo
its not clear if arwinss goes by default into the main tree. some stuff runs far better, some far more worse.

Re: arwinss in reactos?

Posted: Mon Sep 24, 2012 6:15 pm
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.

Re: arwinss in reactos?

Posted: Mon Sep 24, 2012 10:25 pm
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.

Re: arwinss in reactos?

Posted: Tue Sep 25, 2012 11:20 am
by alfanak.net
what is ARWINSS?

Re: arwinss in reactos?

Posted: Tue Sep 25, 2012 11:27 am
by gonzoMD
alfanak.net wrote:what is ARWINSS?
Look Here

Re: arwinss in reactos?

Posted: Sun Sep 30, 2012 6:43 pm
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.

http://www.webtropy.com/articles/art9-2 ... user32.dll
http://www.webtropy.com/articles/art9-2 ... =gdi32.dll
or maybe this page, I'm not sure but the intent is to describe how a virus might use the function.
http://www.pc1news.com/virus/module-user32-dll-54.html


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.

Re: arwinss in reactos?

Posted: Mon Oct 01, 2012 12:19 am
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....

Re: arwinss in reactos?

Posted: Mon Oct 01, 2012 7:43 am
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.

Re: arwinss in reactos?

Posted: Mon Oct 01, 2012 9:20 am
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.

Re: arwinss in reactos?

Posted: Tue Oct 02, 2012 12:48 pm
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.

Re: arwinss in reactos?

Posted: Mon Oct 15, 2012 6:37 pm
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.