Linux kernel 关于Linux内核中的GPU驱动程序

Linux kernel 关于Linux内核中的GPU驱动程序,linux-kernel,gpu,drm,Linux Kernel,Gpu,Drm,我找到了i915_drm,它是英特尔GPU的drm驱动程序。 据我所知,GPU驱动程序通常不向公众开放 我的问题是:对于英特尔GPU,这种i915通常被称为“GPU驱动程序”吗? 如果没有(我怀疑没有),您能告诉我DRM驱动程序和GPU驱动程序之间的关系吗?DRM驱动程序仲裁对GPU的访问,而实际的GPU驱动程序准备命令流。只有前者与安全性相关,需要在内核中执行,而后者非常复杂,最好作为用户进程实现 内核驱动程序为CPU->GPU访问(条形映射)和GPU->内存访问(DMA区域)设置地址范围 这

我找到了i915_drm,它是英特尔GPU的drm驱动程序。 据我所知,GPU驱动程序通常不向公众开放

我的问题是:对于英特尔GPU,这种i915通常被称为“GPU驱动程序”吗?
如果没有(我怀疑没有),您能告诉我DRM驱动程序和GPU驱动程序之间的关系吗?

DRM驱动程序仲裁对GPU的访问,而实际的GPU驱动程序准备命令流。只有前者与安全性相关,需要在内核中执行,而后者非常复杂,最好作为用户进程实现

内核驱动程序为CPU->GPU访问(条形映射)和GPU->内存访问(DMA区域)设置地址范围

这确保GPU只能访问专用DMA内存,以阻止GPU程序读取密码等敏感数据,并且根据GPU DMA引擎的能力,甚至可以设置多个上下文,进一步将GPU限制为与程序一起提交的DMA缓冲区


完整的GPU驱动程序使用此功能请求设备上下文和DMA内存映射,编译着色器或OpenCL内核等程序,并通过低级驱动程序提交这些程序。

谢谢。这很有帮助。还有一个问题是,实际的GPU驱动程序(在用户空间中运行)是否在MESA 3D或x11驱动程序中?或者,它们完全不同吗?两者都不同。X11处理2D绘图原语和合成,Mesa处理3D。哦。。。看来是误会了。我的问题是“特定于供应商的用户级驱动程序”和X11/MESA图形库是同一回事吗?还是不?