PVE开启硬件显卡直通功能
首先编辑GRUB配置文件:
root@pve:~# vim /etc/default/grub
root@pve:~#
root@pve:~# cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
root@pve:~#
开启IOMMU支持:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off"
如果是AMD的CPU:
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on video=efifb:off"
更新GRUB:
root@pve:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.11.22-5-pve
Found initrd image: /boot/initrd.img-5.11.22-5-pve
Found linux image: /boot/vmlinuz-5.11.22-4-pve
Found initrd image: /boot/initrd.img-5.11.22-4-pve
Found memtest86+ image: /boot/memtest86+.bin
Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
done
root@pve:~#
添加所需的系统模块(驱动):
root@pve:~#
root@pve:~# echo "vfio" >> /etc/modules
root@pve:~# echo "vfio_iommu_type1" >> /etc/modules
root@pve:~# echo "vfio_pci" >> /etc/modules
root@pve:~# echo "vfio_virqfd" >> /etc/modules
root@pve:~#
root@pve:~# cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Generated by sensors-detect on Fri Sep 24 17:22:44 2021
# Chip drivers
coretemp
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
接着添加模块(驱动)黑名单,即让GPU设备在下次系统启动之后不使用这些驱动,把设备腾出来给vfio驱动用:
Intel核显:
echo "blacklist snd_hda_intel" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist i915" >> /etc/modprobe.d/pve-blacklist.conf
N卡/A卡:
echo "blacklist nouveau" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist radeon" >> /etc/modprobe.d/pve-blacklist.conf
如果是N卡还需要加入下面的配置到kvm.conf(据老外说是避免一些莫名其妙的错误):
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
root@pve:~# echo "blacklist nouveau" >> /etc/modprobe.d/pve-blacklist.conf
root@pve:~# echo "blacklist radeon" >> /etc/modprobe.d/pve-blacklist.conf
root@pve:~#
root@pve:~# cat /etc/modprobe.d/pve-blacklist.conf
# This file contains a list of modules which are not supported by Proxmox VE
# nidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
blacklist nvidiafb
blacklist nouveau
blacklist radeon
root@pve:~#
root@pve:~# echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
root@pve:~#
root@pve:~# cat /etc/modprobe.d/kvm.conf
options kvm ignore_msrs=1
更新内核:
root@pve:~# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.11.22-5-pve
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.
root@pve:~#
重启机器:
root@pve:~# reboot
重启上来之后检查模块是否正常加载:
root@pve:~# lsmod | grep vfio
vfio_pci 57344 1
vfio_virqfd 16384 1 vfio_pci
irqbypass 16384 11 vfio_pci,kvm
vfio_iommu_type1 36864 1
vfio 36864 5 vfio_iommu_type1,vfio_pci
root@pve:~#
查看显卡
root@pve:~# lspci -nn | grep NV
86:00.0 3D controller [0302]: NVIDIA Corporation TU104GL [Tesla T4] [10de:1eb8] (rev a1)
root@pve:~#
root@pve:~#
查看显卡ID,写入到配置中
root@pve:~# lspci -n -s 86:00
86:00.0 0302: 10de:1eb8 (rev a1)
root@pve:~#
root@pve:~#
root@pve:~# echo "options vfio-pci ids=10de:1eb8" > /etc/modprobe.d/vfio.conf
root@pve:~#



https://blog.csdn.net/qq_33921750
https://my.oschina.net/u/3981543
https://www.zhihu.com/people/chen-bu-yun-2
https://segmentfault.com/u/hppyvyv6/articles
https://juejin.cn/user/3315782802482007
https://space.bilibili.com/352476552/article
https://cloud.tencent.com/developer/column/93230
知乎、CSDN、开源中国、思否、掘金、哔哩哔哩、腾讯云
PVE开启硬件显卡直通功能的更多相关文章
- 用CSS开启硬件加速来提高网站性能
国外一篇文章,有点意思,转载过来,准备尝试下~ 中文地址:http://www.cnblogs.com/rubylouvre/p/3471490.html 原文地址:http://blog.teamt ...
- 用CSS开启硬件加速来提高网站性能(转)
翻译文章,原文地址:http://blog.teamtreehouse.com/increase-your-sites-performance-with-hardware-accelerated-cs ...
- CSS开启硬件加速提高网站性能
国外一篇文章,有点意思,转载过来,准备尝试下~ 中文地址:http://www.cnblogs.com/yzw7489757/ 原文地址:http://blog.teamtreehouse.com/i ...
- 使用css来开启硬件加速来提高网站性能
一.什么是硬件加速 硬件加速就是将浏览器的渲染过程交给GPU处理,而不是使用自带的比较慢的渲染器,这样就可以使得animation与transition更加顺畅.我们可以在浏览器中用css开启硬件加速 ...
- clover 显卡注入功能详细讲解
13 March 2014 GraphicsInjector功能源于变色龙,不过比变色龙更加灵活,定制性更加强大.Intel的显卡 GMA950, X3100, HD300, HD4000被证实可 ...
- CSS3开启硬件加速
{ transform: translateZ(0); transform: translate3d(0,0,0);}<!-- transform: translateZ(0); transfo ...
- CentOS下Apache开启Gzip网页压缩功能
1.进入/etc/httpd/conf下打开httpd.conf文件 开启Gzip压缩功能,即去掉LoadModule deflate_module modules/mod_deflate.so这行前 ...
- CSS开启硬件加速 hardware accelerated
作者:孙志勇 微博 日期:2016年12月6日 一.时效性 所有信息都具有时效性.文章的价值,往往跟时间有很大关联.特别是技术类文章,请注意本文创建时间,如果本文过于久远,请读者酌情考量,莫要浪费时间 ...
- 开启windows的 admin+开启tel+电源+远程功能
1.控制面板 小图标 程序功能 打开关闭windows功能 开启Telnet 的服务两个都选 2. 启动tel服务 控制面板 小图标 管理工具 服务 找到 t ...
- Windows 同一时候开启核心显卡与独立显卡(不接显示器启动核芯显卡)
採用Mp4视频压缩格式编码时,非常耗CPU.所以决定上显卡.进行显卡加速.选择了Intel核心显卡进行视频编码加速,效果非常理想.但如今的问题是:在PC上如何同一时候开启核心显卡与独立显卡.经过几番周 ...
随机推荐
- 三大常用集群leader选举+哨兵模式原理
一,Zookeeper集群的leader选举 Zookeeper的选举机制两个触发条件:集群启动阶段和集群运行阶段leader挂机(这2种场景下选举的流程基本一致) 1,Zookeeper集群中的fo ...
- 数组扩展(Java)
Arrays类 基本介绍 数组的工具类java.util.Arrays 由于数组本身中没有什么方法可供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本操作 查 ...
- 源码安装RocketMQ4.x可视化控制台详细教程
下载源码 https://github.com/apache/rocketmq-externals 进入 roccketmq-console cd roccketmq-console 编译打包 mvn ...
- node.js 数据模拟
Node: js在服务端的一个运行环境 node框架:express koa egg (本文采用express) express: 是基于node的一个web框架 restful api:是目前流 ...
- 第一次作业:https://edu.cnblogs.com/campus/qdu/DS2020/homework/11165
大家好,我是信息与计算科学一班的刘宝龙.爱好是看动漫,玩游戏,听音乐,不喜欢户外运动,是一个二次元宅男.但是喜欢交朋友,希望能与班里所有的同学建立良好的同学关系. 自己的强项是与人的交流与沟通,还有遇 ...
- hdu:排列组合(指数型母函数)
Problem Description有n种物品,并且知道每种物品的数量.要求从中选出m件物品的排列数.例如有两种物品A,B,并且数量都是1,从中选2件物品,则排列有"AB",&q ...
- 关于ADB命令工具
android提供了不少命令行工具,方便我们调试和查看信息.下面是frameworks/base/cmds(android 6.0.1)中的命令. $ tree cmds -L 1 cmds am├─ ...
- MVCC原理
MVCC MVCC (Multi-Version Concurrency Control) ,即多版本并发控制,利用记录的版本链和ReadView,来控制并发事务访问相同记录时的行为.ReadView ...
- CSS选择艺术以及CSS文本样式
CSS选择的艺术1.css规则由两部分构成:选择器,声明(声明由属性和值构成且末尾跟一个分号)2.css注释:/*--*/3.CSS样式的引用(1)行内样式(内联样式)例如:<p style=& ...
- 运行npm报错:无法加载文件 D:\nodejs\node_global\webpack.ps1,因为在此系统上禁止运行脚本
npm报错 在 windows终端输入 vue init webpack app, 创建一个名为 app 的 Vue 项目时报错如下: 无法加载文件 D:\nodejs\node_global\web ...