Mesa 3D

Mesa — это свободная реализация графических API OpenGL и Vulkan с открытым исходным кодом, и других спецификаций, а также набор видеодрайверов пространства пользователя для GPU AMD/ATI Radeon, Intel, Nvidia, Qualcomm.

Mesa, Linux i display server
Mesa 3D
Тип графическая библиотека[d], библиотека функций и библиотека на C[d]
Автор Брайан Пол[d][1]
Разработчик Intel[2], Red Hat[2], Tungsten Graphics[d][2], VMware[2], Advanced Micro Devices, Collabora[d] и Valve
Написана на C++[3], Си[4] и Язык ассемблера[4]
Операционная система Linux, FreeBSD, NetBSD, OpenBSD и Haiku
Первый выпуск август 1993[1]
Последняя версия 21.3.7 [5] (23 февраля 2022 (2022-02-23))
Лицензия лицензия MIT[6][7]
Сайт mesa3d.org (англ.)
 Медиафайлы на Викискладе

Mesa ориентирована на обеспечение высокой производительности при работе с 3D-графикой, в том числе за счёт использования аппаратного ускорения работы с графикой, поддерживаемого графическими процессорами. Mesa, называемая также «Mesa3D», лежит в основе графического стека свободных UNIX-подобных операционных систем с открытым исходным кодом, в основном дистрибутивов GNU/Linux и дистрибутивов *BSD, так что на этих операционных системах без использования Mesa невозможно добиться работы графического интерфейса, окружения рабочего стола, современных приложений, использующих графический интерфейс, 3D-графики, в том числе игр, производительность в которых во многом зависит от развития Mesa. Поэтому для всех пользователей дистрибутивов GNU/Linux и *BSD, использующих графический интерфейс, Mesa является чрезвычайно важным компонентом их графического стека, и её регулярное обновление до самых новых версий имеет большое значение для всех пользователей свободных UNIX-подобных операционных систем.

Наиболее востребованными компонентами Mesa являются графические драйверы пространства пользователя для видеопроцессоров Intel и Radeon, которые в основном разрабатываются и финансируются компаниями Intel, AMD, Red Hat, но также и другими крупными компаниями, например, Valve из-за их заинтересованности в развитии Steam OS. Но так как в разработке программ с открытым исходным кодом может принять участие любой желающий, в разработке Mesa принимают участие все, кто заинтересован в дальнейшем развитии этого проекта, и при этом имеет возможность и желание участвовать в разработке. Например, компания Nvidia, в отличие от Intel и AMD, не способствует развитию Mesa, а вместо этого разрабатывает свой собственный проприетарный видеодрайвер с закрытым исходным кодом, включающий в себя свой собственный отдельно подключаемый видеодрайвер Linux и свои собственные реализации API OpenGL и Vulkan. Поэтому Nouveau — свободный графический драйвер с открытым исходным кодом для графических процессоров Nvidia, в отличие от драйверов для AMD/ATI Radeon и Intel GPU в основном разрабатывается усилиями сообщества и компании Red Hat, а не самого производителя графических процессоров Nvidia. Mesa реализует кросс-языковой, кросс-платформенный (в основном, для дистрибутивов BSD и GNU/Linux), стандартный API-интерфейс, нейтральный к любым поставщикам GPU, для взаимодействия с различными аппаратными драйверами для конкретных производителей GPU.

Помимо 3D-приложений, таких как, например, игры, современные менеджеры окон (X.org/Glamor или Wayland/Weston) тоже используют Vulkan/OpenGL/EGL, реализацию которых предоставляет Mesa. Поэтому это - ещё одна причина, по которой вся графика в UNIX-подобных операционных систем с открытым исходным кодом обычно проходит через Mesa.

Ранее разработка Mesa происходила на freedesktop.org, но после состоялся переезд на GitLab.org (Архивная копия от 14 февраля 2021 на Wayback Machine), где сейчас и происходит разработка. Разработка Mesa была впервые начата в августе 1993 года Брайаном Полом, который все еще активно участвует в проекте. Впоследствии Mesa была широко принята и теперь содержит многочисленные вклады различных независимых людей и представителей корпораций со всего мира, в том числе от производителей графических процессоров, входящих в Khronos Group, которые администрируют спецификации OpenGL и Vulkan. Для GNU/Linux быстрое развитие Mesa также, кроме того, частично было вызвано добровольным сбором денег на разработку.

История

Проект был начат в августе 1993 года Брайаном Полом (англ. Brian Paul) как простая библиотека трёхмерной графики, реализующая OpenGL API.

ВерсияВыпущенаКомментарий
1.0февраль 1995первая версия библиотеки, опубликованная в интернете
2.0октябрь 1996реализация спецификации OpenGL 1.1
2.2март 1997поддержка новых видеокарт 3dfx Voodoo через библиотеку Glide
3.0сентябрь 1998первая общественно-доступная реализация OpenGL 1.2 API
4.0октябрь 2001реализация OpenGL 1.3
5.0ноябрь 2002реализация OpenGL 1.4
6.0январь 2003реализация OpenGL 1.5, а также расширений GL_ARB_vertex_program и GL_ARB_fragment_program
7.0июнь 2007реализация OpenGL 2.1 и OpenGL Shading Language.
7.0.3 — 7.4.4апрель 2008 — июнь 2009исправление ошибок, внутренние изменения
7.5июль 2009добавлена архитектура Gallium3D
7.5.1 — 7.10.2сентябрь 2009 — апрель 2011исправление ошибок, внутренние изменения
8.0февраль 2012реализация OpenGL 3.0, исправление ошибок и чистка кода
9.0октябрь 2012реализация OpenGL 3.1
10.0декабрь 2013реализация OpenGL 3.3
11.0сентябрь 2015реализация OpenGL 4.1
12.0июль 2016реализация OpenGL 4.3
13.0ноябрь 2016реализация OpenGL 4.5
17.0февраль 2017Новая схема нумерации версий, OpenGL 4.5(+дополнительные ARBs), OpenGL ES 3.2
17.110 мая 2017Реализация новых расширений OpenGL, Vulkan, дискового кэша RadeonSL
17.25 сентября 2017Реализация новых расширений Vulkan и OpenGL, начальная реализация OpenGL 4.6, значительное улучшение производительности
17.38 декабря 2017Реализация новых расширений Vulkan и OpenGL, реализация дискового кэша RADV, значительное улучшение производительности

Лицензия

Лицензия Mesa считалась свободной, но в 2008 году возникли вопросы[8][9][10][11][12][13] насчёт небольших частей кода, распространявшихся под лицензиями SGI Free Software License B версии 1.1 и GLX Public License — они оказались несвободными.[14] 19 февраля 2008 года SGI объявила о выходе гораздо более простой и одобренной FSF и Khronos Group SGI Free Software License B версии 2.0[15], и лицензировании под ней примеры реализации OpenGL, GLX API и других расширений GLX.[16]

Реализации API

APIVulkanOpenCLOpenGLOpenGL ESOpenVGEGLGLXDirect3D
ВерсияДатаПоследнее обновление1.0
2016-02-16
2.1
2015-11-11
4.5
2014-08-11
3.2
2015-08-10
1.1
2008-12-03
1.5
2014-03-19
1.4
2005-12-16
12.0
2015-07-29
Будущая версия: 17.0 2017-03-20 17.0.2 1.0 4.5 (+ доп. ARB) 3.2 1.5 1.4 9.0c[17][18]
Текущая версия: 13.0 2016-11-01.iso.202213.0.6N/A4.5N/A[19]
Старая поддерживаемая версия: 12.0 2016-07-08.iso.2022[20]12.0.64.3[20] 3.1
Старая версия, не поддерживается: 11.2 2016-04-04.iso.2022[21]11.2.2N/A4.1[22]
Старая версия, не поддерживается: 11.1 2015-12-15.iso.2022[23]11.1.43.0
Старая версия, не поддерживается: 11.0 2015-09-12.iso.2022[24]11.0.9
Старая версия, не поддерживается: 10.6 2015-06-15.iso.2022[25]10.6.93.3[26]1.4
Старая версия, не поддерживается: 10.5 2015-03-06.iso.2022[27]10.5.91.1
Старая версия, не поддерживается: 10.4 2014-12-14.iso.2022[28]10.4.7
Старая версия, не поддерживается: 10.3 2014-09-19.iso.2022[29]10.3.7N/A
Старая версия, не поддерживается: 10.2 2014-06-06.iso.2022[30]10.2.9
Старая версия, не поддерживается: 10.1 2014-03-04.iso.2022[31]10.1.6
Старая версия, не поддерживается: 10.0 2013-11-30.iso.2022[32]10.0.5
Старая версия, не поддерживается: 9.0 2012-10-08.iso.20229.0.3, 9.1.7, 9.2.53.1[33]2.0
Старая версия, не поддерживается: 8.0 2012-02-08.iso.20228.0.53.0
Старая версия, не поддерживается: 7.0 2007-06-22.iso.20227.0.4, …, 7.11.22.1N/AN/AN/A
Старая версия, не поддерживается: 6.0 2004-01-06.iso.20226.0.11.51.3
Старая версия, не поддерживается: 5.0 2002-11-13.iso.20225.0.21.4
Старая версия, не поддерживается: 4.0 2001-10-22.iso.20224.0.41.3
Старая версия, не поддерживается: 3.0 1998-09.iso.20223.1, 3.2.1, 3.4.2.11.2
Старая версия, не поддерживается: 2.0 1996-10.iso.20222.61.1
Старая версия, не поддерживается: 1.0 1995-02.iso.20221.2.81.0
Легенда:
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
Будущая версия

Примечания

  1. http://www.mesa3d.org/intro.html
  2. http://www.mesa3d.org/developers.html
  3. https://www.openhub.net/p/mesa/analyses/latest/languages_summary
  4. https://www.openhub.net/p/mesa
  5. mesa 21.3.7
  6. https://www.mesa3d.org/license.html
  7. The mesa Open Source Project on Open Hub: Licenses Page — 2006.
  8. gNewSense Bugs : Free as in freedom | Bugs / xserver-xorg: wordy SGI license may not be free Архивировано 27 сентября 2008 года.
  9. #211765 — xorg-server: material under GLX Public License is not DFSG-free — Debian Bug report logs
  10. Export clauses in XFree86 licensing
  11. Non-free (?) GLX code under GLX Public License and SGI Free Software Licence B
  12. Licensing:Main — FedoraProject
  13. Various Licenses and Comments about Them — GNU Project — Free Software Foundation (FSF)
  14. Various Licenses and Comments about Them (англ.) (недоступная ссылка). Free Software Foundation (17 сентября 2008). Дата обращения: 20 сентября 2008. Архивировано 22 августа 2011 года.
  15. Thank you SGI, for freeing the GNU/Linux 3D desktop! (англ.) (недоступная ссылка). Free Software Foundation (19 сентября 2008). Дата обращения: 20 сентября 2008. Архивировано 24 августа 2011 года.
  16. ??? (англ.) (недоступная ссылка). SGI (19 сентября 2008). Дата обращения: 20 сентября 2008. Архивировано 24 августа 2011 года.
  17. latest patches to "nine" state tracker (4 февраля 2016).
  18. Larabel, Michael Mesa 10.4 Officially Released With Direct3D 9 State Tracker. Phoronix (14 декабря 2014). Дата обращения: 11 июля 2015.
  19. Larabel, Michael OpenVG Support Stripped From Gallium3D. Phoronix (4 марта 2015). Дата обращения: 11 июля 2015.
  20. Mesa 12.0 Released With OpenGL 4.3 Support, Intel Vulkan & Many Other Features (8 июля 2016). Дата обращения: 8 июля 2016.
  21. [Mesa-announce Mesa 11.2.0]. Дата обращения: 4 апреля 2016.
  22. Mesa Release Notes
  23. [Mesa-announce Mesa 11.1.0]. Дата обращения: 15 декабря 2015.
  24. [Mesa-announce Mesa 11.0.0]. Дата обращения: 26 сентября 2015.
  25. [Mesa-announce Mesa 10.6.0]. Дата обращения: 15 июня 2015.
  26. Larabel, Michael Features To Be Found In Mesa 10.0. Phoronix (26 октября 2013).
  27. [Mesa-announce Mesa 10.5.0]. Дата обращения: 7 марта 2015.
  28. [Mesa-announce Mesa 10.4.0 released]. Дата обращения: 7 марта 2015.
  29. [Mesa-announce Mesa 10.3 released]. Дата обращения: 7 марта 2015.
  30. [Mesa-announce Mesa 10.2 released]. Дата обращения: 7 марта 2015.
  31. [Mesa-announce Mesa 10.1 released]. Дата обращения: 7 марта 2015.
  32. [Mesa-announce Mesa 10.0 released]. Дата обращения: 7 марта 2015.
  33. Mesa 9.0 Release Notes. Mesa (8 октября 2012). Дата обращения: 11 июля 2015.

См. также

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.