Any good alternatives to VirtualHere?
I'll start by saying that there's nothing wrong with how VirtualHere functions. I have used it for a couple years on my nvidia shield while streaming games from my pc and it's perfect for what I need. The problem I have encountered is that I'm no longer using the shield and have transitioned my entire setup to use a raspberry pi 4 instead because the shields wifi becoming more unstable with every update nvidia pushes.
I would love to continue just using VirtualHere, but I've just learned that the developer does not allow a license transfer for any reason so my $50 license is completely useless now that the shield is gone. Knowing that the license is non-transferable makes me unlikely to ever spend money on it again because I cannot guarantee how long these devices will last and $50 is far too steep for a single device private use license on any software. My primary use case is with a moonlight/sunshine setup which can handle the controller inputs just fine after a little bit of input file tinkering.
The things I absolutely cannot figure out how to make work without VirtualHere is a Dolphin bar that is used for Wii/WiiU games and the gamecube controller to usb adapters. I've seen people mention using usbip, but I haven't been able to find any reasonable explanation or documentation on how to actually use usbip without fully configuring it every time the device reboots.
I'm not against the idea of a more manual setup. I just need something that once it's configured will allow passthrough of any usb device from a raspberry pi to a windows machine and not charge me a fortune every time I need to swap hardware in the future. I'd be willing to pay for similar software if it was a little more reasonably priced for what I'm doing.
I've not used this myself, but here's the approach I would take:
An active fork of the USBIP driver for windows has instructions.
Pair that with a systemd unit to do the bindings on startup, and I think it might do the trick.
You might also need to create a powershell script as a scheduled job to insure all the things are attached on the client side properly. The stackoverflow answer mentions Consul, but I'm not familiar with it.
I might actually try this out, as this is why I had given up on a cloud gaming setup awhile back. I loved using Parsec, but the inability to easily use a Steam controller properly ruined it. Especially since this predated Steam having the multiplayer screen play. It seems they might do USB passthrough now as well, which would seriously make me consider trying again.
I'll mess around with the service method in that SO post when I get a little bit of free time, thanks.
The binds expiring sounds like it could be annoying, but I think that could be worked around given my use case.
I've also tried parsec for gaming in the past and I never could figure out how to get rid of the horrid input latency. I always had to choose between responsive input or decent video. Maybe it's better now. Parsec being disappointing was actually what led me to finding moonlight and I couldn't be happier with it (unless it included full USB passthrough).
I never noticed problems with Parsec, but I was also just using it to stream Magic Arena to my phone at work and commute and had low expectations. My other uses of it were all wired and I was seeing less tham 10ms of additional latency.
It also helped that I had fiber internet at the time.