Nvidia Linux 驱动 180.06试用
时间:2008-11-16 来源:galeki
前两天 Nvidia 刚刚发布了 177.82 的 Linux 驱动,转眼间,Nvidia 又将带有许多新特性的 180.06 beta 驱动呈现给广大 Linux 用户,这阵子 Nvidia 的用户比较幸福 。
你可以在这里下载最新的 180.06 驱动,x86_64 的在这里。
官方的更新内容如下:
Release Highlights
-
Added support for CUDA 2.1.
-
Added initial support for PureVideo-like features on Linux via the new VDPAU API (see the vdpau.h header file installed withthe driver).
-
Added new workstation performance optimizations.
-
Enabled the X Render "GlyphCache" by default.
-
Disabled shared memory X pixmaps by default; see the“AllowSHMPixmaps" option.
-
Fixed a regression that could result in window decorationcorruption when running Compiz using Geforce 6 and 7 series GPUs.
-
Improved X pixmap placement on GeForce 8 series and later GPUs.
-
Improved compatibility with recent Linux kernels.
-
Improved stability on some GeForce 8 series and newer GPUs.
除了将一些 170 时代需要手动加入的优化参数设置为默认值之外,还针对 GeForce 8 系列进行了一些列的性能优化。
我本地的显卡为 8600GTS,用 Gtkperf 来测试 2D 性能,相比之前大概快了 20%:
1000 rounds 的 Gtkperf 测试,之前要大概 55s,现在只要 40s 。
对于 Firefox 渲染慢,和正在用 KDE4 的同学,180.06 的驱动值得一试~
当然这个并不是 180.06 的重点,想必大家已经知道了,180 中最重要的更新就是新增的 VDPAU API 接口,可以给 Linux 提供类似于 PureVideo 的视频硬件加速功能~ 这样在 Linux 下,也可以轻松流畅的播放巨型的 H264 之类的视频了~
使用 Nvidia 打过 VDPAU 补丁的 Mplayer,就可以体验一下 VDPAU 的魅力啦~ 安装这个补丁版的 Mplayer 方法如下:
先下载补丁文件: mplayer-vdpau-3076399.tar.bz2
解压之后进入 mplayer-vdpau-3076399 目录,之后执行:
这个脚本会自动从 svn 上迁出对应版本的 Mplayer 和解码库,然后自动开始编译。
如果你在编译中碰到了类似下面的错误:
libx264.c:230: error: 'struct <anonymous>' has no member named 'b_bidir_me'
libx264.c:231: error: 'struct <anonymous>' has no member named 'b_bframe_rdo'
libx264.c:256: error: 'struct <anonymous>' has no member named 'psz_rc_eq'
make[1]: *** [libx264.o] Error 1
那么可以按照下面的方法临时解决:
首先在 mplayer-vdpau/libavcodec/libx264.c 这个源代码文件中,删除下面的行:
x4->params.analyse.b_bframe_rdo = avctx->flags2 & CODEC_FLAG2_BRDO;
x4->params.rc.psz_rc_eq = avctx->rc_eq;
然后将:
替换为:
这样应该可以正确编译安装,如果还是出错,先确认下系统中是否装有 Mplayer 所需的库,也可以尝试降级 GCC,如果还是未果,可以去这个帖子查看或者询问其他的解决办法。
编译好新的 Mplayer 之后,就可以尝试用新的 VDPAU 接口播放视频文件了:
./mplayer -vo vdpau -vc ffh264vdpau xxxxx.h264 // 播放 H.264 文件
./mplayer -vo vdpau -vc ffwmv3vdpau xxxxx.wmv // 播放 WMV3 文件
./mplayer -vo vdpau -vc ffvc1vdpau xxxxx.wmv // 播放 VC-1 文件
不同的视频文件类型,需要通过 -vc 参数指定不同的解码库, -vo vdpau 即是使用最新的 VDPAU 接口来输出视频图像了~
不幸的是,我硬盘上唯一的一个 H264 文件播放失败,只好去下载了一个 H264 测试视频 ,播放的效果相当令人满意。
在不使用 VDPAU 的情况下,播放这个文件时,CPU 占用率保持在 20% 左右,使用了 VDPAU 之后,CPU 的占用率几乎为 0 ~
另外的一个 VC-1 测试视频,播放 CPU 占用率也从之前的 60%,降低到 15% 左右。对于在 Linux 看高清视频的人来说,是绝对的福音~
你也可以去看看 Phoronix 的详细评测。
当然,并不是所有型号的 Nvidia 显卡都支持这个 VDPAU,你可以阅读这个 PureVideo Support Table,来查看不同 Nvidia 显卡对各种视频格式的加速支持情况,但这只是 Windiows 驱动的支持情况,Linux 驱动目前似乎只支持在 Geforce 8 系列及以上的显卡上使用 VDPAU 功能。
总的来说,180.06 的确让人惊喜,只要你的 Nvidia 显卡不是太老,都能从中获得更好的体验。驱动的更新频率也很让人欣慰,希望能够早日和 Windows 下的驱动相媲美 。