Wednesday 7 August 2024

VirtualHere on piCorePlayer

This is niche...

I'm in the middle of building a DIY music streamer based around piCorePlayer on a Raspberry Pi with a HiFiBerry Digi+ Pro HAT. This will live in my main AV rack and output to my AV Processor.

I selected PiCorePlayer as I already run a Logitech Media Server (LMS) and have a few squeezebox devices, so that OS is a good fit for me.

I also have an Elgato StreamDeck that I purchased some time ago that I'd like to use in my Home Cinema. This device has a bunch of customisable buttons that I intend to configure with shortcuts for lighting, av system power etc. 

The issue I have is that the StreamDeck needs to be plugged in to a PC via USB for configuration and operation. I don't have a PC nearby, and would ideally like to manage it from a Virtual Windows machine, but that runs on my Unraid server in a different building.

It would be great to be able to use the Pi in my DIY streamer to somehow relay the StreamDeck to my VM.

I came across some VirtualHere software that appeared to do just that. This runs a 'server' on a computer that you can plug USB devices into, and a 'client; on a remote machine. The client can connect to the USB devices as if they were local. 

There is a linux/arm server for PIs available, and a Windows client. The problem is how to install it on PiCorePlayer, which is based on Tiny Core Linux (TCL), and while it supports extensions and the like, is fairly locked down, and ultimately runs in RAM with no persistent storage out of the box.

It took a while, but I finally came up with a somewhat bodged solution.....