我对linux图形堆栈感到困惑.根据我的理解,在台式计算机上,合成窗口管理器与DRM交互,然后DRM将数据发送到特定的视频卡驱动程序.另一方面,有些控制器通过DMA从GPU内存中检索数据并将其发送到监视器,如答案here所示.
另外,通过this第29页的图表,我认为帧缓冲驱动程序位于实际的图形设备之上,因此它必须与特定的视频卡驱动程序(例如,nVIDia驱动程序)进行交互.
但是当我谷歌为嵌入式设备编写帧缓冲驱动程序时,结果表明,好像驱动程序直接负责与LCD接触,所以它看起来甚至低于显卡驱动程序.
帧缓冲驱动程序实际上是一个显卡驱动程序吗?
解决方法 帧缓冲驱动程序提供了一个接口>模式设定
>内存访问视频缓冲区
>基本的2D加速 *** 作(例如滚动)
为了提供这种接口,帧缓冲驱动器通常直接与硬件通信.
例如,vesafb帧缓冲驱动程序将使用VESA标准接口与视频硬件通信.但是,这个标准是有限的,因此没有太多的硬件加速进行,绘图很慢.
另一个例子是intelfb帧缓冲驱动程序.它使用专有接口与一些英特尔硬件进行通信,从而暴露出更多的加速设备,因此速度更快.
如今,KMS驱动程序用于大多数硬件.它们都暴露帧缓冲并且还访问其他GPU功能,例如OpenGL,通过DRM.
您的困惑似乎源于这样一个事实:帧缓冲驱动程序和X11 GPU驱动程序实际上是在竞争!这就是为什么,如果你有一个KMS系统,图形和文本控制台之间的切换是即时的,但是,对于非KMS系统,它很慢,因为fb驱动程序和X11驱动程序都需要重新初始化视频控制台交换机上的硬件
在Martin FIEdler的全面谈话linux图形中找到更多信息:
http://keyj.emphy.de/files/linuxgraphics_en.pdf
以上是内存溢出为你收集整理的linux framebuffer驱动程序是一个显卡驱动程序吗?全部内容,希望文章能够帮你解决linux framebuffer驱动程序是一个显卡驱动程序吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)