2014-04-14 87 views
0

我发现i915_drm是Intel GPU的DRM驱动程序。 据我所知,GPU驱动程序通常不向公众开放。关于Linux内核中的GPU驱动程序

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

回答

1

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

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

这确保了GPU只能访问专用的DMA存储器,以阻止GPU程序读出密码等敏感数据,并且根据GPU DMA引擎的功能,甚至可以设置多个上下文以进一步限制GPU随着程序提交给DMA缓冲区。

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

+0

谢谢。它帮助了很多。还有一个问题是,真正的GPU驱动程序(运行在用户空间中)是MESA 3D或x11驱动程序内的东西吗?或者,他们完全不同? – jaeyong

+0

两者。 X11可以处理2D绘图基元和合成,Mesa可以处理3D。 –

+0

哦......看起来有误会。我的问题是'供应商特定的用户级驱动程序'和X11/MESA绘图库是相同的东西?或不? – jaeyong