LinuxSir.cn,穿越时空的Linuxsir!

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

像NVIDIA一样的闭源显卡驱动在升级内核后一定要手动重新编译一次吗

[复制链接]
发表于 2009-10-9 09:03:47 | 显示全部楼层 |阅读模式
NVIDIA是闭源驱动,安装的时候需要用一个命令自行编译相关模块,每次编译需要用到内核,内核升级后,需要重新编译模块。Archlinux如何设置才能在每次内核升级后,让这些依赖内核的模块自行编译呢?
发表于 2009-10-9 10:05:55 | 显示全部楼层
Arch里的nv驱动似乎只依赖一个特定版本的内核,所以内核更新后nv驱动必然跟着更新。
回复 支持 反对

使用道具 举报

发表于 2009-10-9 11:05:48 | 显示全部楼层
这个与发行版无关吧,各大发行版解决这个问题目前都是靠的 dkms 。
回复 支持 反对

使用道具 举报

发表于 2009-10-9 13:23:55 | 显示全部楼层
何不尝试一下呢?
只需要把以前的/lib/module/下的NV模块对应换一个目录即可。
回复 支持 反对

使用道具 举报

发表于 2009-10-9 13:52:07 | 显示全部楼层
看nvidia的PKGBUILD,上回我用老版本内核,发现提示失败,查看PKGBUILD,原来有版本限制,自己动手一下就好了,因为根据当前内核版本编译nvidia驱动的话,他会安到 /lib/modules/2.6.xx-ARCH下,如果升级到新版本还用老nvidia的话,自动就找不到驱动模块位置了
回复 支持 反对

使用道具 举报

发表于 2009-10-9 19:43:46 | 显示全部楼层
arch官方给你编译了nv内核模块,升级内核也会升级驱动。只是少了自己编译这一步。好像是不会使用内核里面的drm模块,闭源驱动需要自己的drm模块
回复 支持 反对

使用道具 举报

发表于 2009-10-9 19:48:00 | 显示全部楼层
愣了一下,既然是閉源,連源代碼都沒有怎麼編譯?而開源驅動基本都包含在內核里,當然就已經編譯好嘞。
回复 支持 反对

使用道具 举报

发表于 2009-10-9 20:14:30 | 显示全部楼层
Post by coderoar;2034656
愣了一下,既然是閉源,連源代碼都沒有怎麼編譯?而開源驅動基本都包含在內核里,當然就已經編譯好嘞。
不是的。目前nv的官方驱动分成三部分:一部分是闭源的OpenGL驱动库(其实还有些CUDA之类的别的库),这个直接覆盖mesa自带的开源OpenGL实现(libgl),所以arch下nvidia-utils包和libgl包冲突。第二部分是闭源的xorg驱动。第三部分是用来驱动nvidia硬件的内核模块,这部分是开源的,如果是用nv网站上的驱动包安装,这部分会在安装时被编译(需要内核源代码),如果是用arch源里的软件包,自然是人家已经给编译好的。
在arch的软件源里,前两部分是放在nvidia-utils包里的,后一部分是放到nvidia包里的。
回复 支持 反对

使用道具 举报

发表于 2009-10-10 19:17:04 | 显示全部楼层
怪不得nvidia-utils跟nvida的PKGBUILD里 下的都是同一个.run文件。。我当时就奇怪了
回复 支持 反对

使用道具 举报

发表于 2009-10-10 20:48:42 | 显示全部楼层
學習了,從沒用過n卡,但是覺得n卡的驅動是最好的。
回复 支持 反对

使用道具 举报

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

本版积分规则

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