Mesa 3D是一个在MIT许可证下开放源代码的三维计算机图形库,以开源形式实现了OpenGL的应用程序接口。
OpenGL的高效实现一般依赖于显示设备厂商提供的硬件,而Mesa 3D是一个纯基于软件的图形应用程序接口。由于许可证的原因,它只声称是一个“类似”于OpenGL的应用程序接口。由于Mesa 3D的API和OpenGL相同,具体的OpenGL版本浏览Mesa 3D官方网站,我们可以这么认为它就是OpenGL的软件模拟GPU光栅处理器的一个实现。我们知道如果要实现一个OpenGL,其本身是一个设备器,不能实现窗体的透明,如果我想要实现窗体透明,又想要有3D的应用,可以试试它。
来源条目
外部链接
Linux内的各种层,还显示了在用户空间和内核空间之间的分离。
用户模态
|
用户应用
|
例如:Bash,LibreOffice,GIMP,Blender,0 A.D.,Mozilla Firefox等
|
低层系统构件
|
系统守护进程: systemd,runit,logind,networkd,PulseAudio等
|
窗口系统: X11,Wayland,SurfaceFlinger(Android)
|
其他库: GTK+, Qt, EFL, SDL, SFML, FLTK, GNUstep等
|
图形: Mesa,AMD Catalyst等
|
C标准库
|
open(),exec(),sbrk(),socket(),fopen(),calloc(),... (直到2000个子例程) glibc目标为POSIX/SUS兼容,musl和uClibc目标为嵌入式系统,bionic为Android而写等
|
内核模态
|
Linux内核
|
stat, splice, dup, read, open, ioctl, write, mmap, close, exit等(大约380个系统调用) Linux内核系统调用接口(SCI,目标为POSIX/SUS兼容)
|
进程调度子系统
|
IPC子系统
|
内存管理子系统
|
虚拟文件子系统
|
网络子系统
|
其他构件:ALSA,DRI,evdev,LVM,device mapper,Linux Network Scheduler,Netfilter Linux安全模组:SELinux,TOMOYO,AppArmor, Smack
|
硬件(CPU,内存,数据存储设备等。)
|
- ^ [ANNOUNCE] mesa 24.3.0-rc2. 2024年11月13日 [2024年11月14日].
- ^ [ANNOUNCE] mesa 24.3.1. 2024年12月4日 [2024年12月4日].