Jump to content
LaunchBox Community Forums

Side Project : Launchbox as a service (running inside an Hyper V virtual machine)


Nixx

Recommended Posts

Thoses days, i'm playing with a side project.

Not gonna make a guide, since i'm still working on it, but i think the idea is interesting and worth sharing.

I have my launchbox installed on my main machine, but sometime i want to access it remotely or kids want to play on TV (my computer is also plugged on the tv) and since i'm working on my PC, it's annoying.
So, why not make a launchbox as a service that run in a virtual machine and that i can access though parsec & moonlight ? I have an obscene amount of Ram, so having a VM always on on background is not a problem.

For that i use https://github.com/jamesstringerparsec/Easy-GPU-PV 
It's a script that generate a Windows Virtual machine with GPU shared. You have to define a percentage of GPU sharing (like if like me you set 90%, that mean the VM can use up to 90% of your GPU) and the basic other config of the vm (number of core, memory ...)
 

Performance wise, how is it ? Surprising good.
I mean, this is a 3D Mark bench from my Host : https://www.3dmark.com/3dm/99114511?
And this is the same test from my VM : https://www.3dmark.com/3dm/99114862?

I'm able to launch things like PS3 game inside the VM without issue
image.png?width=944&height=569

 

Few tips that i gather along the way to those who want to reproduce this

- Run something to debloat windows 11 on the vm, remove xbox stuff, this thing doesn't show on parsec and your PS/Guide button not gonna work with the xbox thing.
- If you want to run a sunshine (i use sunshine because i use amd gpu), and your lock with low resolution, the trick is to register a fake display, set as primary and disable the other one. You can use that : https://www.amyuni.com/forum/viewtopic.php?t=3030
I had to add a schreduled task run as system with admin right on boot to run "deviceinstaller64 enableidd 1" on boot

- For my launchbox, i use a custom tool that make softlink of each files in a directory and recreate the directory, so i just run "hardlinkfolder.exe "\\MyComputer\LaunchBox\Manuals" "I:\LaunchBox\Manuals" --softlink" (and the same with Images and Videos folders)
That ways, when i add collection of files in launchbox, it will use my existing files on host, but if i want i can still add stuff without messing with my host files (the share is readonly btw)

I can share it if someone needs it.

- For PC games, i'm not here yet, but my plan is : On my PC all my games are in F:/PCGames. I plan to create a dummy drive called F:/ on Host, make an hardlink copy of all files in my host with size > 1Mb on F:/PCGames-clone, files <1mb will be copied instead of linked. I will use junction on the server to mount this cloned folder to F:/PcGames and since the files < 1mb are copied instead of linked, i'm confident that configuration files will still be independant so messing with resolutions and stuff will not impact on my host. If a game dont work, i just rename the folder, install it to F:/PCGames on the server, remove the folder and restore the linked one.

 

So, i still have work to do, but that's promising, there is a short video of bigbox runing on PS Vita though Moonlight

 

 

if you are doing something similar or need help, feel free to post and share your experience.

 

Edited by Nixx
  • The Cake is a Lie 1
Link to comment
Share on other sites

  • 2 months later...

Yeah, i though of that, but that imply to dedicate a GPU to the VM. And this GPU can't be used by other VM.
With Hyper V gpu partitioning, i can use the same GPU on my host and my VM. (And also, i will not trigger anti cheat when i play from my host since it's baremetal)

 

Edited by Nixx
Link to comment
Share on other sites

  • 3 weeks later...
On 8/29/2023 at 8:02 PM, Nixx said:

Thoses days, i'm playing with a side project.

Not gonna make a guide, since i'm still working on it, but i think the idea is interesting and worth sharing.

I have my launchbox installed on my main machine, but sometime i want to access it remotely or kids want to play on TV (my computer is also plugged on the tv) and since i'm working on my PC, it's annoying.
So, why not make a launchbox as a service that run in a virtual machine and that i can access though parsec & moonlight ? I have an obscene amount of Ram, so having a VM always on on background is not a problem.

For that i use https://github.com/jamesstringerparsec/Easy-GPU-PV 
It's a script that generate a Windows Virtual machine with GPU shared. You have to define a percentage of GPU sharing (like if like me you set 90%, that mean the VM can use up to 90% of your GPU) and the basic other config of the vm (number of core, memory ...)
 

Performance wise, how is it ? Surprising good.
I mean, this is a 3D Mark bench from my Host : https://www.3dmark.com/3dm/99114511?
And this is the same test from my VM : https://www.3dmark.com/3dm/99114862?

I'm able to launch things like PS3 game inside the VM without issue
image.png?width=944&height=569

 

Few tips that i gather along the way to those who want to reproduce this

- Run something to debloat windows 11 on the vm, remove xbox stuff, this thing doesn't show on parsec and your PS/Guide button not gonna work with the xbox thing.
- If you want to run a sunshine (i use sunshine because i use amd gpu), and your lock with low resolution, the trick is to register a fake display, set as primary and disable the other one. You can use that : https://www.amyuni.com/forum/viewtopic.php?t=3030
I had to add a schreduled task run as system with admin right on boot to run "deviceinstaller64 enableidd 1" on boot

- For my launchbox, i use a custom tool that make softlink of each files in a directory and recreate the directory, so i just run "hardlinkfolder.exe "\\MyComputer\LaunchBox\Manuals" "I:\LaunchBox\Manuals" --softlink" (and the same with Images and Videos folders)
That ways, when i add collection of files in launchbox, it will use my existing files on host, but if i want i can still add stuff without messing with my host files (the share is readonly btw)

I can share it if someone needs it.

- For PC games, i'm not here yet, but my plan is : On my PC all my games are in F:/PCGames. I plan to create a dummy drive called F:/ on Host, make an hardlink copy of all files in my host with size > 1Mb on F:/PCGames-clone, files <1mb will be copied instead of linked. I will use junction on the server to mount this cloned folder to F:/PcGames and since the files < 1mb are copied instead of linked, i'm confident that configuration files will still be independant so messing with resolutions and stuff will not impact on my host. If a game dont work, i just rename the folder, install it to F:/PCGames on the server, remove the folder and restore the linked one.

 

So, i still have work to do, but that's promising, there is a short video of bigbox runing on PS Vita though Moonlight

 

 

if you are doing something similar or need help, feel free to post and share your experience.

 

Is very interesting, it would be nice to have a step-by-step video tutorial for newbies ☺️

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...