Mesa 3D

出自Local Chinese Wikipedia
(重新導向自Mesa library
跳至導覽 跳至搜尋
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特許條款開放原始碼3D電腦圖形庫,以開源形式實現了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主記憶體數據儲存裝置等。)