我读过关于 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
以及amd
archWiki 页面统计
您应该为英特尔安装以下软件包
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