在之前的文章 《Ubuntu 20.04 ffmpeg 添加 Intel 核显QSV加速支持》中介绍了如何配置 Linux 环境下的 Intel QSV 硬件加速。本文将再进一步,介绍如何在 PVE 中配置直通核显及在虚拟机中配置最新版本的Intel驱动及ffmpeg硬件加速。

PVE Intel 核显直通配置

首先需要安装好PVE,我所安装的PVE是6.4-9版本,不同版本的PVE配置有所不同,PVE 6版本的配置应该相同,可以根据自己的实际情况来对配置进行相应的修改。

其次是需要在主板中打开CPU虚拟化设置,打开VT-d选项。

以下为配置内容

在PVE Web界面中选中pve节点,然后选中 shell 面板,修改iommu配置文件: /etc/default/grub

# 将 GRUB_CMDLINE_LINUX_DEFAULT="quiet"
# 替换为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off,vesafb:off"

更新 grub

update-grub

模块加载配置:/etc/modules

# 文件末尾添加以下内容
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

驱动黑名单配置:/etc/modprobe.d/pve-blacklist.conf

# 添加以下内容
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915

获取显卡硬件id:

lspci -nn | grep -Ei 'vga|display'
>>
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 510 [8086:1902] (rev 06)

返回值中,8086:1902 即为显卡的硬件id。将其写入直通设备配置文件中 /etc/modprobe.d/vfio.conf

# 添加以下内容,id根据自己显卡实际修改
options vfio-pci ids=8086:1902

完成配置后,重启即可。如果有接显示屏,可以看到显示屏显示和之前不一样(没有出现PVE ip及登录指示),即为禁用驱动成功。

虚拟机

虚拟机我使用 ubuntu 20.04 的操作系统。在创建虚拟机时,添加PCI硬件,选中显卡,然后显示选项选择标准VGA(否则控制台则无法显示及虚拟机无法启动),CPU选择host模式,其他默认即可。

完成创建后,启动虚拟机完成系统安装即可。

Intel 驱动安装

在之前的文章里,直接使用 apt 安装 intel-media-va-driver-non-free ,但是这个并不是最新的版本,我们可以在 Intel 的官网上找到相应的文档,通过添加源来安装最新的版本。

General Purpose GPU Drivers for Linux* Operating Systems

登录上面地址,在页面中根据提示填入GPU的id,具体方法可以参考页面中的介绍或者上文提到的命令。然后选择操作系统,接下来根据下面的提示完成即可。

以下为我使用的G4400,HD510核显的操作:

sudo apt-get install -y gpg-agent wget
wget -qO - https://repositories.intel.com/graphics/intel-graphics.key |sudo apt-key add -
sudo apt-add-repository \'deb https://repositories.intel.com/graphics/ubuntu focal main'sudo apt update

驱动及相关软件安装

接下来,开始配置驱动及相关的库和软件。

Intel Media Driver for VAAPI 安装

Ps:Intel Media Driver for VAAPI 有对显卡有要求,我试过使用第四代Intel CPU安装,会导致安装失败,安装这个软件包需要显卡支持iHD才行,老CPU只支持i965 i915,请根据实际情况自行处理和选择。

sudo apt-get install libmfx1 libmfx-tools
sudo apt-get install libva-dev libmfx-dev intel-media-va-driver-non-free
sudo apt-get install vainfo

安装完成后,更改以下配置文件,一般为 .bashrc 如果安装了 zsh,则是 .zshrc

# 在文件末尾添加
export LIBVA_DRIVER_NAME=iHD

完成后,使用 vainfo 来检查是否成功。

sudo vainfo
>>
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.11.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_11
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.11 (libva 2.11.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 21.2.1 (12ca7a4)
vainfo: Supported profile and entrypointsVAProfileNone                   :  VAEntrypointVideoProcVAProfileNone                   :  VAEntrypointStatsVAProfileMPEG2Simple            :  VAEntrypointVLDVAProfileMPEG2Simple            :    VAEntrypointEncSliceVAProfileMPEG2Main              :   VAEntrypointVLDVAProfileMPEG2Main              :    VAEntrypointEncSliceVAProfileH264Main               :   VAEntrypointVLDVAProfileH264Main               :    VAEntrypointEncSliceVAProfileH264Main               :   VAEntrypointFEIVAProfileH264Main               :    VAEntrypointEncSliceLPVAProfileH264High               : VAEntrypointVLDVAProfileH264High               :    VAEntrypointEncSliceVAProfileH264High               :   VAEntrypointFEIVAProfileH264High               :    VAEntrypointEncSliceLPVAProfileVC1Simple              : VAEntrypointVLDVAProfileVC1Main                :    VAEntrypointVLDVAProfileVC1Advanced            :    VAEntrypointVLDVAProfileJPEGBaseline           :    VAEntrypointVLDVAProfileJPEGBaseline           :    VAEntrypointEncPictureVAProfileH264ConstrainedBaseline: VAEntrypointVLDVAProfileH264ConstrainedBaseline:    VAEntrypointEncSliceVAProfileH264ConstrainedBaseline:   VAEntrypointFEIVAProfileH264ConstrainedBaseline:    VAEntrypointEncSliceLPVAProfileVP8Version0_3          : VAEntrypointVLDVAProfileHEVCMain               :    VAEntrypointVLDVAProfileHEVCMain               :    VAEntrypointEncSliceVAProfileHEVCMain               :   VAEntrypointFEI

Intel Media SDK 编译

首先安装所需要的依赖:

sudo apt-get install git cmake pkg-config build-essential
sudo apt-get install meson libdrm-dev automake libtool

然后下载 MSDK 源码

git clone https://github.com/Intel-Media-SDK/MediaSDK msdk

进入目录:

cd msdk

接下来就可以开始编译了:

mkdir build && cd build
cmake ..
make# 如果没有报错,可以执行安装
sudo make install

安装完成后,需要再完善以下环境变量的配置,同样修改 .bashrc 或者 .zshrc

# 在文件末尾添加
export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/
export LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri/
export LD_LIBRARY_PATH=/opt/intel/mediasdk/lib/

ffmpeg编译安装

完成上述步骤,就可以开始 ffmpeg 编译了。

首先还是先下载源码:

git clone https://github.com/ffmpeg/ffmpeg

这里默认编译的是最新的开发版,一般为了稳定,我们可以选择上一个稳定版,可以在 Github 页面上找到,比如我们想要 n4.4 版本的 ffmpeg,就可以找到对应的 commit dc91b91。

cd ffmpeg
git checkout dc91b91

接下来可以开始编译:

cd ffmpeg
./configure --arch=x86_64 --disable-yasm --enable-vaapi --enable-libmfx
make -j8# 如果没有报错 即可安装
sudo make install

到这里,我们的 全部步骤都已经完成了。

最后,可以测试一下 ffmpeg 是否能正常已经安装好了 qsv:

ffmpeg -codecs | grep qs
>>
ffmpeg version n4.4 Copyright (c) 2000-2021 the FFmpeg developersbuilt with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)configuration: --arch=x86_64 --disable-yasm --enable-vaapi --enable-libmfxlibavutil      56. 70.100 / 56. 70.100libavcodec     58.134.100 / 58.134.100libavformat    58. 76.100 / 58. 76.100libavdevice    58. 13.100 / 58. 13.100libavfilter     7.110.100 /  7.110.100libswscale      5.  9.100 /  5.  9.100libswresample   3.  9.100 /  3.  9.100D.V.L. av1                  Alliance for Open Media AV1 (decoders: av1 av1_qsv )DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_v4l2m2m h264_qsv ) (encoders: h264_qsv h264_v4l2m2m h264_vaapi )DEV.L. hevc                 H.265 / HEVC (High Efficiency Video Coding) (decoders: hevc hevc_qsv hevc_v4l2m2m ) (encoders: hevc_qsv hevc_v4l2m2m hevc_vaapi )DEVIL. mjpeg                Motion JPEG (decoders: mjpeg mjpeg_qsv ) (encoders: mjpeg mjpeg_qsv mjpeg_vaapi )DEV.L. mpeg2video           MPEG-2 video (decoders: mpeg2video mpegvideo mpeg2_v4l2m2m mpeg2_qsv ) (encoders: mpeg2video mpeg2_qsv mpeg2_vaapi )D.V.L. vc1                  SMPTE VC-1 (decoders: vc1 vc1_qsv vc1_v4l2m2m )DEV.L. vp8                  On2 VP8 (decoders: vp8 vp8_v4l2m2m vp8_qsv ) (encoders: vp8_v4l2m2m vp8_vaapi )DEV.L. vp9                  Google VP9 (decoders: vp9 vp9_v4l2m2m vp9_qsv ) (encoders: vp9_vaapi vp9_qsv )

可以看到,我们到这里就完成了所有配置。

Tips

为了方便日后卸载重装软件,建议可以保留源码文件及 build 文件,删除只需要进入文件夹,执行 sudo make uninstall 及可完成卸载。

为了方便观察GPU的使用情况,可以安装 intel-gpu-tools ,具体如下:

sudo apt install intel-gpu-tools# 查看GPU 使用情况
sudo intel_gpu_top
>>
intel-gpu-top -  512/ 526 MHz;    0% RC6; ----- (null);     1496 irqs/sIMC reads:   ------ (null)/sIMC writes:   ------ (null)/sENGINE      BUSY                                      MI_SEMA MI_WAITRender/3D/0   61.68% |█████████████████████▌             |      4%      0%Blitter/0    0.00% |                                   |      0%      0%Video/0   68.50% |███████████████████████▉           |     40%      0%VideoEnhance/0    0.00% |                                   |      0%      0%# 使用 Ctrl+C 退出

总结

本文从PVE直通显卡开始,到如何配置驱动及相关软件、库的编译安装,到最后编译ffmpeg,基本涵盖了大部分配置中可能遇到的问题。希望本文对你有帮助。

如果觉得文章对你有帮助,请不要忘记点赞、收藏、关注哦。

PVE直通Intel核显虚拟机配置ffmpeg-qsv硬件加速相关推荐

  1. Ubuntu20.04 ffmpeg添加 Intel核显QSV加速支持

    背景介绍 ffmpeg 是一款非常常用的视频编码解码工具,而且 ffmpeg是支持 NV 显卡硬件加速以及 Intel 核显的 QSV 加速.在 Window 下,使用 ffmpeg 的 qsv 加速 ...

  2. UnRaid利用iGVT-g插件实现Nas宿主机、虚拟机同时使用intel核显输出或硬解(硬件加速)功能

    文章目录 0.前言 1.准备工作 1.1.1台用intel处理器的组建的Nas主机(UnRaid系统必须是6.9.2及以上) 1.2.1台或多台显示器 1.3.1个DisplayLink转接器(USB ...

  3. 学计算机用锐龙,开学装机:3000元AMD锐龙5,2400G核显电脑配置推荐

    AMD锐龙R5 2400G对标的是Intel平台八代酷睿i5 8400,CPU性能虽然弱一些,但多线程与核显优势明显,并且价格更便宜,显得更具性价比.同样,这套平台装机很灵活,不配独显就可以满足不少主 ...

  4. 文明6游戏 linux,《文明6》正式支持Linux/SteamOS 但不支持Intel核显和A卡

    2K旗下策略游戏"文明"系列最新作<文明6>正式登陆Linux/SteamOS平台,在<文明6>的Steam页面上显示其已经支持Linux和SteamOS版 ...

  5. 桌面窗口管理器dwm.exe内存过高,intel核显内存泄漏问题(附核显升级链接)

    系统 win10笔记本 intel核显630 问题概述 电脑长时间运行后突然变得很卡,打开任务管理器后发现[桌面窗口管理器]占内存过高,甚至能吃10个G,如图: 分析 查询各种论坛后基本确定问题为内存 ...

  6. Intel核显--OpenCL环境--Linux

    Machine :Intel Xeon i7 6700(core) + Intel HD Graphics 530(skyLake) +Linux (CentOS 7.2或7.3,我的7.3)+ecl ...

  7. VPU?APU?GPU?折腾从AMD-GPU回到Intel核显+OpenCL+Linux环境搭建

    大神说: 也就是说APU比较适合计算部分少,但传输耗时多的情况:而GPU相反. 请注意APU的一些细节, 如何才能做到无传输. 因为APU上稍微不注意, 按照传统写法很容易造成一次内存内部的传输的. ...

  8. 重装Intel核显后,设备管理器英特尔显卡属性这里报告了一个未启动设备(igfx)

    问题: 卸载了Intel集显之后,重装,发现外接显示器无法被识别并显示页面 在设备管理器里面,右键核显的属性,查看事件,显示"未启动设备(igfx)" 解决方案: 右键集显,点击& ...

  9. 第一代intel核显id:0046的10.9驱动安装详解(转)

    一代0046 intel核显hd1000m 10.8的驱动已经失效了,开不了QE/CI的 从tonymac找来的驱动,并完善一下 直接上驱动啦 安装步骤务必按照顺序进行,不然是驱动不起来的 第一步:首 ...

  10. 台式机ubuntu,使用intel核显作显示输出,nvidia独显做cuda运算

    问题来源: 将显示线插到独显上安装完ubuntu之后装完nvidia显卡驱动,使用nvidia-smi命令会发现Xorg和compiz两个服务占用了一部分显存,随着ubuntu不关机使用越来越久,甚至 ...

最新文章

  1. dhcp报文_动态地址分配DHCP,IP地址管理方式及分配原则,一分钟了解下
  2. 从Netflix的Hystrix框架理解服务熔断和服务降级
  3. SpringBoot Actuator监控【转】
  4. ITK:分段线性曲线的数据结构
  5. CSS:你真的会用 z-index 吗?
  6. DRUID连接池的简单使用
  7. 微信jssdk遇到的一些问题汇总
  8. 微课|玩转Python轻松过二级(3.2节):元组与生成器推导式
  9. 去除eclipse打开后不断update的问题
  10. php object 对象不存在。增加对象_《相亲者女》:找一个匹配的对象,但永远不存在...
  11. Jfinal的七牛云存储插件:qiniuPlugin for jfinal.
  12. 2017广州大学计算机组成原理,广州大学松田学院计算机组成原理复习题(仅供参考).doc...
  13. OpenCV-Python官方教程-20-分水岭算法图像分割
  14. VS2022配置FreeImage - Windows
  15. 微软发起手机操作系统新战役
  16. 长春市建筑物矢量数据(Shp格式+带高度)
  17. pta然后是几点c语言
  18. 如何选择分布式事务解决方案
  19. Java码农进阶之路~环境及特点
  20. mount命令使用详解

热门文章

  1. 转一个国外程序员辞职自己做广告应用的经历贴
  2. swf转换为GIF格式
  3. 员工工号怎么编码_员工编号管理制度
  4. 实时渲染——三种渲染方法介绍
  5. 减少OpenCV读取高分辨率图像的时间
  6. vs2010 sp1安装
  7. CruiseControl服务器安装配置
  8. SmtpJS 几行代码实现javascript发送邮件(记录)
  9. 通过QQ邮箱中转站分享文件
  10. 全球互联网进入后美国时代:在世界互联网大会上的演讲