pve 直通独显之 PCIE 插槽问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
hanssx
V2EX    Linux

pve 直通独显之 PCIE 插槽问题

  •  
  •   hanssx 2022-07-08 12:02:21 +08:00 3872 次点击
    这是一个创建于 1269 天前的主题,其中的信息可能已经有所发展或是发生改变。

    硬件

    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 配置不一样外,其他配置均一样:

    • 当显卡插在 PCIE_1 号的时候,
    GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=vesafb:off,efifb:off" 
    • 当显卡插在 PCIE_2 号的时候,
    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 分组,

    Imgur

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

    Imgur

    虚拟机

    版本:windows10 ltsc 2019

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

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

    Imgur

    问题(需求)

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

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

    猜测

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

    13 条回复    2022-07-12 11:32:15 +08:00
    feather12315
        1
    feather12315  
       2022-07-08 12:33:34 +08:00 via Android
    不能用 PCIE_1 吗?
    sidkang
        2
    sidkang  
       2022-07-08 12:46:39 +08:00 via Android
    最好补充一下 dmesg log
    suriv520
        3
    suriv520  
       2022-07-08 13:04:55 +08:00
    这种情况与主板的设计有关,你的 PCIe2 有可能不是直连 CPU 通道的,而是走芯片组。
    hanssx
        5
    hanssx  
    OP
       2022-07-10 12:58:57 +08:00
    @sidkang 我把硬件全部先装好之后,重装了 PVE ,目前在 Linux 中直通又遇到了问题,还在解决中。Linux 是可以识别到硬件的,只是提示这儿,
    [Imgur]( )
    @GoRoad
    这个我看了,应该是不需要,尝试加了也没用。
    GoRoad
        6
    GoRoad  
       2022-07-11 09:57:42 +08:00
    @hanssx #5 你的 linux 是不是可以识别到显卡,但是装驱动后检测不出来 是这样吗
    hanssx
        7
    hanssx  
    OP
       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
        8
    GoRoad  
       2022-07-11 18:40:24 +08:00
    @hanssx #7 你的虚拟机是 uefi 启动的吗,那你对应的 pcie 口也应该是 efi 模式,如果这两个启动模式不一致 那就会出现显卡可以检测出来,但是驱动加载不了显卡
    hanssx
        9
    hanssx  
    OP
       2022-07-11 20:12:44 +08:00
    @GoRoad 是的,是 uefi 启动的,pcie 也有这种模式?那 pcie 怎么设置呀。
    hanssx
        10
    hanssx  
    OP
       2022-07-11 20:41:46 +08:00
    难不成只能尝试做 VBIOS ?还没弄过,我研究一下。
    hanssx
        11
    hanssx  
    OP
       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
        12
    hanssx  
    OP
       2022-07-11 22:05:09 +08:00
    @GoRoad 成功了,哈哈,PCIE_2 在 Linux 下也可用了。
    更新内核
    写入 /etc/modules
    ```
    nvidia
    nvidia-drm
    nvidia-modeset
    ```
    pve 虚拟机显示设置为“无”
    GoRoad
        13
    GoRoad  
       2022-07-12 11:32:15 +08:00
    @hanssx #12 看来玩 pve 还得是服务器级别的主板,我用的超微的主板 除了 efi 设置之外别的啥也不用管 按照官方教程就行了。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5257 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 01:35 PVG 09:35 LAX 17:35 JFK 20:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86