24
12月
2021
16:20

设置硬件视频加速:简要说明

24 12月 2021 16:20

在我的上网本(具有 1 个处理核心的 AMD C-30 处理器、AMD Radeon HD 6250 显卡 - Unified Video Decoder 2.3,支持硬件视频解码 H.264 和 VC-1)上,我配置了视频输出加速,分享我的经验。

对于硬件加速视频播放,必须满足三个条件:
1)硬件加速由于图形适配器支持硬件加速和图形适配器驱动程序,
2)启用VA和VDPAU(需要检查它们是否已启用),
3 ) 设置 Mozilla Firefox 网络浏览器

我按照[https://wiki.archlinux.org/title/]上的指南进行操作
硬件视频加速#ATI/AMD](https://wiki.archlinux.org/title/Hardware_video_acceleration#ATI/AMD)

按顺序:

1)安装必要的软件包(因为我的笔记本电脑中有 AMD 显卡 - 我使用了该软件包 xserver-xorg-amdgpu,对于集成英特尔显卡,您将需要该软件包 intel-prime )。

仅适用于 Ubuntu/Linux Mint:

sudo apt install ubuntu-restricted-extras linux-firmware 

(其中 ubuntu-restricted-extras 包包含 Ubuntu 的视频和音频编解码器、字体等,
linux-firmware - Ubuntu Linux 内核驱动程序的固件)。

对于所有 Linux 操作系统:

sudo apt-get install mpv lshw vainfo vdpauinfo libegl-mesa0 libgl1-mesa-dri libglu1-mesa libglx-mesa0 mesa-utils mesa-utils-bin mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers

(其中 mpv 包是视频播放器,lshw 是硬件报告输出,vainfo 和 vdpauinfo 是有关 VA 和 VDPAU 视频加速的信息,mesa-utils 和 mesa-utils-bin 包包含 glxinfo 和 glxgears 实用程序,mesa-va-drivers 包是用于视频加速的 Mesa VA-API 驱动程序,mesa-vdpau-drivers - 用于视频加速的 Mesa VDPAU 驱动程序, mesa-vulkan-drivers - 3D 图形驱动程序)。

对于现代 Debian 和 Sparky Linux,antiX 基于 Debian 13“trixie”:

sudo apt install firmware-linux mesa-libgallium

(其中firmware-linux是一个通过依赖项安装驱动和固件的包:firmware-linux-free、firmware-linux-nonfree、amd64-microcode、intel-microcode,可以与Linux内核中的驱动一起使用。Gallium是一个用于编写图形驱动程序的API)。

在最新版本的 Debian OS sid 中,用于视频加速的 mesa-va* 软件包将不再频繁使用,而是使用新的软件包 mesa-libgallium。 这不会影响运行 Nvidia 专有闭源驱动程序的用户。 他们有自己的库,libnvidia-decode。

如果是 AMD 显卡:

sudo apt-get install xserver-xorg-video-amdgpu 

如果是英特尔显卡:

sudo apt install intel-gpu-tools
sudo intel_gpu_top

Есл如果图形 英伟达- 或使用具有封闭源代码的专有驱动程序( “英伟达” ),或开源 -开源驱动程序“nouveau”。 这些驱动程序以不同的原理运行 - 非免费和免费,但可在 Nvidia GeForce 8、9、GeForce 9300、GeForce IGP、GeForce 200、300、400、500、600、700 系列显卡上播放 MPEG 1/2、H.264、VC-1、MPEG-4 视频格式。当使用带有 nouveau 驱动程序的处理器 Core2Duo 720p 视频播放时,CPU 负载为 60-80%,具体取决于网络浏览器。 如果您对此性能感到满意,则无需安装 nvidia 驱动程序并坚持使用 nouveau。 由于在Debian和Sparky Linux上安装nvidia驱动程序,antiX Linux很困难。

添加。 X服务器的配置,它向屏幕提供图形输出,位于文件夹中 /usr/share/X11/xorg.conf.d. 文件 /etc/X11/xorg.conf 可能不存在;现代操作系统不需要它。经验表明,有时需要这个 xorg.conf 文件(如果没有它,命令 inxi -Gxxinxi -G --extra 2 将无法工作)。,但在更改显卡或驱动程序时可能会产生干扰。要创建 /etc/X11/xorg.conf 文件,您需要重新启动,选择其他恢复选项(“高级恢复选项”/“恢复模式”)并进入“root”菜单,在其中运行命令:

X -configure
cp /root/xorg.conf.new /etc/X11/xorg.conf
reboot

如果启动操作系统时发生循环重启,请进入恢复选项(“高级恢复选项”/“恢复模式”),输入 root 密码,然后删除文件:

rm /etc/X11/xorg.conf

2)重新启动。 我们检查从互联网下载的任何视频(.mp4 文件)系统是否正常工作 硬件视频加速_(建议采取分辨率为720p或1080p的测试文件)。

视频文件示例: 示例 - MP4 文件 (https://thetestdata.com)- 建议上传 1080p 视频。

wget 视频文件 URL.mp4

mpv --hwdec=auto "filename.mp4" 

视频剪辑将开始在全屏窗口中播放。 您可以通过肉眼估计帧速率,看看是否有任何差距。
播放结束后,输入焦点将返回到终端,您需要在终端中读取最后两行:
如果有提及 瓦皮,然后是显卡和驱动的硬件加速 作品
如果视频播放是软件 - 将会出现有关缺少 libvdpau_va_gl.so 和其他错误的消息 - 这意味着视频加速 不起作用

如果出现播放错误,请使用inxi版本的显卡,并在网上寻找带有驱动程序的解决方案:

lspci | grep -i -E "display|VGA"
inxi -Gxxz

如果没有硬件视频加速,剩下的几点就没有意义;我们正在寻找第三方驱动程序(非免费)。
(例如,在 Ubuntu 20.04 中安装 nVidia 显卡驱动程序的指南 )。

为 Debian / Sparky Linux 安装 Nvidia 显卡驱动程序(非免费)

对于较旧的 Nvidia 显卡,过时的 nvidia-340 驱动程序适用,可以从 Nvidia 官方网站下载。 但不兼容5.4以上的内核。

软件包中的新驱动程序 550.163.02-2 nvidia-driver, nvidia-driver-bin, nvidia-driver-full 不适用于较旧的显卡。显卡支持/) - _不低于_GeForce GTX 750 Ti、GeForce GTX 750、GeForce GTX 745!

nvidia 340 驱动程序仅适用于 Linux 5.4 及以上版本的内核*-[“340.108 版本中添加了对 5.4 版及以上版本的 Linux 内核的支持。340. 系列中没有计划进一步发布。”](https://nvidia.custhelp.com/app/answers/detail/a_id/3142)。

在 Debian/Sparky 8.3 上安装 Nvidia 340 驱动程序失败,因为 Nvidia 340.xx 驱动程序与 Linux 内核 6.12 不兼容。
Nvidia 不再支持驱动程序 340,并且包含严重漏洞。
因此,Nvidia建议使用Nouveau驱动程序。


将 NVIDIA-Linux-x86_64-340.108.run 文件从“下载”文件夹移动到用户的主目录。

在安装驱动程序之前,禁用 Nouveau:

cat <<EOF | sudo tee /etc/modprobe.d/nvidia-blacklists-nouveau.conf
blacklist nouveau
options nouveau modeset=0
EOF

并重新启动:

sudo reboot

在 Grub2 菜单中

  • 进入恢复模式( Sparky GNU/Linux 的高级选项)-Sparky...(恢复模式)
    点击 “e”
  • 添加内核参数 无模式集 在安静无飞溅后排队
  • F10
  • 输入您的密码并运行命令:

    cd /home/user
    sh NVIDIA-Linux-x86_64-340.108.run

接受条款(左箭头 - “接受” - 按 Enter 键)。
如有必要,请选择:

  • 忽略 CC 版本检查- 输入。

Linux 上 Nvidia 驱动程序的安装将开始!

如果出现错误请按:

  • 确定(输入)

    reboot

如果由于某种原因您需要从恢复模式返回到 Nouveau 驱动程序(在 Grub2 菜单中选择):

sudo apt-get purge nvidia*
sudo apt-get install xserver-xorg-video-nouveau
sudo rm /etc/X11/xorg.conf
sudo modprobe nouveau
startx

对于antiX操作系统,它是经过大量修改的Debian,不建议使用任何来自互联网的说明或建议,而仅使用 AntiX论坛有关 antiX Linux 的常见问题

与 Nvidia 550 驱动程序和新 6.x 内核兼容的 Nvidia 显卡列表
nvidia550driver_compat.txt.zip

我的 Asus Eee PC 笔记本电脑(配备 AMD Radeon HD 6250 显卡)上的视频播放器中的硬件加速立即打开。
我继续...

万福检查

sudo apt-get install vainfo 
vainfo

输出应显示视频卡至少支持主要编解码器:mpeg2 和 h.264。

VAProfileH264等:

libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.6.0)
vainfo: Driver version: Mesa Gallium driver 21.2.6 for AMD PALM (DRM 2.50.0 / 5.4.0-139-generic, LLVM 12.0.0)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple : VAEntrypointVLD
      VAProfileMPEG2Main : VAEntrypointVLD
      VAProfileVC1Simple : VAEntrypointVLD
      VAProfileVC1Main : VAEntrypointVLD
      VAProfileVC1Advanced : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264Main : VAEntrypointVLD
      VAProfileH264High : VAEntrypointVLD
      VAProfileNone : VAEntrypointVideoProc

如果出现错误 "-1",则下载并安装 vdpau-va-驱动程序

注:VA是Intel开发的一种特殊的应用程序编程接口(API),用于使用硬件加速。 (视频加速API)。

VDPAU检查

grep -iE 'vdpau | dri driver' /var/log/Xorg.0.log

应该写成 VDPAU 安装驱动程序(在本例中为 RADEON):

[61.505](II)RADEON(0): [DRI2] DRI 驱动程序: r600
[61.505](II)RADEON(0): [DRI2] VDPAU 驱动程序: r600

注:VDPAU 是 Unix 上用于视频装饰的开源软件接口。 (Unix 下的视频解码和演示 API)


3) 设置 Mozilla FireFox 对于硬件 YouTube 视频播放:

检查 Firefox 中是否已启用并运行 WebRender 容器。

about:support

在“解决方案日志”部分,启用硬件加速后,应使用以下值:

  • HW/COMPOSITING 列 - 可用
  • WebRender 列 - 可用

一些配置调整:

about:config

我修改了以下参数:

  • gfx.webrender.all - true

  • gfx.x11-egl.force-enabled = true

  • layers.accelaration.force-enabled = true

  • layers.gpu-process.enabled = true

  • layers.gpu-process.force-enabled = true

  • media.ffmpeg.vaapi.enabled = true

  • media.rdd-ffmpeg.enabled = true

  • media.rdd-vpx.enabled** = false

  • media.av1.enabled = false

  • media.hardware-video-decoding.enabled = true

  • media.hardware-video-decoding.force-enabled = true

  • media.hardware-video-encoding.enabled = true

  • media.hardware-video-encoding.force-enabled = true

  • media.navigator.mediadatadecoder_vpx_enabled = true

  • media.peerconnection.video.vp9_enabled = false

  • widget.dmabuf.force-enabled = true

指定设置后,视频将以低 CPU 负载播放。

附:一些说明建议在 ~/.profile 文件中添加导出变量,这是针对 Wayland 或 Xorg 的说明。
参见 说明

例如,在 .bashrc 文件末尾添加

sudo nano ~/.bashrc 
  • 对于带有 libva-intel-driver 驱动程序的 Intel 显卡:

    export LIBVA_DRIVER_NAME=i965

  • 对于带有英特尔媒体驱动程序的英特尔显卡:

    export LIBVA_DRIVER_NAME=iHD

  • 对于带有 Nouveau 驱动程序的 Nvidia:

    export LIBVA_DRIVER_NAME=nouveau

  • 对于具有 Nvidia 驱动程序的 Nvidia:

    export LIBVA_DRIVER_NAME=nvidia

  • 对于 AMD Radeon:

    export LIBVA_DRIVER_NAME=radeonsi

4) 禁用窗口编辑器 康普顿 (消耗 CPU 资源 - 注释日期为 07/05/2024)并重新启动

 sudo apt remove compton && sudo shutdown -r now

在 Mozilla Firefox 中检查视频加速

about:support ->

  • HW_COMPOSITING,
  • HARDWARE_VIDEO_DECODING,
  • Codec Support Information -> Hardware Decoding

如果FireFox中的视频加速不起作用,您可以尝试VLC播放器。 其中,在高级设置工具-设置-全部中,可以启用视频-视频输出模块-通过OpenGL或VDPAU进行视频输出。 您可以使用 YouTube 视频链接作为来源(媒体 - 打开 URL),例如 https://youtube.com/shorts/vxOhtjx9Tng。

过去和现在是什么

  • 启用硬件视频加速之前:YouTube 未在窗口中播放(冻结帧,仅音频)。 单核处理器利用率约为90%。
  • 当AMD Radeon HD硬件加速启用时:视频在窗口中以480p视频播放,不跳过25fps,在全屏视频中为25fps;视频分辨率 720p 全屏 - 25fps;最大分辨率全高清 1080p - 帧速率约 25 fps(在播放开始时约 10-15 秒出现丢帧 - 每秒 10-15 帧)。

资料来源:

最后更改日期:07/07/2026



相关出版物