Hardware Gráfico y Software Libre

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 15 de octubre de 2017; las comprobaciones requieren 9 ediciones .

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.

Soporte de software libre

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.

ATI/AMD

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.

NVIDIA

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

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.

Matriz

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] .

BRAZO

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] .

Tecnologías de imagen

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

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 ) .

vivante

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

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]

Otros fabricantes

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 .

Hardware abierto

Notas

  1. Descripción del controlador radeon Archivado el 25 de marzo de 2013 en Wayback Machine en freedesktop.org
  2. El controlador RadeonSI MESA admite mosaicos y texturas comprimidas . Consultado el 26 de abril de 2013. Archivado desde el original el 20 de mayo de 2013.
  3. README.RIVATNT  (enlace no disponible) , 18/11/98: "NVIDIA obligó a The XFree86 Project a reemplazar las fuentes que teníamos con fuentes que se ejecutaban en parte a través del preprocesador C para eliminar algunos de los nombres que NVIDIA pensó que podrían dar lejos de IP de NVIDIA. Esto resultó en un código ilegible e imposible de mantener".
  4. Un ejemplo de ofuscación  (enlace inaccesible)
  5. matriz de capacidad nouveau . Consultado el 14 de noviembre de 2012. Archivado desde el original el 12 de noviembre de 2012.
  6. Mayo, Jon [RFC 0/4] Agregar compatibilidad con NVIDIA Tegra DRM . lista de correo de dri-devel (20 de abril de 2012). Consultado: 21 de agosto de 2012.
  7. Larabel, Michael. Un controlador NVIDIA Tegra 2 DRM/KMS se muestra . Phoronix Media (11 de abril de 2012). Consultado el 21 de agosto de 2012. Archivado desde el original el 19 de abril de 2013.
  8. Respuesta de Intel con respecto a la compatibilidad con GMA 3600 en Linux . Archivado el 9 de junio de 2013 en Wayback Machine .
  9. ↑ Capa de abstracción de hardware de Matrox para G400/ 450 /550  . dri.freedesktop.org . dri.freedesktop.org. - Módulo HAL binario de Matrox para proporcionar funcionalidad adicional para chips G400/450/550. Consultado el 22 de marzo de 2017. Archivado desde el original el 22 de marzo de 2017.
  10. Se ha introducido un controlador abierto para la GPU Mali utilizada en muchos chips ARM . Consultado el 19 de octubre de 2012. Archivado desde el original el 12 de mayo de 2012.
  11. Versión "Picuntu" para Rockchip RK 3066 . Consultado el 2 de mayo de 2013. Archivado desde el original el 6 de mayo de 2013.
  12. Mesa agrega compatibilidad con el primer controlador de GPU para SoC basados ​​en ARM . Consultado el 13 de marzo de 2013. Archivado desde el original el 26 de abril de 2013.
  13. GitHub: laanwj/  etna_viv . GitHub (diciembre de 2012). - La página principal del recurso. Consultado el 30 de marzo de 2013. Archivado desde el original el 6 de junio de 2014.
  14. Como parte del proyecto etna_viv, se ha iniciado el desarrollo de un controlador abierto para la GPU Vivante . opennet.ru — Wladimir J. van der Laan, uno de los desarrolladores del sistema Bitcoin , fundó el proyecto Etna_viv para crear un controlador abierto para las GPU Vivante GCxxx suministradas en algunas plataformas ARM, como Marvell Armada 1500, Rockchip RK2918 y Freescale i. MX6 .: 14 de junio de 2013. Archivado desde el original el 27 de enero de 2013.
  15. ↑ GitHub : laanwj/etna_viv Wiki  . GitHub (diciembre de 2012). - Página de recursos Wiki. Consultado el 30 de marzo de 2013. Archivado desde el original el 6 de junio de 2014.
  16. Wladimir J. van der Laan. Q3A con controlador Etna OpenGL ES  (inglés)  (enlace no disponible) (13 de septiembre de 2013). Consultado el 15 de octubre de 2013. Archivado desde el original el 15 de octubre de 2013.
  17. Wladimir J. van der Laan. Más noticias de etna_viv  (inglés)  (enlace no disponible) (28 de agosto de 2013). Consultado el 15 de octubre de 2013. Archivado desde el original el 15 de octubre de 2013.
  18. Etnaviv (controlador de GPU Vivante): ¡Se necesita ayuda! (Octubre 11, 2013). Consultado el 15 de octubre de 2013. Archivado desde el original el 15 de octubre de 2013.
  19. Wladimir J. van der Laan. Etnaviv: Se necesita ayuda  (inglés)  (enlace no disponible) (8 de octubre de 2013). Archivado desde el original el 15 de octubre de 2013.
  20. Se ha publicado el código del controlador para el acelerador de video Broadcom VideoCore utilizado en Raspberry Pi . Consultado el 25 de octubre de 2012. Archivado desde el original el 25 de octubre de 2012.

Enlaces