ReactOS for Single application embedded / Kiosk work

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

Post Reply
User avatar
quartexNOR
Posts: 7
Joined: Tue Dec 06, 2016 9:25 pm

ReactOS for Single application embedded / Kiosk work

Post by quartexNOR »

I have tested ROS once in a while, and today i was completely blown away at how far it has come!
So hat off to the developers, amazing work!

I have been looking for alternatives to host single-applications; basically a system that should run a single visual application (with services in the background). The application in question will open a web-view in full-screen and disable the means of escaping the view.
Presently im using a normal windows installation with Chromium embedded from a Delphi application.
This works well but I want to be able to deliver disk images, which with Windows is illegal, so that ends the journey right there.

I also dabbed a bit with Linux, but the learning curve is quite dense.
Delphi can target Ubuntu x86, but I have no clue how to open a X session that just runs my app.

ROS would be perfect for kiosk work. Absolutely brilliant!

The questions then become:

1. Can the boot picture be replaced or silenced?
2. Can the start-bar + desktop icons be disabled? (for example)
3. Can we ensure that our app is executed immediately, and when it closes the system shuts down?

In our case we want to retain the ROS infrastructure - but we need our application to run fullscreen without any means to exit back to a desktop.
You wont believe how creative people are when given access to a kiosk system :)
If there is even a tiny chance to bypass the system, they will find it and mess up the machine.

And last but not least, what x86 SBC would you think ROS would run well on?
The UP boards? ODOO?

I would greatly value your input on this

karlexceed
Posts: 526
Joined: Thu Jan 10, 2013 6:17 pm
Contact:

Re: ReactOS for Single application embedded / Kiosk work

Post by karlexceed »

One option for question #2 (and sorta #3) is to replace explorer.exe at C:\ReactOS with whatever application you want to be running.

You'll have to disable Ctrl+Alt+Del some other way or remove physical access to to Delete key to prevent users from attempting to use the Task Manager to launch a different program.

Also, unfortunately, this will result in a blank desktop if the application is closed or crashes. One solution for that would be to create a watchdog process that re-launches the program if it's no longer in the tasklist.

User avatar
binarymaster
Posts: 385
Joined: Sun Nov 16, 2014 7:05 pm
Location: Russia, Moscow
Contact:

Re: ReactOS for Single application embedded / Kiosk work

Post by binarymaster »

karlexceed wrote:
Sun Aug 26, 2018 9:28 pm
One option for question #2 (and sorta #3) is to replace explorer.exe at C:\ReactOS with whatever application you want to be running.
There is Shell registry key for that, same as in Windows. We don't need dirty hacks.
karlexceed wrote:
Sun Aug 26, 2018 9:28 pm
You'll have to disable Ctrl+Alt+Del some other way or remove physical access to to Delete key to prevent users from attempting to use the Task Manager to launch a different program.
POS Terminals / Kiosks usually don't have physical Ctrl, Alt or Delete keys.

Disabling this functionality is not a good idea, since kiosk administrator may need to run Task Manager in some cases.

karlexceed
Posts: 526
Joined: Thu Jan 10, 2013 6:17 pm
Contact:

Re: ReactOS for Single application embedded / Kiosk work

Post by karlexceed »

binarymaster wrote:
Mon Aug 27, 2018 12:11 am
There is Shell registry key for that
For anyone else, the 'Shell' key is located at:

Code: Select all

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

User avatar
quartexNOR
Posts: 7
Joined: Tue Dec 06, 2016 9:25 pm

Re: ReactOS for Single application embedded / Kiosk work

Post by quartexNOR »

I copied over my executable, but there seems to be a problem with DirectX.
It opens a DX display fine (or so it seems, I cant really tell, its just a black background), but initializing Direct3D seems to be where things go south.

I have several two aspects that I want to use ReactOS for:
1. Professional work, which would pipe funding back to ReactOS by donating a percentage
2. Hobby and entertainment, having a redistributable x86 image running UAE (amiga)

My development tools are:
Delphi 10.2.3 latest
C++ builder latest

I work for Embarcadero that makes C++ builder and Delphi, so there are many aspects to this that could have positive results in the future.
Being able to have a post-processor that kicks in after compiler, which takes your executable (generated by Delphi or C++ builder) and generate a "ready to deploy" disk image is extremely powerful. I noticed that Ultibo does this via Freepascal for Raspberry PI.
But being able to do this for x86 with a WinAPI compliant core is nothing short of a miracle.

So ROS has, in my humble opinion, the potential to alter the landscape considerably for the better, and to free code that is currently bound to financial contracts signed in blood. ROS is far more interesting than linux ever was.

But ok - lets get down to the nitty gritty:

DirectX and COM are terrible, monstrous systems that should never have been invented.
But alas they were and I can only imagine the job of reverse-engineering something like that.
It seems the problem occur when trying to map graphics to a D3d surface, which is quite common these days to benefit from the extra GPU muscle.
In my case I have 32bit dib that is mapped and position to make up the window's view (see Firemonkey API docs).
But the professional stuff can wait.

The hobby stuff though -- how can I get UAE to run?
ROS is perfect for UAE (Amiga emulation) because of speed. ROS seems more snappy than windows, which means emulation should benefit greatly. Especially the PPC emulation layer for OS4.1 which uses the QEMU core statically linked into WinUAE.

Is there an older UAE I can use?

Any help is welcome -- I seriously have goosebumps when I use this!
I also tried to compile and run Smart Mobile Studio (pascal->js compiler) for ROS, but sadly it crashes for some reason.

learn_more
Developer
Posts: 194
Joined: Fri Dec 19, 2014 10:00 pm

Re: ReactOS for Single application embedded / Kiosk work

Post by learn_more »

quartexNOR wrote:
Wed Aug 29, 2018 5:04 am
My development tools are:
Delphi 10.2.3 latest
C++ builder latest
quartexNOR wrote:
Wed Aug 29, 2018 5:04 am
DirectX and COM are terrible, monstrous systems that should never have been invented.
I think you got those 2 mixed up ;)

Julcar
Posts: 139
Joined: Thu Jul 31, 2008 8:19 pm

Re: ReactOS for Single application embedded / Kiosk work

Post by Julcar »

If you have a hard interest in ReactOS having the ability to run your application, you could hire a ReactOS developer to focus his work in fix those bugs with rewarded work, it is an one-time payment, but the benefits are shared to the main repository for long time

User avatar
quartexNOR
Posts: 7
Joined: Tue Dec 06, 2016 9:25 pm

Re: ReactOS for Single application embedded / Kiosk work

Post by quartexNOR »

Im doing my own kickstarter for a new compiler core for JS, so sadly I dont have extra funds.
But -- I will indeed invest when I have built up more funding. It is a worthy cause.

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Bing [Bot], X512 and 3 guests