Mesa 3D

維基百科,自由的百科全書
跳至導覽 跳至搜尋
The Mesa 3D Graphics Library
開發者IntelVMware(前Tungsten Graphics)
首次發布1993年8月
編程語言C語言匯編語言
操作系統跨平台
類型圖形庫
許可協議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]. 

外部連結[編輯]

  • 找不到URL。請在此處指定URL或在維基數據上添加。
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內存數據存儲設備等。)