Re: [分享] GPU Passthrough设定及一些眉角分享

楼主: AKSN74 (AKS-74n)   2021-06-30 20:14:00
这边再分享几个后续的部分,包括原本提到的会BSOD的问题
BSOD问题的解决
这个后来有找到问题的症结点,不过也是我在reddit发文求救后10几天的回应上试出来的
主要是因为有在guest OS上装MSI Afterburner的关系
必须要把选项中的"Enable low-level IO driver"这个选项给停用
停用后把硬盘bus都换成virtio-scsi并测试,就没再遇到BSOD的状况
算是终于解决了BSOD的问题
至于GPU-Z显示PCI-E通道异常的问题,后来也有问到那是会有的状况,无解
也跟我遇到的BSOD状况无关
USB控制器Passthrough
通常键盘、鼠标、USB DAC等这些没这么复杂的USB装置用libusb连通到VM内就正常
但一些多功能且复杂的比如接手机,libusb的连通功能就会有问题
比如接iPhone时,若启用相片档案连接模式时,会先中断并以该模式重新连接
但libusb会以为该装置已离线,导致变换模式后VM反而无法再联系到手机
因此若要完整地在KVM上发挥USB功能,最好方法是把主机板上的USB控制器连通进VM内
而AMD的B550与X570上的USB 3.1控制器刚好又是独立的IOMMU群组
能够直接透过VFIO连通进VM内使用
音效连通
这部分后来我也有找到方法了,基本上就是Pulseaudio的连通方式
做法上与以前相比差异也不大,并且就算是已经改使用Pipewire-Pulseaudio模式也可用
可以去找看看Archwiki关于VFIO的部分,里面有一章就是讲这个
唯一要注意的是QEMU在存取pulseaudio的时候可能会被Apparmor或SELinux阻挡
可以透过dmesg或是audit.log查看,有发现就把相关档案列为白名单即可
另外Pulseaudio有分ICH9以及usb-audio两种模式
后者的音质比较好,但使用后者的情况下会无法使用host端的麦克风,需要留意
单萤幕多输入+单组键鼠的额外方案
前面有提到looking-glass,可以直接在Host端直接连上windows guest
可以操作且游戏游玩也很流畅的专案
缺点则是会吃重Guest端的CPU以及GPU效能
如果萤幕本身有多个输入来源可以接,但又不想要额外买一组键鼠分别给两端用
且担心looking-glass会影响到VM的游戏效能的话,则可以使用evdev的方式
参考教学:https://passthroughpo.st/using-evdev-passthrough-seamless-vm-input/
(长度刚好就不缩了)
若要在两边切换输入,只需要同时按左右Ctrl就可以切换了,很方便
但使用这方式在挂接时需要留意两点
1. 电竞键鼠等有额外功能键可用的,会需要同时挂载至少两个input event进来
像我的键盘是K70 LUX、鼠标是G502,都要把两个event给挂进来,功能才都正常
这两个在/dev/input中的样子:
https://i.imgur.com/axCUUgj.png
写进XML内的样子
https://i.imgur.com/AikkxQw.png
可以看到两个我都把event-kbd、event-mouse、还有前面带有if01字缀的都带进去了
像G502必须要挂if01-event-kbd,它的侧边按键等才能在VM内作用
而K70则相反,必须要两个都挂,否则VM内打字没反应
2. 使用这方式还需要注意权限问题,主要要设定/etc/libvirt/qemu.conf
针对cgroup还有user这两个选项做设定
不过文章内说的需要把user改成root这说法,其实也可以改成当前user
只是该user必须要先加入进input这个group内就是了
另外这个同样也会遇到被Apparmor/SELinux阻挡的问题,因此也一样需要设定白名单
关于上Windows 11的部分
这个最近我跟的Discord群组也有些大老在尝试这部分,而以下是目前共同整理出来的点
1. 多数情况下TPM是必须的,而这个在比较新的QEMU还有libvirt都已经支援
可以新增虚拟的TPM装置到VM内,经过一些验证是可以装Win11的
2. 需要TPM的同时也需要Secure Boot。这个目前OVMF已经有支援
但要注意部分Linux Distro自己所提供的OVMF不见得完整,有可能不会有
或者是有提供但里面的Secure Boot编译上不完整
大约是这样,多一些GPU挂VM的额外功能参考
作者: Kitten1156 (Frank_kitten)   2021-07-02 19:22:00
推 我都还用实体键切萤幕鼠标键盘

Links booklink

Contact Us: admin [ a t ] ucptt.com