LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1236|回复: 3

Nvidia显卡,如何安装Suspend2

[复制链接]
发表于 2005-9-8 20:52:56 | 显示全部楼层 |阅读模式
最近看了Gentoo wiki上的HOWTO Software Suspend v2,就动手实践了一下,写点体会,也给想装的兄弟参考。

按照这篇HowTO,我也是直接用的官方的suspend2-sources。
配置时注意,除HowTo中所说的之外,agpgart也不要选。但如果选了也没多大问题。
    Ftape, the floppy tape device driver  --->
< > /dev/agpgart (AGP Support)

编译安装结束后,安装hibernate-script:
emerge hibernate-script

参照修改/etc/hibernate/hibernate.conf和/boot/grub/grub.conf。至此安装已大致结束(具体安装请参考Wiki上的HowTO)。

但我的显卡是GForce2 MX400(很老了),此时如果直接用hibernate命令,是不会成功的,根本不能休眠。上官方网站一查,原来是NV的显卡驱动不支持。http://wiki.suspend2.net/DistroAndHardwareSetup/Nvidia,所幸有打补丁的方法。
我用的是最新的1.0.7676驱动,需要在nv.c的第3667行加上
case PM_SUSPEND_STANDBY:

于是,下载驱动,使用-x选项,解压:
NVIDIA-Linux-x86-1.0-7676-pkg1.run -x

得到NVIDIA-Linux-x86-1.0-7676-pkg1/usr/src/nv/nv.c,做一个patch。然后以官方的ebuild为基础改了一下,其实也就把官方打的补丁注释掉,加上自己的而已。权且命名为nvidia-kernel-1.0.7676-r1.ebuild :p 。
修改/etc/make.conf,因为我用了中文portage,所以加入:
PORTDIR_OVERLAY=""
PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /usr/local/portage/glc"
PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /usr/local/portage/me"

然后将/usr/portage/media-video/nvidia-kernel下的文件全拷到/usr/local/portage/me/media-video/nvidia-kernel,并把patch放在/usr/local/portage/me/media-video/nvidia-kernel/files/1.0.7667中。运行:
ebuild nvidia-kernel-1.0.7676-r1.ebuild digest

并在/etc/portage/package.keywords中加入:
=media-video/nvidia-glx-1.0.7676-r1 ~x86
=media-video/nvidia-kernel-1.0.7676-r1 ~x86

注意确保版本一致(正好就有官方的media-video/nvidia-glx-1.0.7676-r1 :cool: ),版本不一致是不会成功的。
还要修改/etc/X11/xorg.conf:
Section "Device"
        Identifier  "GForce2 MX400"
        Driver      "nvidia"
        Option      "NoLogo" "true"
        Option      "NvAgp" "0"  (一定要加这一行!!!!)
EndSection

下面就简单了,直接emerge:
emerge nvidia-kernel nvidia-glx
modprobe nvidia
modules-update
opengl-update nvidia

最后改动/etc/hibernate/blacklisted-modules,将nvidia注释掉。
#nvidia

至此大功告成,可以在X下直接输入命令hibernate启动休眠了。
顺便多说一句,再开机唤醒后,如果间隔时间长的话会自动启动屏保或干脆就是黑屏,这是正常现象,只要动动Mouse或Keyboard,输入密码就可以正常使用了。

最后还有个问题,我的桌面环境是Gnome,每次休眠都会弹出对话框,说是声音什么的错误,需要在醒来后点击重新载入什么的(记不清了),但不影响使用。我想是因为ALSA停掉后,音量控制出错。不知有没有解决办法。
发表于 2005-9-9 11:05:35 | 显示全部楼层
我猜测在休眠之前先unload alsa
唤醒之后再load alsa

在/etc/hibernate/hibernate.conf中可以设置吧

呵呵。我的i810的显卡,唤醒之后就起不来了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-9 12:31:14 | 显示全部楼层
看了一下,是Gnome面板上的音量控制。
我估计应该是ALSA停掉后,音量控制提示出错。不影响使用,但我没办法解决。
回复 支持 反对

使用道具 举报

发表于 2005-9-9 18:41:53 | 显示全部楼层
继续继续, 原创贴就是要支持....加入心得
(如果能够再更完善点, 就加精)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表