Mike Banon:
It's strange that you got a variable degree of this USB issue at different laptops, it should've been the same regardless of your dGPU type. Seems to be a Qubes-only problem, a bit random, and might be possible to fix if you'd read a note here - http://dangerousprototypes.com/docs/Lenovo_G505S_hacking#TODO_list . Here's a copy-paste :
" 2) Both XHCI options in Coreboot menu should be disabled (unless you'd like to add the XHCI firmware) or the left side ports won't work at all. These options are already disabled by default and all the ports are functioning as USB 2.0.
awokd tells:
"You may have to use irqpoll in sys-usb kernel options with Qubes OS. USB interrupts don't seem to be routing correctly in Coreboot, and the only way to use them in Qubes is with irqpoll in the kernel options." "
Perhaps awokd knows more about this issue, you could try to e-mail him directly.
Not much more than I wrote there. When I look at log messages, I see the VM trying to send interrupt #s that don't exist. Not sure how to troubleshoot further (am open to suggestions!), but irqpoll worked well enough. Maybe different GPUs have different interrupt tables, and the one supplied doesn't fit all? They each have slightly different revisions of the G505s board.