Xbox Oneコントローラを介してUbuntuのWindows VMにどのように渡しますか?

Xbox Oneコントローラを介してUbuntuのWindows VMにどのように渡しますか?

GPUパススルーで仮想マシンを起動しましたが、Xbox Oneゲームパッドを仮想マシンに渡すのに問題があることを除いて、ほぼ完全に機能しました。

を使用していますが、qemu-system-x86_64コントローラのlsusb出力は次のようになります。

Bus 003 Device 022: ID 045e:02ea Microsoft Corp.

私のUSBコマンドは

-usb -usb-host,vendorid=0x045e,productid=0x02ea

qemuウィンドウが表示され続けます

libusb: error [udev_hotplug_event] ignoring udev action bind
qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
libusb: error [_get_usbfs_fd] File doesn't exist, wait 10 ms and try again
libusb: error [_get_usbfs_fd] libusb couldn't open USB device
    /dev/bus/usb/003/016: No such file or directory

Win10 VMの内部では、新しいUSBデバイスが接続されたときに通知を聞くことができますが、デバイスが切断されるとすぐに通知が聞こえます。

これらのエラーを解決する方法を知っている人はいますか?

修正する:

バス3の正しいデバイスバス/アドレス、アドレス22をポイントしようとしましたが、動作しませんでした。 lsusbバスとデバイス番号はどちらもデフォルトの10なので、libusbが存在しないデバイスファイルをターゲットにする理由はわかりません。

アップデート2:

有線Xbox 360コントローラが正常に動作します。 Xbox Oneコントローラについてはまだ混乱しています。 Xbox Oneコントローラはワイヤレスコントローラですが、USBケーブルを介してマイコンピュータに接続されています。

答え1

同じエラーが発生しましたが、ドライバを無効にしてxpadQemumodprobe.dに再初期化すると、私に合った解決策が見つかりました。

これが私がしたことです(私のFedoraシステムでは異なるかもしれません)。ファイルに次の行を追加しました/etc/modprobe.d/vfio.conf

blacklist xpad

この技術の詳細については、こちらをご覧ください。https://wiki.archlinux.org/index.php/Kernel_module#Blacklisting

関連情報