Using remote kvm for Qubes automated testing

This post is going to be half advertisment (for a product I’m not selling) and half contribution offer. If you don’t care about the ad then just scroll down

First the ad part.
Check out PiKVM. PiKVM is an open source remote kvm that allows for full remote control of a pc on hardware level, it provides a virtual display, keyboard, mouse and cd drive to the controlled machine, has the ability to remotely press the power buttons (using an addon board connected to the front panel header). It’s main use case is of course remote server management but the video latency is low enough that it can be reasonable used to control a desktop system. With an addition of an external kvm switch it can be used to control multiple devices (up to 16, depending on the switch used)

Now, why did I start with the ad? I happen to own a PiKVM and a 4 device switch, and have a few spare devices connected to it
As my contribution to the project I’d like to use those machines (and the remote management provided by PiKVM) to run Qubes automated tests. I know that Qubes already has an automation farm but these tests run in nested VMs under KVM instead of on real hardware therefore they’re not completely representative of hardware anyone would actually run Qubes on. I’m already using one of the boxes to run Qubes 4.1 system-level tests and the whole setup works quite well aside from the fact that all virtual devices are provided over USB so the system cannot use disk encryption but that’s not that big of a deal for test machines.
If necessary I can also provide a VPN connection to the PiKVM web interface in case somebody from the dev team needed remote access to any of the boxes.

Additionally, if someone much more skilled with Python than me were to integrate OpenQA with the PiKVM it would also be possible to run automated installation tests on real hardware instead of KVM. PiKVM already provides a raw video feed over vnc or webrtc and has pretty extensive rest api for cli control