Mesa 3D

维基百科,自由的百科全书
跳转到导航 跳转到搜索
The Mesa 3D Graphics Library
开发者IntelVMware(前Tungsten Graphics)
首次发布1993年8月
当前版本
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    源代码库
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    编程语言C语言汇编语言
    引擎
      Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
      操作系统跨平台
      类型图形库
      许可协议MIT许可证
      网站www.mesa3d.org
      File:Linux Graphics Stack 2013.svg
      Linux与Mesa 3D
      File:Wayland display server protocol.svg
      Implementation of the EGL-API in Mesa 3D and libwayland-EGL and Wayland
      File:Gallium3D vs DRI graphics driver model.svg
      DRI-style versus Gallium3D-style graphical device drivers

      Mesa,或称Mesa3DThe Mesa 3D Graphics Library,是一个在MIT许可证开放源代码三维计算机图形库,以开源形式实现了OpenGLVulkan以及部分其他图形API和OpenCL标准。它的作用是把这些图形接口的调用,转换为不同显卡厂商硬件能够理解的底层驱动指令,相当于位于图形API与具体硬件之间的实现层。

      在实际应用中,Mesa是Linux生态中最核心的图形基础设施之一。IntelAMD的开源显卡驱动主要基于Mesa开发和维护。AMD目前推广的RadeonRadeonSI驱动都属于Mesa体系,用来取代已经停止维护的Catalyst;Intel方面则完全采用Mesa驱动方案。相比之下,NVIDIA的官方闭源驱动会整体替代Mesa,自行实现完整的图形接口。不过,社区也在开发面向NVIDIA硬件的开源Mesa驱动项目,例如NouveauNVK[1]

      Mesa不仅服务于游戏等3D应用。现代显示服务器(例如X.org的Glamor、Wayland的Weston)同样依赖OpenGL/EGL进行渲染,因此在多数Linux桌面环境中,几乎所有图形输出都会经过Mesa。

      该项目由freedesktop.org托管,1993年8月由Brian Paul发起,他至今仍参与开发。经过多年发展,Mesa已成为全球范围内协作的开源项目,贡献者包括个人开发者、企业以及多家显卡硬件厂商,其中也包括隶属于Khronos Group(负责维护OpenGL等规范)的成员公司。在Linux平台上,Mesa的部分开发工作还曾通过众筹形式获得支持。[2]

      参考资料[编辑]

      1. ^ NVK. The Mesa 3D Graphics Library. [12 December 2025]. 
      2. ^ Improve OpenGL support for the Linux Graphics Drivers - Mesa. Indiegogo. 11 December 2013 [21 January 2015]. 

      外部链接[编辑]

      • Module:Official_website第90行Lua错误:attempt to index field 'wikibase' (a nil value)
      Linux内的各种层,还显示了在用户空间内核空间之间的分离。
      用户模态 用户应用 例如:BashLibreOfficeGIMPBlender0 A.D.Mozilla Firefox
      低层系统构件 系统守护进程
      systemdrunit,logind,networkd,PulseAudio
      窗口系统
      X11WaylandSurfaceFlinger(Android)
      其他库
      GTK+, Qt, EFL, SDL, SFML, FLTK, GNUstep
      图形
      MesaAMD Catalyst
      C标准库 open()exec()sbrk()socket()fopen()calloc(),... (直到2000个子例程)
      glibc目标为POSIX/SUS兼容,musluClibc目标为嵌入式系统,bionicAndroid而写等
      内核模态 Linux内核 stat, splice, dup, read, open, ioctl, write, mmap, close, exit等(大约380个系统调用)
      Linux内核系统调用接口(SCI,目标为POSIX/SUS兼容)
      进程调度子系统 IPC子系统 内存管理子系统 虚拟文件子系统 网络子系统
      其他构件:ALSADRIevdevLVMdevice mapperLinux Network SchedulerNetfilter
      Linux安全模块SELinuxTOMOYOAppArmor, Smack
      硬件(CPU内存数据存储设备等。)