了解 Linux 内核驱动程序
Posted
技术标签:
【中文标题】了解 Linux 内核驱动程序【英文标题】:Understanding Linux Kernel drivers 【发布时间】:2014-02-05 16:17:42 【问题描述】:在从源代码构建 Linux 内核时,我注意到它也在构建一些驱动程序(例如,drivers/gpu/drm/i915 或 nouveau 等)。 另一方面,在我的系统上,我还安装了 xserver-xorg-video-intel 软件包(Ubuntu)。所以问题是:xserver-xorg-video-intel 驱动程序如何与内核中的驱动程序/gpu/drm/i915 一起使用?它们是具有不同目的的两个独立的东西吗(例如第二个仅适用于 X11)?
【问题讨论】:
DRM 部分只做一些基本的事情:模式设置,分配命令环形缓冲区,等待 vsync,...,而 X11 部分使用它:例如它从 DRM 请求一个命令环形缓冲区,用命令填充它,然后将其发送给 GPU。 【参考方案1】:Linux 图形堆栈是一个广泛而复杂的生态系统。
你有一个总体概述here:
或者更多来自 Stephane Marchesin 的 complete and technical one,它是新晋黑客之一。
基本上,图形工具包(Qt、Gtk、efl 等)与 Xorg 对话。 XOrg 使用 libdrm 与内核 DRM 基础架构进行交互,该基础架构基于和抽象显卡驱动程序(nouveau、i915、..)。
【讨论】:
哇!感谢您的回答! 请注意这是一个简化的答案:) 是的,但这对我来说已经足够了!以上是关于了解 Linux 内核驱动程序的主要内容,如果未能解决你的问题,请参考以下文章