Mesa 3D

Перейти к навигацииПерейти к поиску
Mesa, Linux i display server
Mesa 3D
Типграфическая библиотека[вд], библиотека функций и библиотека на C[вд]
АвторБрайан Пол[вд][1]
РазработчикиIntel[4], Red Hat[4], Tungsten Graphics[вд][4], VMware[4], Advanced Micro Devices, Collabora[вд], Valve, Кеннет Уильям Граунке[вд], Ян Дамиан Романик[вд], Кайо Марсело де Оливейра Филью[вд][5], Тимоти Арсери[вд] и José R Fonseca[вд]
Написана наC++[6], Си[7] и язык ассемблера[7]
Операционные системы Linux, FreeBSD, NetBSD, OpenBSD и Haiku
Первый выпускавгуст 1993[1]
Последняя версия
Кандидат в релизы
Репозиторийgitlab.freedesktop.org/m…
Лицензиялицензия MIT[8][9]
Сайтmesa3d.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

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

Mesa ориентирована на обеспечение высокой производительности при работе с 3D-графикой, в том числе за счёт использования аппаратного ускорения работы с графикой, поддерживаемого графическими процессорами. Mesa, называемая также «Mesa3D», лежит в основе графического стека свободных UNIX-подобных операционных систем, в основном дистрибутивов 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 году возникли вопросы[10][11][12][13][14][15] насчёт небольших частей кода, распространявшихся под лицензиями SGI Free Software License B версии 1.1 и GLX Public License — они оказались несвободными.[16] 19 февраля 2008 года SGI объявила о выходе гораздо более простой и одобренной FSF и Khronos Group SGI Free Software License B версии 2.0[17], и лицензировании под ней примеры реализации OpenGL, GLX API и других расширений GLX.[18]

Реализации 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[19][20]
Текущая версия: 13.0 2016-11-01.iso.202413.0.6N/A4.5N/A[21]
Старая поддерживаемая версия: 12.0 2016-07-08.iso.2024[22]12.0.64.3[22]3.1
Старая версия, не поддерживается: 11.2 2016-04-04.iso.2024[23]11.2.2N/A4.1[24]
Старая версия, не поддерживается: 11.1 2015-12-15.iso.2024[25]11.1.43.0
Старая версия, не поддерживается: 11.0 2015-09-12.iso.2024[26]11.0.9
Старая версия, не поддерживается: 10.6 2015-06-15.iso.2024[27]10.6.93.3[28]1.4
Старая версия, не поддерживается: 10.5 2015-03-06.iso.2024[29]10.5.91.1
Старая версия, не поддерживается: 10.4 2014-12-14.iso.2024[30]10.4.7
Старая версия, не поддерживается: 10.3 2014-09-19.iso.2024[31]10.3.7N/A
Старая версия, не поддерживается: 10.2 2014-06-06.iso.2024[32]10.2.9
Старая версия, не поддерживается: 10.1 2014-03-04.iso.2024[33]10.1.6
Старая версия, не поддерживается: 10.0 2013-11-30.iso.2024[34]10.0.5
Старая версия, не поддерживается: 9.0 2012-10-08.iso.20249.0.3, 9.1.7, 9.2.53.1[35]2.0
Старая версия, не поддерживается: 8.0 2012-02-08.iso.20248.0.53.0
Старая версия, не поддерживается: 7.0 2007-06-22.iso.20247.0.4, …, 7.11.22.1N/AN/AN/A
Старая версия, не поддерживается: 6.0 2004-01-06.iso.20246.0.11.51.3
Старая версия, не поддерживается: 5.0 2002-11-13.iso.20245.0.21.4
Старая версия, не поддерживается: 4.0 2001-10-22.iso.20244.0.41.3
Старая версия, не поддерживается: 3.0 1998-09.iso.20243.1, 3.2.1, 3.4.2.11.2
Старая версия, не поддерживается: 2.0 1996-10.iso.20242.61.1
Старая версия, не поддерживается: 1.0 1995-02.iso.20241.2.81.0
Легенда:
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
Будущая версия

Примечания

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

См. также

Ссылки