pve 直通独显之 PCIE 插槽问题

2022-07-08 12:02:21 +08:00
 hanssx

硬件

MATX 主板微星 B660M 迫击炮,2 个 PCIE X16 ,不过他们是不一样的,

PCIE_1 号是挨着 CPU 的,与 CPU 直通,且是 PCIE 4 ;

PCIE_2 号与芯片组相通,且是 PCIE 3

pve

版本:最新版本 7.2-5

当显卡插在 PCIE_1 号的时候,可以成功直通到 win10 虚拟机;

当显卡插在 PCIE_2 号的时候,无法成功直通到 win10 虚拟机。

pve 相关配置,除去 grub 配置不一样外,其他配置均一样:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=vesafb:off,efifb:off"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on pcie_acs_override=downstream,multifunction video=vesafb:off,efifb:off"

多了这么一个配置 pcie_acs_override=downstream,multifunction 因为如果不加这个配置,则会有另外一个设备和显卡(06:00.0)在一个 iommu 分组,

当加了这个配置的时候,就会成功分开组,只有显卡自己在一个分组,

虚拟机

版本:windows10 ltsc 2019

相关配置(加了直通显卡,最后一项 hostpci0)

勾选了除 GPU 之外的其他 3 项,

问题(需求)

因为要插 2 块显卡做直通,所以是要用到与芯片组相通的那个 PCIE_2 号插槽, 现在如果是 PCIE_2 号的显卡做直通,直通完之后 win10 第一次启动会崩溃,

然后第二次启动直接黑屏,qm stop <虚拟机 ID>之后,会出现这种 BUG ,网上查询说 CPU 繁忙,出现这种 BUG 复现成功率很高,因为我试了几次都是这样,需要等一段时间才会消失,应该是和 win10 虚拟机有关,

猜测

猜测和 PCIE_2 号是与芯片组相通有关,但是不知道怎么做才能解决,网上搜了好像也没有人解决,难道只能换主板? MAXT 主板好像 Z690 系列的也没有找到 2 个 PCIE X16 都是与 CPU 直通的。。。

3344 次点击
所在节点    Linux
13 条回复
feather12315
2022-07-08 12:33:34 +08:00
不能用 PCIE_1 吗?
sidkang
2022-07-08 12:46:39 +08:00
最好补充一下 dmesg log
suriv520
2022-07-08 13:04:55 +08:00
这种情况与主板的设计有关,你的 PCIe2 有可能不是直连 CPU 通道的,而是走芯片组。
GoRoad
2022-07-09 10:54:56 +08:00
hanssx
2022-07-10 12:58:57 +08:00
@sidkang 我把硬件全部先装好之后,重装了 PVE ,目前在 Linux 中直通又遇到了问题,还在解决中。Linux 是可以识别到硬件的,只是提示这儿,
[Imgur]( )
@GoRoad
这个我看了,应该是不需要,尝试加了也没用。
GoRoad
2022-07-11 09:57:42 +08:00
@hanssx #5 你的 linux 是不是可以识别到显卡,但是装驱动后检测不出来 是这样吗
hanssx
2022-07-11 14:10:05 +08:00
@GoRoad 是的,就是我 5L 里面那个图,显卡是可以识别的,但是无论你怎么装驱动,虚拟机开机还是会提示那个图,无论是 PCIE_1 还是 PCIE_2 的显卡,你 4L 给俺的配置俺试过了好像不行。

我装的 Linux Mint 20.3(相当于 Ubuntu 20),然后网上搜索,无论是升级到最新内核 5.15 ,还是在 /etc/下某个文件(具体忘了,现在解决问题的电脑没在身边)中加入一些配置,仍然没有效果,还在尝试摸索中。
GoRoad
2022-07-11 18:40:24 +08:00
@hanssx #7 你的虚拟机是 uefi 启动的吗,那你对应的 pcie 口也应该是 efi 模式,如果这两个启动模式不一致 那就会出现显卡可以检测出来,但是驱动加载不了显卡
hanssx
2022-07-11 20:12:44 +08:00
@GoRoad 是的,是 uefi 启动的,pcie 也有这种模式?那 pcie 怎么设置呀。
hanssx
2022-07-11 20:41:46 +08:00
难不成只能尝试做 VBIOS ?还没弄过,我研究一下。
hanssx
2022-07-11 20:59:54 +08:00
按照 https://pve.proxmox.com/wiki/Pci_passthrough#GPU_OVMF_PCI_Passthrough_.28recommended.29
我都尝试了,包括切换到 q35+PCIE ,添加 x-vga=on (也就是勾选主显示器),都不行。
目前在学习弄 VBIOS ,看看加载 VBIOS 行不行,期望能行,如果不行就难受了。
hanssx
2022-07-11 22:05:09 +08:00
@GoRoad 成功了,哈哈,PCIE_2 在 Linux 下也可用了。
更新内核
写入 /etc/modules
```
nvidia
nvidia-drm
nvidia-modeset
```
pve 虚拟机显示设置为“无”
GoRoad
2022-07-12 11:32:15 +08:00
@hanssx #12 看来玩 pve 还得是服务器级别的主板,我用的超微的主板 除了 efi 设置之外别的啥也不用管 按照官方教程就行了。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/864897

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX