A卡的话,我的电脑需要修改grub.cfg将Linux启动命令行的gfxmode那一行删除掉,否则Linux启动会花屏,不知道其他人有没有这个现象。
另外现在有一个较为简单的办法,可以不用自己费劲去安装VAAPI和XVBA后端,参见这个帖子
http://www.stehem.net/2012/05/09/how-to ... D-GPU.html
【2012年11月03日更新】
对于VAAPI的安装,我认为ryoohki的
这个帖子
讲的还是蛮不错的。以下文章很多来自他的原文,在此十分感谢。我也是站在巨人的肩膀上提出一点自己的看法。
一、首先给大家理顺VAAPI里面各种软件包的主次关系
libva:也就是传说中的VAAPI,是一个开放源代码的提供硬件解码功能的模块;
va-i965-driver:Intel显卡的VAAPI后端,负责连接Intel显示卡驱动与VAAPI。
xvba-video:AMD/ATi显卡的VAAPI后端,负责连接AMD/ATi显示卡驱动与VAAPI。
vdpau:NV显卡的VAAPI后端
,负责连接NV显示卡驱动与VAAPI。
这样大家在后边的流程中就会知道自己应该安装哪些软件包了。
二、接下来就开始了。
a、对于NV显卡,vdpau在软件源里面应该就有,基本无需折腾。如果Ubuntu版本比较老源里面没有请参见下文。
b、对于Intel显卡,对AMD/ATi显卡请参见下文。
1、
安装AMD显卡官方驱动
请注意,如果你的AMD显卡是2000/3000/4000系列,催化剂Catalyst 12.6是目前最新的驱动。自2012年7月起,AMD新发布的驱动将不再支持2000/3000/4000系列,除非发现有多到连AMD都看不下去的BUG或者出现重大安全漏洞。
请前往AMD官网下载,如果觉得下载速度缓慢,请移步驱动之家:
http://drivers.mydrivers.com/drivers/44 ... 000-12.6-/
卸载、安装显卡驱动,建议在CLI字符界面下进行!
12.6驱动的安装还是建议先生成DEB包再安装。生成DEB包的办法是
代码:
全选
sudo /路径/amd-XXXXX-x86-x64.run --buildpkg Ubuntu/你的系统开发代号
然后重启在Recovery Mode的字符界面下安装生成的四个DEB文件。
安装完毕后请在终端执行
代码:
全选
aticonfig --initial
[/b]
重启命令很简单
或者
代码:
全选
sudo shutdown -r now
对于AMD/ATi显卡,请尤其注意你的驱动版本。开源驱动并不支持VAAPI,因此你需要安装官方闭源驱动。
AMD显卡用户需要使用以下命令确保你的驱动已经正常安装
代码:
全选
cat /var/log/Xorg.0.log | grep UVD
正常的输出结果应该是
(II) fglrx(0): UVD2 feature is available
或者
[ 2758.873] (II) fglrx(0): UVD feature is enabled(II) fglrx(0):
总之是有内容输出的而非空白就好,这证明你已经正常安装AMD/ATi官方驱动。
2、建立mplayer编译依赖的环境
首先卸载可能已经安装的系统源里边的VAAPI及其
后端(见前文)
。其中VAAPI包括libva1 , libva-dev等软件包。
然后执行以下命令构建mplayer编译环境:
代码:
全选
sudo apt-get build-dep mplayer
确保这一步执行过程中没有出现什么错误。
3、安装
可用的
VAAPI以及其后端,非常重要!
这一步是本文的关键所在,大家的眼睛可要睁大哦~
本文以AMD/ATi显卡为例,但是我会在关键点告诉大家需要注意的地方,以保证本文的通用性。
有关本节所提到的软件包,可以去Launchpad搜索下载:
https://launchpad.net/ubuntu/
需要安装的软件包有:
显示卡驱动与VAAPI的接口:
AMD/ATi显卡:xvba:
https://launchpad.net/ubuntu/+source/xvba-video
Intel显卡:i965-va-driver: 源里面应该会有。
NV显卡:请用Synaptic软件包管理器搜索安装vadpu,源里面应该会有。
VAAPI开源硬件解码模块:
libva1, libva-dev, libva-x11-1, libva-glx1, libva-tpi1, vainfo:
https://launchpad.net/ubuntu/+source/libva/1.0.12-2
安装DEB建议在字符界面下,因为如果出错可以看到详细错误信息,安装指令为:
代码:
全选
sudo dpkg -i 要安装的DEB软件包所在路径
由于每个人使用的Ubuntu版本不一样,我无法推荐一个确定的版本。如果你使用的版本较新,那建议你用最新的稳定版,如果你用的是10.04LTS版或者类似的,建议选用较老的稳定版本。选择的原则是容易满足依赖关系,系统GLIBC版本满足要求。需要注意的是libva1, libva-dev, libva-x11-1, libva-glx1, libva-tpi1, vainfo的版本必须完全一致。如果是Intel显卡,那么i965-va-driver的版本也需要跟上述软件包完全一致,如果是NV的或者AMD/ATi的,建议选择容易满足依赖关系的稳定版本。
我所选择的版本信息仅供参考:
UBUNTU SERVER 10.04.4 LTS running on Thinkpad SL410
xvba:0.7.8-1ubuntu3
其他:1.0.12-2
安装完了吧,试试你安装成功了没有:
成功的话,应该输出类似这样的结果,附有你的后端支持硬件解码的格式清单
libva: libva version 0.31.1-sds1
Xlib: extension "XFree86-DRI" missing on display ":0.0".
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
Xlib: extension "XFree86-DRI" missing on display ":0.0".
libva: va_openDriver() returns 0
vainfo: VA API version: 0.31
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.7.8
vainfo: Supported profile and entrypoints
VAProfileH264High : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
如果输出的是
libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so (这里的
/路径/文件
不同版本可能不一样)
libva: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
说明VAAPI没有找到那个,显示卡驱动与VAAPI的接口,解决办法也非常简单。
找到『显示卡驱动与VAAPI的接口』的那个软件包,例如xvba,直接右键选择解压缩Extract,看到有data.tar.gz和control.tar.gz,请解压缩data.tar.gz。然后在其中的usr文件夹下的lib文件夹下的某某(某某视不同版本而不同)文件夹下,有两个文件,都是so后缀,其中一个文件图标上带箭头,是链接文件,请把这个文件重命名为
文件
(就是刚才终端显示的那个
文件
)复制到你的主目录,然后打开终端执行命令把这个链接文件拷贝到需要的地方
注意这里的
文件
和
路径
要按你的实际显示替换哦~
然后你再执行命令vainfo,应该就可以看到正常的输出了,VAAPI终于可以调用驱动进行硬件解码了。
4、安装新版VLC播放器,支持硬解码!
先说一个简单的,请直接在源里面安装最新版本VLC播放器。
对于老版本的Ubuntu,你的软件源里的VLC不是最新,请移布官网下载。
代码:
全选
sudo apt-get install vlc mozilla-plugins-vlc
安装完毕后,请在终端输入vlc启动程序,之所以在终端启动是便于查看调试信息。
点击工具菜单,选择首选项,在『输入与编码器』选项卡,如果你的VAAPI正常安装,那么『使用GPU加速(实验性功能)』默认已经勾选,如果没有默认勾选,通常说明你的安装出现了问题,VLC无法正常调用。
请打开一个视频文件,如果正常播放而没有出现花屏、程序崩溃、Xorg宕机的话,那么几乎说明你已经成功了,这时你可以在终端里看到这一段调试信息
libva: libva version 0.31.1-sds1
Xlib: extension "XFree86-DRI" missing on display ":0.0".
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
Xlib: extension "XFree86-DRI" missing on display ":0.0".
libva: va_openDriver() returns 0
xvba_video: XVBA_GetSurface(): status 2
[0xb721d1f4] avcodec decoder: Using VA API version 0.31 for hardware decoding.
调试信息告诉我们,VLC已经成功探测到了VAAPI并且正常调用。
我的AMD Mobility Radeon HD4570显卡,目前可以正常解码8bit H264/AVC High Profile的文件,VC-1编码和MPEG2编码未测试。
最后祝大家都可以成功!!
上次由
02015678
在 2012-11-19 21:14,总共编辑 8 次。
代码:
全选
a、对于NV显卡,vdpau应该有无需编译就实现硬解码的本领,不建议继续折腾;
最新的mplayer已经移除了直接使用vdpau的支持,所以N卡还是需要vaapi来间接使用vdpau的,当然不追新也没关系
2、mplayer跟QT4有关系啊,不信你把QT4删除看看能编译mplayer不。肯定会提示你如果没有QT4,请在编译命令后面加上禁止QT skin的参数,具体的提示记不清了。而且QT4跟VLC也很有关系。
杯具了 10.04按照Linux Graphics Drivers from Intel的教程怎么也不成功 崩溃了
简单实现方法
http://www.ubuntuupdates.org/packages/show/249923
这个里面填加ppa
新立得里面 安装 libva1 libva-dev libva-x11-1 libva-tpi1 libva-glx1 vainfo i965-va-driver
这是 intel显卡的安装方式
我的显卡太菜硬解不能。。。还是要回win。。。
用xbmc解也是卡的不行 显卡是intel 4500mhd 唉 没办法
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。