Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 15 октября 2017 года; проверки требуют 9 правок.
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 15 октября 2017 года; проверки требуют 9 правок.
Графическое оборудование и Свободное программное обеспечение
Схема рендеринга: ОС Linux и приложения, использующие OpenGL.
Свободное программное обеспечение (СПО) может быть использовано с разнообразным графическим оборудованием, в основном благодаря проекту X.Org. Существуют разные уровни поддержки оборудования — от полностью поддерживаемого до неподдерживаемого. Некоторые производители оборудования не предоставляют драйверов со свободным исходным кодом или техническую документацию для написания независимыми разработчиками драйверов с поддержкой 3D-ускорения, и поддержка продуктов этих компаний может быть ограниченной: могут предоставляться только бинарные драйверы (так называемые блобы), или же недостаток документации может вынуждать разработчиков свободных драйверов к обратной разработке оборудования, или же поддержки не будет совсем. В таких случаях бинарные драйверы противоречат философии СПО, качеству и безопасности ПО. Также это может привести к тому, что распространение ядра линукс вместе с закрытым ПО может оказаться незаконным.
Известный источник о быстродействии, http://www.free3d.orgАрхивная копия от 28 февраля 2022 на Wayback Machine, собирает информацию о быстродействии 3D, высылаемую пользователями. Phoronix также занимается сравнением быстродействия свободных драйверов.
В общем случае, видеодрайвер vesa поддерживает без графического ускорения работу большинства видеокарт, с разрешениями экрана, заданными в BIOS производителем.
Проприетарный драйвер от ATI (ныне AMD) называется fglrx и распространяется как часть пакета AMD Catalyst Linux, который можно загрузить из интернета или получить из репозиториев некоторых дистрибутивов.
Свободный драйвер «radeon» представляет поддержку 2D, Xv и 3D-ускорения для видеокарт от Radeon 7000 (R100) до Radeon HD 7000 (архитектура Southern Islands). Также он известен как драйвер «ati»[1].
Для видеокарт серии HD7700 и выше, основанных на новой архитектуре GCN, применяется свободный драйвер RadeonSI, который пока менее функционален, чем драйвер R600g[2].
ATI выпускала спецификации для некоторых чипсетов в 2007—2009 годах. AMD также участвует в разработке и поддержке драйвера radeon.
В прошлом, Nvidia предоставляла документацию для чипов серии RIVA TNT и старее, предоставляя частично свободный и частично обфусицированный[3][4] драйвер nv для X.Org. 26 марта 2010 года объявила о прекращении поддержки новых GPU в драйвере nv.
Существует проект свободных драйверов nouveau, в котором благодаря обратной разработке задействовано 3D-ускорение с помощью Gallium 3D.
Матрица возможностей драйвера nouveau представлена на сайте проекта[5].
Для Nvidia tegra существует проприетарный драйвер (как часть Linux For TegraАрхивная копия от 10 мая 2013 на Wayback Machine). В апреле 2012 г., в связи с «производственной необходимостью», Nvidia совместно с партнёром Avionic Design GmbH начали работать над продвижением свободного драйвера в ядро Linux[6][7].
У Intel длительная история выпуска свободных драйверов для их графических ядер. Написанием драйверов занимается сторонний исполнитель Tungsten Graphics.
Есть только одно исключение: встроенная графика GMA 500/600 и GMA 3600/3650, используемая в процессорах Atom, — это не целиком собственный продукт от Intel[8] (там графические ядра PowerVR лицензированные у Imagination Technologies, а значит возможность появления свободных драйверов определяет именно эта фирма).
Существует две версии X.Org драйвера, драйвер xorg-video-i810, который поддерживает i810 и некоторые более старые модели и обновлённый драйвер xf86-video-intelАрхивная копия от 11 мая 2013 на Wayback Machine, который изначально поддерживал те же модели, но в новых версиях 2.0 и 2.1 добавлена поддержка G33, Q33 и Q35.
Для поддержки ОС Unix и Linux, Matrox выпустила только бинарные драйверы для большинства своих продуктов, а также драйверы с частично доступным исходным кодом для видеокарт на основе чипа G550, работающие совместно с блобами. В дополнение к закрытым драйверам, сообщество разработчиков DRI выпустило полностью GPL-совместимые драйверы для большого числа видеокарт Matrox[9].
ARM разрабатывает графические ускорители Mali и продаёт лицензии как на программные блоки, так и аппаратные (см. IP-cores). 21 января 2012 года Phoronix сообщил, что Luc Verhaegen с помощью обратной разработки пишет драйвер Lima для Mali-200 и Mali-400[10]. Драйвер был представлен на выставке FOSDEM 4 февраля 2012 года.
В мае 2013 года на основе Ubuntu появилась сборка «Picuntu» с работающим ускорением графики для устройств на SoC Rockchip RK 3066 с GPU Mali-400[11].
Imagination Technologies разрабатывают GPU PowerVR и продают их как IP-cores. Производитель не предоставляет ни свободного драйвера, ни документации к своей продукции. Фонд свободного программного обеспечения поместил в список высокоприоритетных проектов обратную разработку драйвера PowerVR.
Qualcomm разрабатывают и производят GPU Adreno, чаще всего как часть системы на кристалле Snapdragon. В 2012 году Phoronix и Slashdot сообщили, что Rob Clark занимается обратной разработкой GPU Qualcomm Adreno (ранее называвшееся ATI Imageon), которое используется в мобильной платформе Snapdragon. Свободный драйвер, названный Freedreno, опубликован на GitHub. В 2012 году была завершена работа над шейдерным ассемблером и была продемонстрирована работа с текстурами и затенением по Фонгу. В марте 2013 г. Freedreno был добавлен[12] в Mesa (свободную реализацию графического APIOpenGL).
Лицензируемые GPU от Vivante широко используются в различных системах на кристалле (Marvell Armada, Rockchip 2918, Freescale i.MX6, …[13]), но свободный драйвер производителем не предоставляется. В 2013 году был начат открытый проект Etna_viv[14] по написанию такого драйвера (также методами обратной разработки). Автором проекта является Владимир Дж. Ван-дер-Лан из Нидерландов. Он выкладывает сообщения по данной теме в своём блоге, а сам проект размещён на GitHubАрхивная копия от 17 июля 2014 на Wayback Machine, где имеется своя специализированная Вики[15]. Целью проекта является разработка полноценных драйверов Mesa/Gallium3D. В рамках данного проект уже создан драйвер OpenGL ES 2.0 для версий 3D GPU с одним пиксельным конвейером (ядра GC1000 и ниже), его надёжности и функциональности достаточно для запуска таких игр, как Quake 3 Arena[16], Descent 2 rebirth и Hurrican[en][17]. Тем не менее проект находится на начальной стадии развития и автор призывает к помощи в развитии проекта[18][19].
Broadcom разрабатывают и производят GPU VideoCore, который используется, к примеру, в Raspberry Pi. Код драйвера сделали свободным в октябре 2012 года, однако прошивка видеокарты остаётся проприетарной.[20]
DisplayLink[en] анонсировал свободный проект libdlo, с упором на поддержку USB-видеокарт в Linux и на других платформах. Код доступен под лицензией LGPL.
↑README.RIVATNT (недоступная ссылка), 11/18/98: «NVIDIA forced The XFree86 Project
to replace the sources we had with sources that were partly run through the
C preprocessor in order to remove some of the names that NVIDIA thought
might give away IP from NVIDIA. This resulted in unreadable and unmaintainable
code.»
↑Hardware Abstraction Layer by Matrox for G400/450/550(англ.). dri.freedesktop.org. dri.freedesktop.org. — Бинарный модуль HAL от Matrox для обеспечения дополнительной функциональности чипов G400/450/550. Дата обращения: 22 марта 2017. Архивировано 22 марта 2017 года.
↑В рамках проекта etna_viv началась разработка открытого драйвера для GPU Vivante(рус.). opennet.ru. — Wladimir J. van der Laan, один из разработчиков системы Bitcoin, основал проект Etna_viv по созданию открытого драйвера для GPU Vivante GCxxx, поставляемых в некоторых ARM-платформах, таких как Marvell Armada 1500, Rockchip RK2918 и Freescale i.MX6. Дата обращения: 14 июня 2013. Архивировано 27 января 2013 года.
↑Wladimir J. van der Laan.Q3A with Etna OpenGL ES driver(англ.) (13 сентября 2013). Дата обращения: 15 октября 2013. Архивировано из оригинала 15 октября 2013 года.
↑Wladimir J. van der Laan.More etna_viv news(англ.) (28 августа 2013). Дата обращения: 15 октября 2013. Архивировано из оригинала 15 октября 2013 года.
www.omgubuntu.co.uk/2011/01/ubuntu-graphics-driver-overview/# — An overview of graphic card manufacturers and how well they work with Ubuntu (копияАрхивная копия от 6 апреля 2017 на Wayback Machine)