Hello Qubes community, this is my first time installing/using qubes. My experience so far has been great! During this time (about 1-week), there’s been numerous times I’ve been pleasantly surprised as things just worked out-of-box and way more painlessly than I initially expected (e.g. albeit not directly related to Qubes, NVIDIA virtualization driver support released earlier this year made GPU passthrough a breeze (AFAICT, still haven’t extensively tested)). My background is a little bit of linux, but my daily driver has been Windows since forever. I’m excited to finally make the switch, and QubesOS just looks like a dream come true for me. A bit of a side-note: the initiating reason for this switch was that my computer got killed (malware?) again, 4th time in like 5 years now, running in Windows 10. I know that sounds bad on my part. After all of this, it just seems obvious to step-up my security, learning and implementing and setting up a more secure system. So, I can already see a brighter future for me now security-wise thanks to Qubes, so thank you to everyone involved for this opportunity.
So as mentioned in the introduction, I’ve gotten along pretty well. I just have a few questions I couldn’t yet figure out or find information on and was wondering if others have information they could share or point me to the correct resource I could read.
These questions are all in the context of GPU passthrough to a Windows 10 LTSC VM created with qvm-create-windows-qube:
How are input peripherals normally handled between VMs, and how does GPU passthrough make things different in that regard? e.g. I’d like to send send key and mouse inputs to a VM, when it’s in the “shared gui” (for lack of a better word) this works out-of-box. But if using GPU passthrough to a VM displayed in a separate monitor, how do I send input to it? I’ve read some people suggesting passing through a whole separate USB controller to the VM. I’d like to understand why the GPU passthrough requires a different way of handling inputs, but unfortunately couldn’t find much information as I don’t really know the correct terms to search for here.
I’ve tried passing the USB controller according to the docs, but to no avail. I kept getting the error of something similar to “dom0 doesn’t expose device”. How’s this supposed to work with sys-usb? I’m guessing I need to prevent the controller from attaching to sys-usb but couldn’t figure out how to do that. Is this correct understanding, and if so how to accomplish that?
Ideally I could use a single keyboard to manage everything. So I’ve conceptualized a hardware setup and was wondering on it’s viability or if anyone has done something similar and has feedback. The idea is to take a usb keyboard, run it through a splitter-switch so it can switch between tow output ports, and on one output port attach a usb-> PS/2 adapter. A few concerns:
- According to wikipedia, PS/2 isn’t designed for hotplugging. Since I only plan on doing this with the keyboard, which is supposedly better suited compared to mice – I hope that if I use a switch, then the possible damage from hotplugging is eliminated? Is this correct understanding? I understand this is likely unable to be conclusively answered as it depends on hardware and stuff (I do have modern components), but was wondering in general if this just sounds stupid or a reasonable idea.
- I’ve read that the latest updates to qubes and/or QWT has enabled support for USB attachment. I couldn’t get this to work on 4.0.4 so I might try moving to 4.1. Was just wondering (apologies for all these questions), is there a convenient change-log summary for each Qubes release that one could read?