Mesa 3D

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
The Mesa 3D Graphics Library
Тип

Графическая библиотека

Автор

Брайан Пол[d][1]

Разработчик

AMD, Intel, Valve, Collabora, VMware, свободное сообщество энтузиастов, и ранее Tungsten Graphics, Inc.

Написана на

Си

Операционная система

Кроссплатформенное программное обеспечение (Unix-подобные операционные системы), GNU/Linux, *BSD и другие

Первый выпуск

август 1993

Последняя версия
Состояние

Активно развивается

Лицензия

MIT License

Сайт

mesa3d.org

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

Помимо 3D-приложений, таких как игры, современные серверы отображения (X.org/Glamor или Wayland/Weston) Mesa используют Vulkan/OpenGL/EGL; Поэтому вся графика обычно проходит через Mesa. Компания AMD развивает драйверы Mesa с открытым исходным кодом (r600 для GPU без графической архитектуры GCN и radeonSI для моделей с GCN), вместо устаревшего AMD Catalyst (ранее fglrx). Кроме того, разработчики из компании AMD принимают активное участие в написании нового кода для дальнейшего развития драйверов RadeonSL для Mesa.

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

Mesa, Linux i display server

История[править | править вики-текст]

Проект был начат в августе 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.1 10 мая 2017 Реализация новых расширений OpenGL, Vulkan, дискового кэша RadeonSL
17.2 5 сентября 2017 Реализация новых расширений Vulkan, начальная поддержка OpenGL 4.6

Лицензия[править | править вики-текст]

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

Реализации API[править | править вики-текст]

API Vulkan OpenCL OpenGL OpenGL ES OpenVG EGL GLX Direct3D
Version Date last Update 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[12][13]
Текущая версия: 13.0 2016-11-01.iso.2017 13.0.6 N/A 4.5 N/A[14]
Старая поддерживаемая версия: 12.0 2016-07-08.iso.2017[15] 12.0.6 4.3[15] 3.1
Старая версия, не поддерживается: 11.2 2016-04-04.iso.2017[16] 11.2.2 N/A 4.1[17]
Старая версия, не поддерживается: 11.1 2015-12-15.iso.2017[18] 11.1.4 3.0
Старая версия, не поддерживается: 11.0 2015-09-12.iso.2017[19] 11.0.9
Старая версия, не поддерживается: 10.6 2015-06-15.iso.2017[20] 10.6.9 3.3[21] 1.4
Старая версия, не поддерживается: 10.5 2015-03-06.iso.2017[22] 10.5.9 1.1
Старая версия, не поддерживается: 10.4 2014-12-14.iso.2017[23] 10.4.7
Старая версия, не поддерживается: 10.3 2014-09-19.iso.2017[24] 10.3.7 N/A
Старая версия, не поддерживается: 10.2 2014-06-06.iso.2017[25] 10.2.9
Старая версия, не поддерживается: 10.1 2014-03-04.iso.2017[26] 10.1.6
Старая версия, не поддерживается: 10.0 2013-11-30.iso.2017[27] 10.0.5
Старая версия, не поддерживается: 9.0 2012-10-08.iso.2017 9.0.3, 9.1.7, 9.2.5 3.1[28] 2.0
Старая версия, не поддерживается: 8.0 2012-02-08.iso.2017 8.0.5 3.0
Старая версия, не поддерживается: 7.0 2007-06-22.iso.2017 7.0.4, ..., 7.11.2 2.1 N/A N/A N/A
Старая версия, не поддерживается: 6.0 2004-01-06.iso.2017 6.0.1 1.5 1.3
Старая версия, не поддерживается: 5.0 2002-11-13.iso.2017 5.0.2 1.4
Старая версия, не поддерживается: 4.0 2001-10-22.iso.2017 4.0.4 1.3
Старая версия, не поддерживается: 3.0 1998-09.iso.2017 3.1, 3.2.1, 3.4.2.1 1.2
Старая версия, не поддерживается: 2.0 1996-10.iso.2017 2.6 1.1
Старая версия, не поддерживается: 1.0 1995-02.iso.2017 1.2.8 1.0
Легенда:
Старая версия, не поддерживается
Старая поддерживаемая версия
Текущая версия
Тестовая версия
Будущая версия

Примечания[править | править вики-текст]

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

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]