First, very impressed by ReactOS! So awesome! Probably the most impressive thing I have seen in 2016 hands down.
The first thing I did was to copy over our system, the Smart Mobile Studio compiler and IDE, and it worked more or less 99.9% out of the box (fantastic!).
Giving you all the cool stuff Delphi and Lazarus have, but for node.js and HTML5.
Interestingly, SMS ships with Chromium embedded, and the webkit engine rendered without any problems. I was actually expecting some problems there since webkit is pretty extensive and calls some heavy duty aspects of WinAPI. Its probably safe to say that it uses most of the advanced features an OS has to offer (memory mapping, threading, semaphores, sockets, pipes - and that is before JSVM + debugging. Not to mention the rendering process).
But all the graphics stuff i threw at it, like cpu tweening, gpu tweening and CSS3 GPU powered effects seem to work (although its hard to tell if the actual GPU was used since I would have to recompile with -gpuMarker option). I have a brand new i7 +32giga+ssd based PC that was assembled for running vmware (I do all my development in VMWare) so it's hard to notice what is GPU or CPU at times.
[ external image ]
I did notice quite a bit of redraw glitches in general. Like window content not updating properly, some misaligned UI elements and border issues, windows leaving trailmarks when you minimize/maximize and move them around the desktop (not just SMS, but other applications as well. Including notepad). But ReactOS is still young so I consider these superficial. I mean, an OS is 90% non-visible code after all
What I did have problems with however and that I could use some help with, was starting the built-in server for our IDE. Its a normal http server (Indy Delphi component) set to listen on port 8090. I keep getting the error message: "Socket Error 10022 Invalid argument". I have never seen this error before, even under Wine emulation on Linux. And yes, I naturally tried other ports as well - same error.
Looking it up on google i find the following information:
Code: Select all
WSAEINVAL (10022) Invalid argument. Some invalid argument was supplied (for example, specifying an invalid level to the setsockopt() function). In some instances, it also refers to the current state of the socket - for instance, calling accept() on a socket that is not listen()ing.
Since I'm running this in VMWare with NAT (could not get bridged network mode to work at all), could it be the actual Windows 10 that i run vmware under that refuses the bind (?) Or do i need to set some credentials somewhere? Firefox had no problems running (except its getting old so rendering modern websites left a lot to be desired, but that it works is frikking awesome so I dont care), but that doesnt set a socket in listen mode.
In short -- how can I resolve this? The Indy components are to-the-letter implemented and follows every aspect of the RFC's to the letter. It is (as mentioned) used by uncountable developers in their applications every single day. So with all respect, I think this bug stems from ReactOS and not Indy. But I really want to come up with a work-around.
Other than that I am totally stoked at how cool this project is! And I cant wait until that day when I can install Delphi, C++ builder and Smart Mobile Studio on a USB stick and carry my office in my pocket.
Well, hope someone can give some advice regarding the http listen problem? I would love to promote and evangelize ReactOS and use it for x86 embedded work!
Oh, and node.js refuse to start. It demands Windows 7. Any way we can trick it into working? The binary uses nothing in particular from Windows 7, so its just a conceptual restriction by the node.js consortium.
Getting node.js to run on ReactOS is paramount!