El software libre (FOS) se puede utilizar con una variedad de hardware de gráficos , principalmente gracias al proyecto X.Org . Hay diferentes niveles de soporte de hardware, desde totalmente compatible hasta no compatible. Algunos fabricantes de hardware no proporcionan controladores de código fuente gratuitos o documentación técnica para que los desarrolladores independientes escriban controladores acelerados en 3D , y el soporte para los productos de estas empresas puede ser limitado: solo se pueden proporcionar controladores binarios (los llamados blobs), o puede que falte documentación. obligue a los desarrolladores de controladores gratuitos a aplicar ingeniería inversa al hardware, o no habrá soporte en absoluto. En tales casos, los controladores binarios son contrarios a la filosofía del software libre, la calidad y la seguridad del software. También puede conducir al hecho de que la distribución del kernel de Linux junto con el software cerrado puede ser ilegal.
Una conocida fuente de velocidad, http://www.free3d.org Archivado el 28 de febrero de 2022 en Wayback Machine , recopila información de rendimiento 3D enviada por el usuario. Phoronix también compara el rendimiento de los controladores gratuitos.
En general, el controlador de video vesa admite el funcionamiento de la mayoría de las tarjetas de video sin aceleración de gráficos, con resoluciones de pantalla establecidas en el BIOS por el fabricante.
Un controlador propietario de ATI (ahora AMD ) se llama fglrx y se distribuye como parte del paquete AMD Catalyst Linux, que puede descargarse de Internet u obtenerse de los repositorios de algunas distribuciones.
El controlador " radeon " gratuito presenta soporte de aceleración 2D, Xv y 3D para tarjetas de video desde Radeon 7000 (R100) hasta Radeon HD 7000 ( arquitectura de las Islas del Sur ). También se conoce como el controlador "ati" [1] .
Para la serie HD7700 y tarjetas de video superiores basadas en la nueva arquitectura GCN, se utiliza el controlador RadeonSI gratuito, que actualmente es menos funcional que el controlador R600g [2] .
ATI publicó especificaciones para algunos conjuntos de chips en 2007-2009. AMD también participa en el desarrollo y soporte del controlador Radeon.
En el pasado, Nvidia proporcionó documentación para RIVA TNT y chips más antiguos, proporcionando un controlador nv [3] [4] parcialmente gratuito y parcialmente ofuscado para X.Org. El 26 de marzo de 2010 anunció el final del soporte para nuevas GPU en el controlador nv. Hay un proyecto de controlador gratuito llamado nouveau que aplica ingeniería inversa a la aceleración 3D con Gallium 3D . La matriz de capacidad del controlador nouveau está disponible en el sitio web del proyecto [5] .
Hay un controlador patentado para Nvidia tegra (como parte de Linux For Tegra Archivado el 10 de mayo de 2013 en Wayback Machine ). En abril de 2012, debido a una "necesidad de producción", Nvidia comenzó a trabajar con su socio Avionic Design GmbH para promover un controlador gratuito para el kernel de Linux [6] [7] .
Intel tiene un largo historial de lanzamiento de controladores gratuitos para sus núcleos gráficos. Los controladores están escritos por Tungsten Graphics de terceros.
Solo hay una excepción: los gráficos integrados GMA 500/600 y GMA 3600/3650 utilizados en los procesadores Atom no son del todo producto propio de Intel [8] (allí, los núcleos de gráficos PowerVR tienen licencia de Imagination Technologies , lo que significa que la posibilidad de libre conductores se determina esta empresa).
Hay dos versiones del controlador X.Org, el controlador xorg-video-i810, que es compatible con el i810 y algunos modelos más antiguos, y el controlador xf86-video-intel actualizado. Archivado el 11 de mayo de 2013 en Wayback Machine , que originalmente admitía los mismos modelos, pero en las nuevas versiones 2.0 y 2.1 se agregó soporte para G33, Q33 y Q35.
Para admitir los sistemas operativos Unix y Linux, Matrox ha lanzado solo controladores binarios para la mayoría de sus productos, así como controladores con código fuente parcialmente disponible para tarjetas de video basadas en el chip G550 que funcionan en conjunto con blobs . Además de los controladores propietarios , la comunidad de desarrollo de DRI ha lanzado controladores totalmente compatibles con GPL para una gran cantidad de tarjetas de video Matrox [9] .
ARM desarrolla aceleradores de gráficos Mali y vende licencias para bloques de software y hardware (ver IP-cores ). El 21 de enero de 2012, Phoronix anunció que Luc Verhaegen estaba escribiendo el controlador de Lima para el Mali-200 y el Mali-400 mediante ingeniería inversa [10] . El conductor fue presentado en el FOSDEM el 4 de febrero de 2012.
En mayo de 2013, basado en Ubuntu , apareció una compilación "Picuntu" con aceleración de gráficos funcional para dispositivos basados en el SoC Rockchip RK 3066 con una GPU Mali-400 [11] .
Imagination Technologies desarrolla GPU PowerVR y las vende como núcleos IP . El fabricante no proporciona un controlador o documentación gratuitos para sus productos. La Free Software Foundation ha incluido la ingeniería inversa del controlador PowerVR en su lista de proyectos de alta prioridad.
Qualcomm diseña y fabrica GPU Adreno, la mayoría de las veces como parte de un sistema en un chip Snapdragon . En 2012, Phoronix y Slashdot informaron que Rob Clark estaba realizando ingeniería inversa en la GPU Qualcomm Adreno (anteriormente ATI Imageon) utilizada en la plataforma móvil Snapdragon. Un controlador gratuito llamado Freedreno está publicado en GitHub . En 2012, se completó el trabajo en el ensamblador de sombreadores y se demostró el trabajo con texturas y sombreado Phong . En marzo de 2013, se agregó Freedreno [12] a Mesa (una implementación gratuita de la API de gráficos OpenGL ) .
Las GPU con licencia de Vivante se usan ampliamente en varios sistemas en un chip (Marvell Armada, Rockchip 2918, Freescale i.MX6, … [13] ), pero el fabricante no proporciona un controlador gratuito. En 2013, se lanzó un proyecto abierto Etna_viv [14] para escribir dicho controlador (también utilizando métodos de ingeniería inversa). El autor del proyecto es Vladimir J. Van der Lahn de los Países Bajos . Publica sobre este tema en su blog , y el proyecto en sí está alojado en GitHub . Archivado el 17 de julio de 2014 en Wayback Machine , que tiene su propia wiki especializada [15] . El objetivo del proyecto es desarrollar controladores Mesa / Gallium3D completos . En el marco de este proyecto, ya se ha creado un controlador OpenGL ES 2.0 para versiones de GPU 3D con un solo píxel (núcleos GC1000 e inferiores), su confiabilidad y funcionalidad son suficientes para ejecutar juegos como Quake 3 Arena [16] , Descent 2 renacimiento y Hurrican[17] . Sin embargo, el proyecto se encuentra en la etapa inicial de desarrollo y el autor pide ayuda en el desarrollo del proyecto [18] [19] .
Broadcom desarrolla y fabrica la GPU VideoCore , que se utiliza, por ejemplo, en la Raspberry Pi . El código del controlador se liberó en octubre de 2012, pero el firmware de la tarjeta gráfica sigue siendo propietario. [veinte]
SiS y VIA muestran un interés limitado.
DisplayLink anunciado el proyecto libdlo gratuitoun enfoque en la compatibilidad con tarjetas de video USB en Linux y otras plataformas. El código está disponible bajo la licencia LGPL .