LinuxGem
此处为老的 LinuxGem,新版 LinuxGem 请移步 www.linuxgem.org

试用 Nvidia Linux 驱动 180.06

galeki posted @ 2008年11月16日 09:49 in 系统与硬件管理 with tags linux 驱动 nvidia , 9613 阅读

前两天 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 目录,之后执行:

$ ./ checkout-patch-build.sh

这个脚本会自动从 svn 上迁出对应版本的 Mplayer 和解码库,然后自动开始编译。

如果你在编译中碰到了类似下面的错误:

libx264.c:165: error: 'x264_param_t' has no member named 'b_bframe_adaptive'
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_bidir_me = avctx->bidir_refine > 0;
x4->params.analyse.b_bframe_rdo = avctx->flags2 & CODEC_FLAG2_BRDO;
x4->params.rc.psz_rc_eq = avctx->rc_eq;

然后将:

x4->params.b_bframe_adaptive = avctx->b_frame_strategy;

替换为:

x4->params.i_bframe_adaptive = avctx->b_frame_strategy;

这样应该可以正确编译安装,如果还是出错,先确认下系统中是否装有 Mplayer 所需的库,也可以尝试降级 GCC,如果还是未果,可以去这个帖子查看或者询问其他的解决办法。

编译好新的 Mplayer 之后,就可以尝试用新的 VDPAU 接口播放视频文件了:

./mplayer -vo vdpau -vc ffmpeg12vdpau xxxxx.mpg     // 播放 MPEG 文件
./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 下的驱动相媲美 

YuLei666 说:
2008年11月16日 17:11

硬件解码是个好东西 不知道GF7300行不行 一会试试去

YuLei666 说:
2008年11月16日 18:04

果然不支持 显卡再次被鄙视。。。。
Error at libvo/vo_vdpau.c:179

算了,没法子了

lh 说:
2008年11月16日 19:43

居然是4核的cpu,米有可比性

ztt 说:
2008年11月17日 03:12

7系列的路过……

wzhy 说:
2008年11月17日 17:10

8600GT!我得回家试试!
谢谢您的介绍!

BreakDS 说:
2008年11月26日 06:13

试了,Debian lenny,装起来很顺利,但是装完以后进不去gdm
换成原来的xorg.conf就可以,但是说nvidia的驱动没有启动。。。
显卡是9600GT,难道不被支持?

Head_small
galeki 说:
2008年11月30日 01:32

9600 应该可以支持,新版的 180.08 可以吗?

BreakDS 说:
2008年11月30日 06:25

180.08我去看的时候已经没有的下载了,不知道为什么。
原来的180.06,在启动X的时候会说
(EE) Failed to load module "type1"
我不理解是怎么回事。

shili 说:
2008年12月01日 04:46

注释掉那type1模块试试看

BreakDS 说:
2008年12月01日 05:43

试过了,那样的话直接最后说不能载入nvidia模块。

Head_small
galeki 说:
2008年12月02日 05:48

@BreakDS: 完整的 xorg.conf 和错误信息是啥?

BreakDS 说:
2008年12月03日 06:21

Xorg.0.log里面和它相关的是这些:
(II) Setting vga for screen 0.
(**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
(==) NVIDIA(0): RGB weight 888
(==) NVIDIA(0): Default visual is TrueColor
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
(**) NVIDIA(0): Enabling RENDER acceleration
(II) NVIDIA(0): Support for GLX with the Damage and Composite X extensions is
(II) NVIDIA(0): enabled.
(EE) NVIDIA(0): Failed to load the NVIDIA kernel module!
(EE) NVIDIA(0): *** Aborting ***
(II) UnloadModule: "nvidia"
(II) UnloadModule: "wfb"
(II) UnloadModule: "fb"
(EE) Screen(s) found, but none have a usable configuration.

Fatal server error:
no screens found

完整的xorg.conf是:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder57) Sat Nov 8 12:48:43 PST 2008

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "Module"
Load "dbe"
Load "extmod"
Load "freetype"
Load "glx"
EndSection

Section "InputDevice"

# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection

Head_small
galeki 说:
2008年12月04日 04:48

看不出端倪,可以尝试删除 xorg,让 X 自动生成一下 xorg.conf 试试看,今天驱动又更新了,如果新版还是不行,可能确实是兼容性问题。

BreakDS 说:
2008年12月06日 02:32

嗯,那样的话不是还是没有装载驱动吗?
今天驱动更新了? 去哪里看?

BreakDS 说:
2008年12月06日 02:45

为什么不管是180.08还是180.11我都找不到地方下载?
官方的ftp相应的目录又是空的!

shili 说:
2008年12月06日 10:44

可以下的,是不是地址打错了?
ftp://download.nvidia.com/XFree86/Linux-x86/180.11/

BreakDS 说:
2008年12月06日 16:05

下了,问题依旧。
说找不到\sbin\lrm-video
于是我touch了一个,结果过了,但是新的问题是说没有
\dev\nvidiactl,但是那个设备明明在。
而且它还说没有找到匹配类型的Nvidia GPU。。。
但是lspci有:
01:00.0 VGA compatible controller: nVidia Corporation GeForce 9600M GT (rev a1)

Robinjack 说:
2020年12月28日 00:20

I admire your piece of work, regards for all the interesting posts . asheville painters

안전놀이터 说:
2021年1月17日 19:51

Hiya, I’m really glad I’ve found this information. Nowadays bloggers publish just about gossips and net and this is actually irritating. A good blog with interesting content, this is what I need. Thank you for keeping this website, I’ll be visiting it. Do you do newsletters? Can not find it.

Robinjack 说:
2021年2月17日 00:29

Very good post, thanks a lot for sharing. Do you happen to have an RSS feed I can subscribe to? roaches

Asia Gaming 说:
2021年4月06日 21:57

I am really enjoying the theme/design of your blog. Do you ever run into any internet browser compatibility problems? A few of my blog audience have complained about my website not working correctly in Explorer but looks great in Firefox. Do you have any solutions to help fix this problem?

Robinjack 说:
2021年4月24日 20:17

Top-notch post it is definitely. My boss has been searching for this content. Monthly Income Review

70s clothes 说:
2021年5月26日 13:39

I like your writing style truly loving this website .

Robinjack 说:
2021年7月01日 18:39

Hey very nice web site!! Man .. Beautiful .. Amazing .. I’ll bookmark your web site and take the feeds also…I am happy to find a lot of useful info here in the post, we need develop more techniques in this regard, thanks for sharing. . . . . . On line Baccarat Activity


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter