games-on-whales / wolf

Stream virtual desktops and games running in Docker
https://games-on-whales.github.io/wolf/stable/
MIT License
292 stars 20 forks source link

A UI for Wolf #80

Open ABeltramo opened 1 week ago

ABeltramo commented 1 week ago

This has been discussed already many times over a few places (https://github.com/games-on-whales/wolf/issues/69#issuecomment-2094133261 https://github.com/games-on-whales/wolf/issues/44) and it's getting more and more clear that we need a UI for Wolf. The main goals are:

Implementation

I think our "dream solution" here would have:

I've been looking around for something like this and I think the best candidate is Sciter, more specifically the windowless version of Sciter: Sciter.Lite
There are some examples:

The nice thing is that it seems to tick all the boxes above, the only concern is that it's not open source, and it's not free (albeit just for commercial use which shouldn't concern us). Is there any other alternative that we should consider?


Otherwise, we could just run any normal GUI toolkit (GTK, Qt, Electron, etc.) in a separate process inside the Wolf container, hook it up with our Wayland comp, and communicate with it via a socket or something. This would be a lot more complex and less efficient, but it would be open source and free.

brine0m commented 1 week ago

@ABeltramo, not sure if the above implies this but I would also suggest a rudimentary auth solution with 2 roles, admin and user. User would be able to login and pair devices and this would allow sharing of installed games between paired devices. Admin would do that and the aforementioned config / monitoring.

Also haven't read in depth of Sciter but are you intending for this to be a webapp or desktop app... just first few things I read it looks look as it uses mostly web languages but seems like its to dev desktop app

ABeltramo commented 1 week ago

not sure if the above implies this but I would also suggest a rudimentary auth solution with 2 roles, admin and user. User would be able to login and pair devices and this would allow sharing of installed games between paired devices. Admin would do that and the aforementioned config / monitoring.

Yep proper user management will definitely be added. First we'll have to plug everything together though..

Also haven't read in depth of Sciter but are you intending for this to be a webapp or desktop app... just first few things I read it looks look as it uses mostly web languages but seems like its to dev desktop app

The idea here is that Sciter will allow Wolf to render mutliple GUIs, ideally one per user/session without even having a Desktop and without requiring the user to jump over a browser (which might not be possible on some Moonlight platforms, like TVs/handelds ..).
Everything will be rendered inside Moonlight and controlled with the same mouse/kb/joypad devices.

Ideally this UI will also be easily developed by using the same frameworks as any webapp so that anyone can easily contribute!

salty2011 commented 1 week ago

This sounds interesting, look forward to seeing it in action.