您尚未登录。

#1 2024-03-06 16:28:59

Mircelzes
会员
注册时间: 2023-05-05
帖子: 2

[solved]在qemu/kvm虚拟机中使用xbox手柄

环境:
hw:
CPU: R7 5800H
GPU1: RTX 3060 Mobile
GPU2:AMD 集显

Memory: 16GiB

-host
-内核:6.7.8-zen1-1zen
-qemu-x86_64: 8.2.1
-virt-manager: 4.1.0

-guest: win10 22h2 / win11 23hx - 24hx

问题描述:
        我在我的笔记本上装了一个windows的虚拟机,把n卡直通了,用virt manager把usb的键盘、声卡、数位板、鼠标传给vm,都正常工作。但是我用有线的方式把xbox series x 的手柄接到笔记本上,用同样的方式添加xbox controller,结果是插入和拔下(在virt manager中添加/删除设备)有系统提示音,手柄灯会亮,但是怎么按手柄都没有反应。打开各种测试软件都会提示系统未检测到手柄。但是设备管理器中是有 xbox 外设这一项的。

我自己的尝试:
        -- 排查usb接口和线材问题
        首先我尝试了笔记本上的每个usb口,一个usb 2.0 两个 usb 3.1 以及type-c外接拓展坞上的四个usb3.0,接其他设备可以正常使用,只有手柄不行。线材也是同样的情况。
        -- 排查手柄本身问题
        我在host上安装了linux下的xbox手柄驱动,通过 cat /dev/input/by-id/ 下的 event 文件可以确认手柄可以在arch 下正常输入。
        在另一台只安装了windows10 的设备上插入手柄,西瓜键按下会有反应,且会弹出xbox相关软件,测试输入正常。
        -- 排查os版本问题
        我以相同的步骤创建win10和win11虚拟机、直通设备的操作,复现相同的错误。

猜测可能的解决方案:
        根据 https://wiki.archlinux.org/title/PCI_pa … h_via_OVMF 以pci方式直通usb,但是如果我想给host留一个usb接口的话需要分割 iommu 组,我不知道会不会引入更多的错误。

有大佬可以看看怎么解决吗

最近编辑记录 Mircelzes (2024-03-06 22:41:10)

离线

#2 2024-03-06 21:18:24

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,495
个人网站

Re: [solved]在qemu/kvm虚拟机中使用xbox手柄

虚拟机里装个 Linux 系统,添加设备之后看两边的内核日志。

在线

#3 2024-03-06 22:37:38

Mircelzes
会员
注册时间: 2023-05-05
帖子: 2

Re: [solved]在qemu/kvm虚拟机中使用xbox手柄

依云 说:

虚拟机里装个 Linux 系统,添加设备之后看两边的内核日志。

!!!感谢!!!终于定位到问题了。我原本担心host和guest都装驱动会出奇奇怪怪的问题,于是卸载了host的手柄驱动,结果两边都不接收输入了。装回 aur 里的 xone-dkms 后可以了:)

离线

页脚