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 (), где сейчас и происходит разработка. Разработка Mesa была впервые начата в августе 1993 года Брайаном Полом, который все ещё активно участвует в проекте. Впоследствии Mesa была широко принята и теперь содержит многочисленные вклады различных независимых людей и представителей корпораций со всего мира, в том числе от производителей графических процессоров, входящих в Khronos Group, которые администрируют спецификации OpenGL и Vulkan. Для GNU/Linux быстрое развитие Mesa также, кроме того, частично было вызвано добровольным сбором денег на разработку.

История

Проект был начат в августе 1993 года Брайаном Полом () как простая библиотека трёхмерной графики, реализующая 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, начальная реализация OpenGL 4.6, значительное улучшение производительности 17.3 8 декабря 2017Реализация новых расширений Vulkan и OpenGL, реализация дискового кэша RADV, значительное улучшение производительности

Лицензия Лицензия Mesa считалась свободной, но в 2008 году возникли вопросыgNewSense Bugs : Free as in freedom | Bugs / xserver-xorg: wordy SGI license may not be free насчёт небольших частей кода, распространявшихся под лицензиями SGI Free Software License B версии 1.1 и GLX Public License — они оказались несвободными. 19 февраля 2008 года SGI объявила о выходе гораздо более простой и одобренной FSF и Khronos Group SGI Free Software License B версии 2.0, и лицензировании под ней примеры реализации OpenGL, GLX API и других расширений GLX.

Реализации API API Vulkan OpenCL OpenGL OpenGL ES OpenVG EGL GLX Direct3D Версия Дата Последнее обновление 1.02016-02-16 2.12015-11-11 4.52014-08-11 3.22015-08-10 1.12008-12-03 1.52014-03-19 1.42005-12-16 12.02015-07-29 2017-03-2017.0.21.04.5 (+ доп. ARB)3.21.51.49.0c 13.0.6 rowspan="21" 4.5 rowspan="6" 12.0.6 4.33.1 11.2.2 rowspan="19" 4.1 11.1.4 3.0 11.0.9 10.6.9 3.3 1.4 10.5.9 1.1 10.4.7 10.3.7 rowspan="13" 10.2.9 10.1.6 10.0.5 9.0.3, 9.1.7, 9.2.5 3.1 2.0 8.0.5 3.0 7.0.4, …, 7.11.2 2.1 rowspan="7" rowspan="7" rowspan="7" 6.0.1 1.5 1.3 5.0.2 1.4 4.0.4 1.3 3.1, 3.2.1, 3.4.2.1 1.2 2.6 1.1 1.2.8 1.0

Примечания

См. также Gallium3D

Ссылки Официальный сайт

Категория:Программное обеспечение с лицензией MIT Категория:Свободные библиотеки программ Категория:Свободное системное программное обеспечение Категория:OpenGL Категория:Freedesktop.org