如何为非 Nvidia 卡启用 VDPAU 硬件视频加速支持?

如何为非 Nvidia 卡启用 VDPAU 硬件视频加速支持?

我读过关于 VDPAU 以及它如何使 mplayer 具有硬件加速的信息。但我还读到它仅适用于 Nvidia 卡

我怎样才能在非 Nvidia 卡上启用它(我的是 AMD 卡,但我也想在 Intel 上网本上启用它)?这对其他视频播放器也有效吗?

答案1

VDPAU 是一个编程接口 (API),允许将图形渲染卸载到图形芯片组,而不是由 CPU 本身处理。

它是开源的 - 最初由 Nvidia 自己制作,并支持其当前的大多数显卡。

维基百科有一篇关于此的精彩文章:

S3 Graphics 自其 Linux 设备驱动程序 14.02.17 版本起在其 Chrome 400 显卡的 Linux 驱动程序中添加了对 VDPAU 的支持,它支持 S3 Chrome 430 GT、S3 Chrome 440 GTX、S3 Chrome 530 GT 和 S3 Chrome 540 GTX 硬件。

Intel 和 ATI 目前不支持 VDPAU。Nvidia 希望这些 GPU 设计人员能够支持开源 VDPAU 库,并通过提及 Intel 和 ATI 硬件特定驱动程序的示例名称(libvdpau_intel.so 和 libvdpau_ati.so)来提供具有 VDPAU 加速的驱动程序。

英特尔目前支持他们自己的竞争对手 API 称为VA-API

ATI/Radeon 正集中精力开发他们的 Catalyst 驱动程序 - 他们又有他们的自己的API称为 XVBA,但仅通过其 Catalyst 驱动程序受支持。

Phoronix 在过去几个月中一直在报道另一个 API 的开发,称为镓三维状态追踪- 这是旨在统一主要芯片组 - Intel、ATI/Radeon 和 NVidia。简单来说(据我所知) - 它试图将 API 覆盖在 VA-API、VDPAU 等之上。因此,您针对 Gallium API 进行编程,它会将其转换为竞争对手的 API。

其中大部分是前沿技术代码 - 不稳定,您经常需要编译代码等才能跟上最新发展。X-Edgers PPA 是最新发展的良好来源 -文章在这里描述了安装开源 radeon 驱动程序并强制使用 Gallium3D。

回到主题...正如您所看到的,Linux 中的图形目前是破碎的(有些人称之为混乱!) - 因此目前最好的解决方案是使用尝试实现竞争 API 的媒体播放器,例如 MPlayer。


更新

以上是过去... 2011年 目前 2015年,VDPAU 得到了支持,intel以及amdarchWiki 页面统计

您应该为英特尔安装以下软件包

sudo apt-get install libvdpau-va-gl1 i965-va-driver

但看起来有一个在 Ubuntu 14.04 和 14.10 上打开错误同样,所以找不到库...例如。 vlc 通过以下错误:

Failed to open VDPAU backend i965_drv_video.so: cannot open shared object file: No such file or directory

在错误页面中有一个解决方法,我不会在这里解决它,因为即使我应用它,视频也无法在 vlc 中播放(看起来库坏了)

答案2

很长一段时间我遭受了Flash播放器在我的基于英特尔的笔记本电脑上的性能。一段时间后,我决定努力一下,并创建了通过 OpenGL 实现 VDPAU 接口的包装库。在具有 VA-API 的系统上(比如我拥有的系统),它还可以加速视频解码。整个 VDPAU 功能的一半或三分之一已经实现,但这足以让两者Flash播放器播放器工作。

你可以在 github 上找到代码:https://github.com/i-rinat/libvdpau-va-gl

相关内容