Queries while testing RPi4 -> RPi


We have purchased a VirtualHere license to perform some benchmarking (currently using RPi4 to RPi4 but end device will use another A72 style part). Our network is a 1000Mbps link. I have a few questions after performing some tests:

1) Was the limitation mentioned in this forum thread with isochronous devices still present? Would it affect two separate isochronous devices (running over VirtualHere simultaneously) if one was a webcam and the other one was only an audio device (instead of two high bandwidth devices like webcams)?

2) We are testing with a Microsoft Surface Hub (84" gen 1 type) with the 'touchback' controller. If I type lsusb on the server I can see the two Microsoft devices but these do not show up in the list of client devices to connect to - is this expected for this class of device or was there anything I should try to debug this issue?

3) In the un-optimized version of the server I noticed that if the webcam data was too high (using Huddly Go 720p camera in YUV422 mode with default compression limit of 384) then the device seems to stall after 10 seconds or so (the viewer captures the last frame and hangs requiring a restart of the VirtualHere client in most instances). Running in lower resolution, without compression or with the RPi 'optimized' server all worked much better (no freezing). This seems like some kind of CPU loading issue and if we move to a 1080p camera I'm worried we might hit whatever limit we were hitting before - is there any way to check what is causing this 'freezing' of the video virtualized from the webcam?

4) Out of interest, is there an optimized version of the client available for RPi4?




1. I suspect there may be issues, it depends if the USB packets used for audio are large or small. The larger the better - the sizing depends on the audio mode selected by the OS driver on the client side. Its hard to say exactly, you will need to just give it a test and see. If you are going to combine isochronous devices on the same server and want the best performance, ideally you would put them on separate USB buses (i.e if the SOC has separate USB ports on the CPU)

2. Can you paste in here the section of output of lsusb -v for those two microsoft devices. So neither of those devices show up in virtualhere?

3. Yes thats not surprising, the optimized version of the virtualhere server will use more specific registers of the A72 and therefore be faster.

VirtualHere just sends the usb signal between the client and server and so its not virtualhere that is freezing. It might be the delay in frames being received due to a cpu bottleneck and the webcam driver on the client side doesn't handle this latency and just locks.

4. Are you using the 64-bit kernel on the pi4 or a 32-bit kernel? Then i know which to build the optimized client for


Thanks for your responses.

So after a power cycle of both the RPi server and the USB device the touchback device now seems to be working so we can forget about that issue.

I am using 32-bit kernel on the RPi4 client.


Sorry also forgot to ask, is the the GUI client or the console client you are using on your pi4?