驱动开发系列13 - Linux Graphics 图形驱动概述(二)

embedded/2024/10/18 8:33:59/

目录

一:概述

二:Linux图形驱动演进

        3.1 X11基础结构

        3.2 DRI/DRM基础结构 

四:帧缓冲区驱动程序

        4.1 创建帧缓冲器驱动程序

        4.2 帧缓冲区操作

五:直接渲染管理器(DRM)

        5.1 内核模块(DRM)

        5.2 DRM 批量缓冲区提交模型

        5.2.1 硬件共享

        5.2.2 内存管理和安全

        5.3 模式设置

        5.4 libdrm

六: X.Org 驱动程序

        6.1 创建基本驱动程序

        6.2 ShadowFB 加速


一:概述

        多年来,Linux图形栈经历了多次演变。本节的目的是详细介绍这一历史,并阐明多年来所做的更改背后的理由。如今,该设计的根基仍然深深植根于这一历史之中,本节将详细介绍这一历史,以更好地阐释Linux图形栈当前的设计。

二:Linux图形驱动演进

        3.1 X11基础结构

        

3.2 DRI/DRM基础结构 

        最初(当Linux首次支持图形硬件加速时),只有一段代码可以直接访问显卡:XFree86服务器。 设计如下:通过使用超级用户权限运行,XFree86服务器可以从用户空间访问卡,并且不需要内核支持来实现2D加速。 这种设计的优点是简单,而且XFree86服务器可以很容易地从一个操作系统移植到另一个操作系统,因为它不需要内核组件。 多年来ÿ


http://www.ppmy.cn/embedded/100349.html

相关文章

Elasticsearch:使用 semantic_text 进行语义搜索

警告:截止 8.15 版本,此功能处于测试阶段,可能会发生变化。设计和代码不如官方 GA 功能成熟,并且按原样提供,不提供任何保证。测试版功能不受官方 GA 功能的支持 SLA 约束。 本教程向你展示如何使用 semantic text 功能…

ZooKeeper 的选举原理

ZooKeeper 可以通过两种方式实现 Master 选举,分别利用了 ZooKeeper 的临时节点和临时有序节点。以下是它们的具体实现方式及原理: 1. 基于临时节点的 Master 选举 在这种方法中,所有参与选举的节点会尝试在 ZooKeeper 中创建一个临时节点&…

Apache SeaTunnel数据处理引擎适配的演进和规划

作者 | Chao Tian (tyrantlucifer),Apache SeaTunnel PMC Member 摘要 Apache SeaTunnel作为一个高性能数据同步工具,以其高效的数据处理能力,为数据集成领域带来了创新。在引擎上,Apache SeaTunnel除了支持自身的Zeta引擎外&am…

Python习题 143:编写猜数字游戏程序

(编码题)编写一段 Python 代码,系统随机给一个 10 以内的数字,用户输入数字猜测,返回是大了还是小了,用户猜中返回「恭喜!猜中了。」并显示猜测次数。 代码如下:import random# 次数计数器 times = 0 # 系统生成随机数字 num = random.randrange(11)while True:# 用户…

MacOS如何升级ruby版本?

在MacOS中升级Ruby版本,有几种常见的方法,这些方法主要涉及使用第三方版本管理工具(如RVM或rbenv)和包管理器(如Homebrew)。以下是详细的步骤说明: 使用版本管理器 1. 使用RVM(Rub…

进程与程序的学习

1、进程与程序 程序:本地文件,编译后产生的文件.elf执行文件,存储在硬盘中的文件;进程:程序运行期间就是一个进程;(主要讨论两个进程的交互)程序是静态的,进程是动态的;程序执行后Linux内核自动完成虚拟内存(资源)分配,成进程; 将数据段、代码段这些运行时必要的…

【jvm】程序计数器的特征

目录 1. 说明2. 线程私有3. 存储指令地址4. 不会发生内存溢出5. 生命周期与线程相同 1. 说明 1.JVM(Java虚拟机)中的程序计数器(Program Counter Register),简称PC寄存器,具有几个显著的特征,这…

PDF 转Word 开源库

1. Apache PDFBox Apache PDFBox 是一个开源的 Java 库&#xff0c;用于创建和操作 PDF 文档。虽然 PDFBox 本身没有直接支持 PDF 转 Word 的功能&#xff0c;但它可以提取 PDF 内容&#xff0c;你可以结合其他方法将这些内容写入 Word。 添加依赖 <dependency><gr…