+ -
当前位置:首页 → 问答吧 → 像NVIDIA一样的闭源显卡驱动在升级内核后一定要手动重新编译一次吗

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

时间:2009-10-09

来源:互联网

NVIDIA是闭源驱动,安装的时候需要用一个命令自行编译相关模块,每次编译需要用到内核,内核升级后,需要重新编译模块。Archlinux如何设置才能在每次内核升级后,让这些依赖内核的模块自行编译呢?

作者: sheep204   发布时间: 2009-10-09

Arch里的nv驱动似乎只依赖一个特定版本的内核,所以内核更新后nv驱动必然跟着更新。

作者: socket9999   发布时间: 2009-10-09

这个与发行版无关吧,各大发行版解决这个问题目前都是靠的 dkms 。

作者: poet   发布时间: 2009-10-09

何不尝试一下呢?
只需要把以前的/lib/module/下的NV模块对应换一个目录即可。

作者: athurg   发布时间: 2009-10-09

看nvidia的PKGBUILD,上回我用老版本内核,发现提示失败,查看PKGBUILD,原来有版本限制,自己动手一下就好了,因为根据当前内核版本编译nvidia驱动的话,他会安到 /lib/modules/2.6.xx-ARCH下,如果升级到新版本还用老nvidia的话,自动就找不到驱动模块位置了

作者: axlrose   发布时间: 2009-10-09

arch官方给你编译了nv内核模块,升级内核也会升级驱动。只是少了自己编译这一步。好像是不会使用内核里面的drm模块,闭源驱动需要自己的drm模块

作者: jarryson   发布时间: 2009-10-09

愣了一下,既然是閉源,連源代碼都沒有怎麼編譯?而開源驅動基本都包含在內核里,當然就已經編譯好嘞。

作者: coderoar   发布时间: 2009-10-09

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

作者: socket9999   发布时间: 2009-10-10

怪不得nvidia-utils跟nvida的PKGBUILD里 下的都是同一个.run文件。。我当时就奇怪了

作者: iamkr   发布时间: 2009-10-10

學習了,從沒用過n卡,但是覺得n卡的驅動是最好的。

作者: coderoar   发布时间: 2009-10-11

arch里的nv驱动包是给较新机用的吧?
我的GForce FX只能手动装官方的老驱动了,每次内核升级还得重装一次

作者: lord007   发布时间: 2009-10-11

老的也有啊 nvidia-96xx什么的

作者: vabc3   发布时间: 2009-10-12