康耐信(CncTion)论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1343|回复: 1

PVE配置显卡等硬件直通

[复制链接]

3

主题

17

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 2023-9-18 09:08:59 | 显示全部楼层 |阅读模式
确认自己的CPU主板是否支持VT-d功能
intel要b75以上芯片组才支持直通,也就是4代酷睿处理器以上都支持。AMD不明,但是较新的板U都没问题。
需要注意的是,开启vt-d才能io虚拟化,AMD平台是iommu,某些OEM主板上叫SRIOV。
开启iommu#编辑grub,不要盲目改。根据自己的环境,选择设置nano /etc/default/grub#在里面找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet"#然后修改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"#如果是amd cpu请改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"#如果是需要显卡直通,建议在cmdline再加一句video=vesafbff video=efifbff video=simplefbff,加了之后,pve重启进内核后停留在一个画面,这是正常情况GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt video=vesafbff video=efifbff video=simplefbff"
修改完成之后,直接更新grub
update-grub
加载相应的内核模块
echo vfio >> /etc/modulesecho vfio_iommu_type1 >> /etc/modulesecho vfio_pci >> /etc/modulesecho vfio_virqfd >> /etc/modules
更新内核参数
update-initramfs -k all -u
更新完成,重启主机
验证是否开启iommu
在PVE的shell中输入
dmesg | grep iommu
出现以下例子,则代表成功
[    0.355702] pci 0000:00:00.0: Adding to iommu group 0[    0.355713] pci 0000:00:01.0: Adding to iommu group 1[    0.355721] pci 0000:00:02.0: Adding to iommu group 2[    0.355729] pci 0000:00:08.0: Adding to iommu group 3[    0.355742] pci 0000:00:14.0: Adding to iommu group 4
接着输入命令,出现直通组则代表成功,没有直通组就是没有开启
find /sys/kernel/iommu_groups/ -type l 显卡直通
理论上AMD RADEON 5xxx, 6xxx, 7xxx, Navi 5XXX(XT), NVIDIA GEFORCE 7, 8, GTX 4xx, 5xx, 6xx, 7xx, 9xx, 10xx and RTX 16xx/20xx/30xx都可以成功直通。
但是对于NVIDIA显卡,建议使用9代以上中端卡直通,且使用最新的驱动。
对于AMD的APU3/5系列核显/RX4XX/5XX/6XXX均无法完美直通。
下篇文章会讲GVT-g技术虚拟显卡,更适合只有核显的用户。
直接屏蔽显卡驱动#直通AMD显卡,使用下面命令echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf echo "blacklist amdgpu" >> /etc/modprobe.d/blacklist.conf #直通NVIDIA显卡,使用下面命令echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf #直通INTEL核显,使用下面命令,注意!如果使用Gvt-G,请不要使用下面的命令echo "blacklist snd_hda_intel" >> /etc/modprobe.d/blacklist.conf echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/blacklist.conf echo "blacklist i915" >> /etc/modprobe.d/blacklist.conf 把显卡绑定到vfio-pci
使用lspci 查看自己的显卡PCI地址,如02:00
使用lspci -n 查看显卡的did和vid。我这边是02:00,可以看到下面输出
root@pve1:~# lspci -n00:00.0 0600: 8086:3ec4 (rev 0a)00:01.0 0604: 8086:1901 (rev 0a)00:02.0 0300: 8086:3e9b00:14.0 0c03: 8086:a12f (rev 31)00:17.0 0106: 8086:a102 (rev 31)00:1c.0 0604: 8086:a114 (rev f1)00:1d.0 0604: 8086:a118 (rev f1)00:1d.2 0604: 8086:a11a (rev f1)00:1d.3 0604: 8086:a11b (rev f1)00:1f.0 0601: 8086:a148 (rev 31)00:1f.2 0580: 8086:a121 (rev 31)00:1f.3 0403: 8086:a170 (rev 31)00:1f.4 0c05: 8086:a123 (rev 31)00:1f.6 0200: 8086:15b8 (rev 31)01:00.0 0200: 15b3:100302:00.0 0100: 10de:1381 (rev 03)02:00.1 0100: 10de:0fbc (rev 03)03:00.0 0108: 8086:f1a6 (rev 03)04:00.0 0604: 1b21:1080 (rev 04)
02:00.0 02:00.1一个是GPU,一个是声卡,两者都要一起直通,所以通过命令,把2者都绑定到vfio-pci上
echo "options vfio-pci ids=10de:1381,10de:0fbc" > /etc/modprobe.d/vfio.conf#注意,上面这条命令,ids=后面跟直通组的所有设备。中间以英文逗号隔开。自己的设备自己替换。
上述操作完成之后,再检查一下,是否将例子内容替换成自己的。使用以下命令查看。
cat /etc/modprobe.d/blacklist.confcat /etc/modprobe.d/vfio.conf更新内核
对于nvidia显卡,需要
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.confupdate-initramfs -k all -u
随后重启,显卡直通完成。
核显直通
如果想要核显显示到显示器。虚拟机请使用Seabios,机型为i440fx并且在bios中开启CSM。估摸着核显需要到pci的00:02位置才能亮。
目前IGD( Intel Graphics Device)直通理论上支持3代酷睿以上。但是从目前的直通结果看,比较容易的是5代-10代。3-4代直通成功概率低,受多方面影响。11代及其之后,直到目前,也能正常直通,建议11代以上,升级到内核6.2,再直通。
基于5-10代的CPU核显和11-13代直通给linux。请优先以下面这种方式直通
针对于qemu-sever大于6.2-3版本,就是pve6.3以上版本。
将bios改成seabios,机器类型选择i440fx,使用传统模式装好系统,开启远程。
将显卡设置成无,在核显后面添加legacy-igd=1,如hostpci0: 0000:00:02.0,legacy-igd=1。此时机器会出现显示器画面。如果出现画面,但是核显不能正确驱动,
添加一个args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=1 -set device.hostpci0.x-igd-opregion=on
最后的配置文件,加上声卡可以参考如下:
args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=1 -set device.hostpci0.x-igd-opregion=onhostpci0: 0000:00:02.0,legacy-igd=1hostpci1: 0000:00:1f.3machine: pc-i440fx-7.2
回复

使用道具 举报

0

主题

18

帖子

120

积分

注册会员

Rank: 2

积分
120
发表于 2024-2-29 20:02:21 来自手机 | 显示全部楼层
我的是J4125.直通能用hdmi连接到显示器上,但是直通核显设备管理器里面怎么也没有,这个怎么弄啊。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|康耐信(CncTion) ( 粤ICP备19035475号 )

GMT+8, 2024-5-25 22:20 , Processed in 0.093538 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表