Графическое оборудование и Свободное программное обеспечение
Свободное программное обеспечение (СПО) может быть использовано с разнообразным графическим оборудованием, в основном благодаря проекту X.Org. Существуют разные уровни поддержки оборудования — от полностью поддерживаемого до неподдерживаемого. Некоторые производители оборудования не предоставляют драйверов со свободным исходным кодом или техническую документацию для написания независимыми разработчиками драйверов с поддержкой 3D-ускорения, и поддержка продуктов этих компаний может быть ограниченной: могут предоставляться только бинарные драйверы (так называемые блобы), или же недостаток документации может вынуждать разработчиков свободных драйверов к обратной разработке оборудования, или же поддержки не будет совсем. В таких случаях бинарные драйверы противоречат философии СПО, качеству и безопасности ПО. Также это может привести к тому, что распространение ядра линукс вместе с закрытым ПО может оказаться незаконным.
Известный источник о быстродействии, http://www.free3d.org Архивная копия от 28 февраля 2022 на Wayback Machine, собирает информацию о быстродействии 3D, высылаемую пользователями. Phoronix также занимается сравнением быстродействия свободных драйверов.
Поддержка свободным программным обеспечением
[править | править код]В общем случае, видеодрайвер vesa поддерживает без графического ускорения работу большинства видеокарт, с разрешениями экрана, заданными в BIOS производителем.
ATI/AMD
[править | править код]Проприетарный драйвер от 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
[править | править код]В прошлом, 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
[править | править код]У 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.
Matrox
[править | править код]Для поддержки ОС Unix и Linux, Matrox выпустила только бинарные драйверы для большинства своих продуктов, а также драйверы с частично доступным исходным кодом для видеокарт на основе чипа G550, работающие совместно с блобами. В дополнение к закрытым драйверам, сообщество разработчиков DRI выпустило полностью GPL-совместимые драйверы для большого числа видеокарт Matrox[9].
ARM
[править | править код]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
[править | править код]Imagination Technologies разрабатывают GPU PowerVR и продают их как IP-cores. Производитель не предоставляет ни свободного драйвера, ни документации к своей продукции. Фонд свободного программного обеспечения поместил в список высокоприоритетных проектов обратную разработку драйвера PowerVR.
Qualcomm
[править | править код]Qualcomm разрабатывают и производят GPU Adreno, чаще всего как часть системы на кристалле Snapdragon. В 2012 году Phoronix и Slashdot сообщили, что Rob Clark занимается обратной разработкой GPU Qualcomm Adreno (ранее называвшееся ATI Imageon), которое используется в мобильной платформе Snapdragon. Свободный драйвер, названный Freedreno, опубликован на GitHub. В 2012 году была завершена работа над шейдерным ассемблером и была продемонстрирована работа с текстурами и затенением по Фонгу. В марте 2013 г. Freedreno был добавлен[12] в Mesa (свободную реализацию графического API OpenGL).
Vivante
[править | править код]Лицензируемые 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[англ.][17]. Тем не менее проект находится на начальной стадии развития и автор призывает к помощи в развитии проекта[18][19].
Broadcom
[править | править код]Broadcom разрабатывают и производят GPU VideoCore, который используется, к примеру, в Raspberry Pi. Код драйвера сделали свободным в октябре 2012 года, однако прошивка видеокарты остаётся проприетарной.[20]
Другие производители
[править | править код]SiS и VIA проявляют ограниченный интерес.
DisplayLink[англ.] анонсировал свободный проект libdlo, с упором на поддержку USB-видеокарт в Linux и на других платформах. Код доступен под лицензией LGPL.
- Project VGA Архивная копия от 17 января 2022 на Wayback Machine
- Open Graphics — проект, нацеленный на создание открытой архитектуры и стандарта графических карт;
- Система на кристалле Milkymist[англ.]
Примечания
[править | править код]- ↑ Описание драйвера radeon Архивная копия от 25 марта 2013 на Wayback Machine на сайте freedesktop.org
- ↑ В MESA-драйвере RadeonSI реализована поддержка тайлинга и сжатых текстур . Дата обращения: 26 апреля 2013. Архивировано 20 мая 2013 года.
- ↑ 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.»
- ↑ Пример обфускации (недоступная ссылка)
- ↑ Матрица возможностей nouveau . Дата обращения: 14 ноября 2012. Архивировано 12 ноября 2012 года.
- ↑ Mayo, Jon (2012-04-20). "[RFC 0/4] Add NVIDIA Tegra DRM support". dri-devel (Mailing list). Архивировано 25 декабря 2014. Дата обращения: 21 августа 2012.
- ↑ Larabel, Michael. A NVIDIA Tegra 2 DRM/KMS Driver Tips Up . Phoronix Media (11 апреля 2012). Дата обращения: 21 августа 2012. Архивировано 19 апреля 2013 года.
- ↑ Ответ Intel по поводу поддержки GMA 3600 в линукс Архивная копия от 9 июня 2013 на Wayback Machine
- ↑ Hardware Abstraction Layer by Matrox for G400/450/550 (англ.). dri.freedesktop.org. dri.freedesktop.org. — Бинарный модуль HAL от Matrox для обеспечения дополнительной функциональности чипов G400/450/550. Дата обращения: 22 марта 2017. Архивировано 22 марта 2017 года.
- ↑ Представлен открытый драйвер для используемого во многих ARM-чипах GPU Mali . Дата обращения: 19 октября 2012. Архивировано 12 мая 2012 года.
- ↑ Сборка «Picuntu» для Rockchip RK 3066 . Дата обращения: 2 мая 2013. Архивировано 6 мая 2013 года.
- ↑ В Mesa добавлена поддержка первого драйвера GPU для SoC на базе ARM . Дата обращения: 13 марта 2013. Архивировано 26 апреля 2013 года.
- ↑ GitHub: laanwj/etna_viv (англ.). GitHub (декабрь 2012). — Основная страница ресурса. Дата обращения: 30 марта 2013. Архивировано 6 июня 2014 года.
- ↑ В рамках проекта 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 года.
- ↑ GitHub: laanwj/etna_viv Wiki (англ.). GitHub (декабрь 2012). — Wiki-страница ресурса. Дата обращения: 30 марта 2013. Архивировано 6 июня 2014 года.
- ↑ Опубликован код драйвера для видеоускорителя Broadcom VideoCore, используемого в Raspberry Pi . Дата обращения: 25 октября 2012. Архивировано 25 октября 2012 года.
Ссылки
[править | править код]- 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)