Xbox controller on Linux with xpadneo with onboard Intel AX210
Most basic steps are detailed in the ArchWiki, here are just some more details, which helped me.
ArchWiki section: Gamepad - ArchWiki
My bluetooth adapter uses the same IOMMU groups as a lot of other devices, so VFIO wasn’t usable.
1. Install xpadneo-dkms
E.g. on Arch with yay:
yay xpadneo-dkms
2. Install and setup win10/11 VM in QEMU/KVM
Some changes required for USB passthrough to work. Source reddit comment Other Reddit thread
In the xml update the schema and add capability to the end:
<domain xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0" type="kvm">
<devices>
...
</devices>
<qemu:capabilities>
<qemu:del capability="usb-host.hostdevice"/>
</qemu:capabilities>
</domain>
Then Add hardware -> USB Host device -> The bluetooth adapter
3. Pair devices in Windows
Push the connect button, pair controller the normal way
Shut down the VM
4. Pair devices in Linux
Push the connect button, pair controller the normal way
Now it works!