关于显卡驱动的模糊概念问题

我认为在安装独立显卡驱动时的大概是这个样子的,下载驱动及当前内核源码,然后将驱动和内核交叉编译,最后替换当前内核。我只是看到在安装过程中有内核源码的下载,故作此假设,不知道我想的对不对,请大神指点下。

不是啊,内核有头文件的,里面是各种函数的钩子,显卡驱动引用钩子,完成它要内核做的事,然后编译时编译自己就行了,编译好的内核本身没有动。显卡跟内核的交互是通过显卡驱动的内核模块完成的,内核模块不是编译好的内核的一部分而是显卡驱动的一部分

从我的 iPhone 发送,使用 Tapatalk

形象点的比喻就是你编译浏览器访问网站,只需要编译好的浏览器能访问网站,网站服务器能响应访问就行。不需要把服务器上的软件重新编译一遍啊,它们只要是编译好的而且能响应访问就行了。

从我的 iPhone 发送,使用 Tapatalk

感谢您的解答,我现在的理解是内核提供了可以供显卡驱动调用的回调函数(钩子函数的概念不是很清楚,粗略的看了一下也不是很懂),那么下载内核源码的作用只是为了知晓内核定义了哪些可以被调用的函数吗?我对 C/C++ 的编程了解的很少,仅对语言有些浅显的了解。

对,我理解就是这样。

从我的 iPhone 发送,使用 Tapatalk