加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 22:59:34 所属栏目:Linux 来源:网络整理
导读:我几乎没有关于这些硬件如何工作的背景知识,但现在我需要学习如何为 Android设备编写Linux帧缓冲驱动程序. 我对Linux图形堆栈感到困惑.根据我的理解,在台式计算机上,合成窗口管理器与DRM交互,然后DRM将数据发送到特定的视频卡驱动程序.另一方面,有些控制器通
我几乎没有关于这些硬件如何工作的背景知识,但现在我需要学习如何为 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读