mesa库的模块功能和关系详述

技术关键词:mesa、OpenGL、meson

目录

前言:meson 构建系统

一、静态库列表(.a文件)

二、动态库列表(.so文件)

三、模块关系


前言:meson 构建系统

        在详述mesa模块功能和关系前,先来说下如何分析mesa的模块和关系。很简单,熟悉mesa的构建系统:meson。meson 是一个生成 ninja 文件的构建系统,不同的构建系统有不同的语法,但万变不离其宗:程序的编译、链接。通过跟踪分析meson.build里的static_library、executable、shared_library生成目标文件的语句,就可以把整个模块关系图梳理出来。


一、静态库列表(.a文件)

库名称库功能库详细描述
libglx实现linux系统上的render context创建与管理类似于windows上的wgl。负责linux平台上的一些可新概念的的初始化和管理,如display、screen、context
libmesa用户态gl*函数的入口库,维护opengl 状态
libloader负责后端驱动加载

提供环境变量、dri配置文件、pci id、 device driver四种加载方式

libloader_dri3_helperdri3 扩展的实现

对接使用xserver的dri3+present扩展进行送显

libdrilinux dri的支持

gallium frontends

lib***显卡厂商的用户态驱动核心部分,负责组织硬件接收的数据

gallium driver。例如ADM的radeonsi,则生成的库就是libradeonsi.a

lib***winsys负责对接linux内核驱动

gallium winsys,封装与操作系统相关的内容

二、动态库列表(.so文件)

库名称库功能库详细描述
libGLgl的初始化库由libglx.a、libloader.a、libloader_dri3_helper.a组成,负责初始化gl,加载后端驱动
libEGLegl库负责egl的具体api规范的实现
libglapigl函数的dispatch库负责gl函数的入口分发
libgbmgraph buffer manager,统一bo的管理该库是想统一设备内存的管理,提供一个统一的与后端驱动无关的存储管理接口
libgallium_dri厂商实现的后端驱动由libdri.a、lib***.a、lib***winsys.a组成,厂商的用户态驱动

三、模块关系

一图胜千言。模块关系图如下,该图罗列了mesa的核心模块的包含和依赖关系。本图在上一篇文章mesa 概述中也有涉及,但该图给出了更多的模块内部的细节。后续内容会也会看到该类似图,但每次出现,都会有新内容。

mesa 模块关系图 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在RK3399设备上安装Mesa驱动动态,首先我们需要了解一些基本知识。Mesa是一个开源的图形,用于实现OpenGL和Vulkan等图形API。通过安装Mesa驱动动态,我们可以为RK3399设备提供更好的图形性能和兼容性。 安装Mesa驱动动态的步骤如下: 1. 首先,我们需要在RK3399设备上安装开发工具链和依赖。可以使用命令`sudo apt-get install build-essential git`安装必要的工具和。 2. 接下来,我们需要从Mesa官方源代码中获取最新的Mesa源代码。可以使用命令`git clone git://anongit.freedesktop.org/git/mesa/mesa`克隆Mesa源代码到本地。 3. 进入Mesa源代码目录,执行`./autogen.sh --prefix=/usr`命令生成配置文件。 4. 继续执行`make -j4`命令开始编译Mesa源代码。这可能需要一些时间,具体取决于设备的性能。 5. 编译完成后,执行`sudo make install`命令将编译好的Mesa动态安装到系统目录中。 6. 安装完成后,我们需要更新设备的动态缓存。可以执行`sudo ldconfig`命令来更新缓存。 7. 最后,我们可以通过执行`glxinfo | grep "OpenGL version"`命令来验证Mesa驱动是否成功安装。如果显示了OpenGL版本信息,则表示安装成功。 通过以上步骤,我们可以在RK3399设备上成功安装Mesa驱动动态,从而提供更好的图形性能和兼容性。需要注意的是,上步骤可能会因为具体系统环境和版本的不同而有所差异,请根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值