gpt4 book ai didi

linux - linux framebuffer 驱动程序是视频卡驱动程序吗?

转载 作者:IT王子 更新时间:2023-10-29 01:25:53 26 4
gpt4 key购买 nike

我对这些硬件的实际工作原理知之甚少,但现在我需要学习如何为 Android 设备编写 Linux 帧缓冲驱动程序。

我对 Linux 图形堆栈感到困惑。据我了解,在台式计算机上,合成窗口管理器与 DRM 交互,然后将数据发送到特定的视频卡驱动程序。另一方面,有一些 Controller 通过 DMAGPU 的 内存中检索数据并将其发送到监视器,正如答案 here 所建议的那样。 .也通过 this第 29 页 中的图表书中,我认为帧缓冲驱动程序位于实际图形设备之上,因此它必须与特定的视频卡驱动程序交互,例如,nVidia 驱动程序。

但是当我谷歌写一个嵌入式设备的帧缓冲驱动程序时,结果显示好像驱动程序直接负责与LCD联系,所以看起来它甚至在视频下面卡驱动程序。

那么帧缓冲驱动程序实际上是视频卡驱动程序吗?

最佳答案

帧缓冲驱动程序提供了一个接口(interface)

  1. 模式设置
  2. 对视频缓冲区的内存访问
  3. 基本的 2D 加速操作(例如滚动)

为了提供这个接口(interface),帧缓冲驱动程序通常直接与硬件对话。

例如,vesafb 帧缓冲驱动程序将使用 VESA 标准接口(interface)与视频硬件通信。然而,这个标准是有限的,所以实际上并没有太多的硬件加速,而且绘图很慢。另一个例子是 intelfb 帧缓冲驱动程序。它使用专有接口(interface)与某些英特尔硬件对话,该接口(interface)提供更多加速设施,因此速度更快。

如今,大多数硬件都使用 KMS 驱动程序。它们既公开帧缓冲区又访问其他 GPU 功能,例如OpenGL,通过 DRM。

您的困惑似乎源于这样一个事实,即帧缓冲驱动程序和 X11 GPU 驱动程序实际上是在竞争!这就是为什么,如果你有 KMS 系统,图形和文本控制台之间的切换是即时的,但是,对于非 KMS 系统,它很慢,因为 fb 驱动程序和 X11 驱动程序都需要重新初始化视频控制台开关上的硬件。

在 Martin Fiedler 的综合演讲 Linux Graphics Demystified 中找到更多信息: http://keyj.emphy.de/files/linuxgraphics_en.pdf

关于linux - linux framebuffer 驱动程序是视频卡驱动程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38893679/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com