linux framebuffer驱动程序是一个显卡驱动程序吗?

linux framebuffer驱动程序是一个显卡驱动程序吗?,第1张

概述我几乎没有关于这些硬件如何工作的背景知识,但现在我需要学习如何为 Android设备编写Linux帧缓冲驱动程序. 我对Linux图形堆栈感到困惑.根据我的理解,在台式计算机上,合成窗口管理器与DRM交互,然后DRM将数据发送到特定的视频卡驱动程序.另一方面,有些控制器通过DMA从GPU内存中检索数据并将其发送到监视器,如答案here所示. 另外,通过this第29页的图表,我认为帧缓冲驱动程序位 我几乎没有关于这些硬件如何工作的背景知识,但现在我需要学习如何为 Android设备编写linux帧缓冲驱动程序.

我对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驱动程序是一个显卡驱动程序吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1018255.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存