De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda
Diagrama de flujo con Tux, el pingüino de Linux
Los datos y las instrucciones se envían a la GPU para su procesamiento. Los resultados renderizados se almacenan en un framebuffer , cuyo contenido es escaneado por el controlador de pantalla y enviado a la pantalla.

Un controlador de dispositivo de gráficos de código abierto y gratuito es una pila de software que controla el hardware de gráficos por computadora y admite interfaces de programación de aplicaciones (API) de representación de gráficos y se publica bajo una licencia de software de código abierto y gratuito . Los controladores de dispositivos gráficos están escritos para hardware específico para que funcione dentro de un kernel de sistema operativo específico y para admitir una variedad de API que utilizan las aplicaciones para acceder al hardware de gráficos. También pueden controlar la salida a la pantalla si el controlador de pantalla es parte del hardware de gráficos. La mayoría de los controladores de dispositivos gráficos gratuitos y de código abierto son desarrollados por Mesaproyecto. El controlador se compone de un compilador , una API de renderizado y un software que administra el acceso al hardware de gráficos.

Los controladores sin código fuente libre (y legalmente) disponible se conocen comúnmente como controladores binarios . Los controladores binarios utilizados en el contexto de los sistemas operativos que son propensos a un desarrollo y cambio continuo (como Linux) crean problemas para los usuarios finales y los encargados del mantenimiento de paquetes . Estos problemas, que afectan la estabilidad, la seguridad y el rendimiento del sistema, son la razón principal del desarrollo independiente de controladores gratuitos y de código abierto. Cuando no se dispone de documentación técnica, a menudo se obtiene una comprensión del hardware subyacente mediante la ingeniería inversa de sala limpia . Con base en este entendimiento, los controladores de dispositivos pueden estar escritos y publicados legalmente bajo cualquier licencia de software .

En raras ocasiones, el código fuente del controlador de un fabricante está disponible en Internet sin una licencia gratuita . Esto significa que el código se puede estudiar y modificar para uso personal, pero el código fuente alterado (y normalmente el original) no se puede distribuir libremente. Las soluciones a errores en el controlador no se pueden compartir fácilmente en forma de versiones modificadas del controlador. Por lo tanto, la utilidad de dichos controladores se reduce significativamente en comparación con los controladores gratuitos y de código abierto.

Problemas con los controladores propietarios [ editar ]

Vista del desarrollador de software [ editar ]

Ilustración de la pila de gráficos de Linux

Hay objeciones a los controladores solo binarios basadas en preocupaciones de derechos de autor, seguridad, confiabilidad y desarrollo. Como parte de una campaña más amplia contra los blobs binarios , el desarrollador líder de OpenBSD , Theo de Raadt, dijo que con un controlador binario "no hay forma de arreglarlo cuando se rompe (y se romperá)"; cuando el fabricante declara que un producto que se basa en controladores binarios ha llegado al final de su vida útil , efectivamente se "daña para siempre". [1] El proyecto también ha declarado que los controladores binarios [2] "ocultan errores y soluciones para los errores", [3] una observación que ha sido de alguna manera reivindicada por fallas encontradas en los controladores binarios (incluido un error explotable en los controladores 3D de Nvidia descubiertos en octubre de 2006 por Rapid7 ). Se especula que el error existe desde 2004; Nvidia lo ha negado, afirmando que el problema solo se les comunicó en julio de 2006 y que el error de 2004 fue un error en X.Org (no en el controlador de Nvidia). [4]

Los controladores binarios a menudo no funcionan con las versiones actuales de software de código abierto y casi nunca admiten instantáneas de desarrollo de software de código abierto; Por lo general, un desarrollador no puede utilizar directamente los controladores patentados de Nvidia o ATI con una instantánea de desarrollo de un servidor X o una instantánea de desarrollo del kernel de Linux. Las características como la configuración del modo del kernel no se pueden agregar a los controladores binarios por nadie más que por los proveedores, lo que impide su inclusión si el proveedor carece de capacidad o interés.

En la comunidad de desarrollo del kernel de Linux , Linus Torvalds ha hecho declaraciones contundentes sobre el tema de los módulos solo binarios: "Me niego a considerar siquiera atarme las manos a algún módulo solo binario ... Quiero que la gente sepa que cuando usan binarios -sólo módulos, es su problema ". [5] Otro desarrollador de kernel, Greg Kroah-Hartman , ha dicho que un módulo de kernel solo binario no cumple con la licencia del kernel (la Licencia Pública General GNU ); "simplemente viola la GPL debido a cosas divertidas como trabajos derivados y enlaces y otras cosas". [6] Escritor e informático Peter Gutmannha expresado su preocupación de que el esquema de administración de derechos digitales en el sistema operativo Windows Vista de Microsoft pueda limitar la disponibilidad de la documentación requerida para escribir controladores abiertos, ya que "requiere que los detalles operativos del dispositivo se mantengan confidenciales". [7]

En el caso de los controladores binarios, existen objeciones debido a la filosofía del software libre , la calidad del software y los problemas de seguridad . [8] En 2006, Greg Kroah-Hartman concluyó que:

"Los módulos del kernel de Linux de código cerrado son ilegales. Eso es todo, es muy simple. He tenido la desgracia de hablar con muchos abogados de propiedad intelectual diferentes a lo largo de los años sobre este tema, y ​​todos con los que he hablado están de acuerdo que no hay forma de que alguien pueda crear un módulo del kernel de Linux, hoy, que pueda ser de código cerrado. Simplemente viola la GPL debido a cosas divertidas como trabajos derivados y enlaces ".[9]

El kernel de Linux nunca ha mantenido una interfaz binaria de aplicación en el kernel estable . [10] También existe la preocupación de que los controladores propietarios puedan contener puertas traseras , como la que se encuentra en los controladores de módem de la serie Samsung Galaxy . [11]

Vista del desarrollador de hardware [ editar ]

En el futuro, libGL-fglrx-glx podría usar el libDRM del controlador de código abierto Radeon en lugar del blob binario propietario ; la mayor parte de la inversión está en el controlador del espacio de usuario.

Cuando aplicaciones como un motor de juegos 3D o un software de gráficos por computadora en 3D derivan los cálculos de la CPU a la GPU, generalmente usan una API de propósito especial como OpenGL o Direct3D y no se dirigen directamente al hardware. Porque toda la traducción (desde llamadas a API a códigos de operación de GPU) lo realiza el controlador del dispositivo, contiene conocimientos especializados y es objeto de optimización. Debido a la historia de la rigidez del desarrollo de controladores propietarios, ha habido un aumento reciente en la cantidad de controladores de dispositivos respaldados por la comunidad para GPU de escritorio y móviles. Las organizaciones de hardware libre y abierto como FOSSi, LowRISC y otras, también se beneficiarían del desarrollo de un estándar de hardware gráfico abierto. Esto proporcionaría a los fabricantes de computadoras, aficionados y similares una plataforma completa y libre de regalías con la que desarrollar hardware informático y dispositivos relacionados.

El mercado de las computadoras de escritorio estuvo dominado durante mucho tiempo por el hardware de PC que utiliza el conjunto de instrucciones x86 / x86-64 y las GPU disponibles para la PC. Con tres grandes competidores (Nvidia, AMD e Intel). El principal factor en competencia fue el precio del hardware y el rendimiento bruto en los juegos de computadora en 3D, que se ve muy afectado por la traducción eficiente de las llamadas API a los códigos de operación de la GPU. El controlador de pantalla y el decodificador de videoson partes inherentes de la tarjeta gráfica: hardware diseñado para ayudar en los cálculos necesarios para la decodificación de secuencias de video. A medida que el mercado de hardware de PC se ha reducido, parece poco probable que entren nuevos competidores en este mercado y no está claro cuánto más conocimiento podría obtener una empresa al ver el código fuente de los controladores de otras empresas.

El sector móvil presenta una situación diferente. Los bloques funcionales (el controlador de pantalla del circuito integrado específico de la aplicación , la aceleración 2 y 3D y la decodificación y codificación de video) son bloques separados de propiedad intelectual de semiconductores (SIP) en el chip, ya que los dispositivos de hardware varían sustancialmente; algunos reproductores multimedia portátiles requieren un controlador de pantalla que acelera la decodificación de video, pero no requieren aceleración 3D. El objetivo de desarrollo no es solo el rendimiento 3D en bruto, sino también la integración del sistema, el consumo de energía y las capacidades 2D. También hay un enfoque que abandona el método tradicional ( Vsync ) de actualizar la pantalla y hace un mejor uso de muestreo y retención tecnología para reducir el consumo de energía.

Durante el segundo trimestre de 2013, el 79,3 por ciento de los teléfonos inteligentes vendidos en todo el mundo ejecutaban una versión de Android , [12] y el kernel de Linux domina los teléfonos inteligentes. Los desarrolladores de hardware tienen un incentivo para ofrecer controladores de Linux para su hardware pero, debido a la competencia, no hay ningún incentivo para hacer que estos controladores sean gratuitos y de código abierto. Los problemas adicionales son los aumentos específicos de Android al kernel de Linux que no se han aceptado en la línea principal , como Atomic Display Framework (ADF). [13] ADF es una característica de los kernels 3.10 AOSP que proporciona un marco centrado en dma-buf entre el hwcomposer HAL de Androidy el controlador del kernel. ADF se superpone significativamente con el marco DRM - KMS . ADF no ha sido aceptado en la línea principal, pero se está desarrollando un conjunto diferente de soluciones que abordan los mismos problemas (conocido como configuración de modo atómico ). Proyectos como libhybris aprovechan los controladores de dispositivos Android para ejecutarse en plataformas Linux distintas de Android.

Comparaciones de rendimiento [ editar ]

Glxgears no es adecuado para la evaluación comparativa . [14]

Phoronix , que compara controladores gratuitos, es una fuente de pruebas en el mundo real:

  • 19 de marzo de 2011 [15]
  • 31 de marzo de 2013 [16]
  • Una comparación del 29 de abril de 2013 entre software libre y controladores patentados [17]
  • Una comparación del 27 de octubre de 2013 de controladores propietarios en Windows 8.1 y Linux [18]
  • Una comparación del 25 de enero de 2014 de controladores FOSS en Linux [19]
  • Una comparación del 27 de enero de 2014 de controladores propietarios en Linux [20]
  • Una comparación del 19 de marzo de 2014 de Ubuntu con el controlador de dispositivo de gráficos gratuito y de código abierto distribuido como parte de Mesa 3D , que supera a Mac OS X 10.9.2 cuando se reproduce Xonotic basado en OpenGL en una MacBook Air 2013 . [21]
  • Una comparación de enero de 2017 indicó una diferencia de potencia entre el controlador Mesa Nouveau y NVidia y Kepler y Maxwell. Es necesario volver a bloquear para que Maxwell en Nouveau aumente el nivel a Kepler. Existe una brecha con Mesa del 30 al 50% en la eficiencia básica del controlador contra Nvidia en todos los chips. [22]
  • Una comparación de febrero de 2017 indicó que Mesa 17.1dev era igual o mejor que el controlador de la GPU AMD 16.60 en OpenGL y un 20-30 por ciento más bajo en Vulkan . [23]
  • Una comparación de marzo de 2017 indicó mejoras en Mesa para RadeonSI entre las versiones 11.1 y 17.1. [24]
  • Una comparación de junio de 2017 Windows 10 Radeon Software frente a Ubuntu 17.04 + Linux 4.12 + Mesa 17.2-dev -> Resultado mesa radeonsi al mismo nivel [25]
  • Una comparación de octubre de 2017 RadeonSI / RADV Mesa 17.3 + AMDGPU DC frente al rendimiento de juegos de Linux patentado NVIDIA 387.12 -> Resultado: Nvidia lidera el liderazgo [26]
  • 2018-02: Comparación Mesa 12 a 18 con AMD R580 y R9 Fury para pruebas OpenGL y Vulkan [27]
  • 2018-06: Comparación Mesa 18.2 versus Nvidia Driver 396 con Nvidia GeForce Cards 680 y superior [28]
  • 2018-07: Comparación Mesa RadeonSI 18.0, 18.1, 18.2 y RadV con tarjetas Radeon RX [29]
  • 2018-10: Comparación del controlador cerrado AMD 18.40, AMDVLK y Mesa RadeonSI 18.2, 18.3 [30]
  • 2018-11: Comparación de 25 tarjetas AMD y Nvidia con Mesa 19.0dev y NVIDIA Driver 415 [31]
  • 2019-01: Comparación de tarjetas Linux 5.0 + Mesa 19.0dev + AMD RX y controlador NVIDIA GeForce 415 con tarjetas Nvidia [32]
  • 2019-01: Comparación Mesa 18.2, 18.3, 19.0dev RadeonSI / RADV con tarjetas AMD RX [33]
  • 2019-05: Comparación Mesa 19.2 AMD Polaris, Vega con Nvidia [34]
  • 2019-12: Comparación de Mesa 18.2.8 a 20.0dev para RadeonSI con Radeon RX 580 y RX Vega 64 [35]

Es poco común que las revistas de videojuegos informen sobre pruebas comparativas en Linux. Los puntos de referencia en Phoronix tienen un alcance limitado, principalmente para probar juegos que están disponibles en Linux y admiten la evaluación comparativa automatizada. [36]

Arquitectura de software [ editar ]

Aunque Mesa ( DRI ) y Gallium3D tienen diferentes modelos de controladores, comparten código gratuito y de fuente abierta .
Una matriz de ejemplo del modelo de controlador Gallium3D. Con la introducción del rastreador Gallium3D y las interfaces WinSys, se requieren 18 módulos en lugar de 36. Cada módulo WinSys puede funcionar con cada módulo controlador de dispositivo Gallium3D y con cada módulo State Tracker.

Los controladores gratuitos y de código abierto son desarrollados principalmente en y para Linux por desarrolladores del kernel de Linux, entusiastas de la programación de terceros y empleados de empresas como Advanced Micro Devices . Cada controlador tiene cinco partes:

  1. Un DRM de componente del kernel de Linux
  2. Un controlador KMS del componente del kernel de Linux (el controlador del controlador de pantalla )
  3. Un componente de espacio de usuario libDRM (una biblioteca contenedora para llamadas al sistema DRM, que solo debe usar Mesa 3D)
  4. Un componente de espacio de usuario de Mesa 3D . Este componente es específico del hardware; se ejecuta en la CPU y traduce los comandos OpenGL, por ejemplo, en código de máquina para la GPU. Debido a que el controlador de dispositivo está dividido, es posible calcular las referencias . Mesa 3D es la única implementación gratuita y de código abierto de OpenGL , OpenGL ES , OpenVG , GLX , EGL y OpenCL . En julio de 2014, la mayoría de los componentes cumplían con las especificaciones de Gallium3D . Un State Tracker completamente funcional para Direct3D versión 9 está escrito en Cy un rastreador no mantenido para las versiones 10 y 11 de Direct3D está escrito en C ++ . [37] Wine tiene Direct3D versión 9. Otro componente Wine traduce las llamadas Direct3D en llamadas OpenGL, trabajando con OpenGL.
  5. Device Dependent X (DDX), otro controlador de dispositivo de gráficos 2D para X.Org Server

El DRM es específico del kernel . Generalmente, un controlador VESA está disponible para cualquier sistema operativo. El controlador VESA admite la mayoría de las tarjetas gráficas sin aceleración y con resoluciones de pantalla limitadas a un conjunto programado en el BIOS de video por el fabricante. [38]

Historia [ editar ]

La pila de gráficos de Linux ha evolucionado, desviada por el protocolo central del sistema X Window .

  • Controladores 2D en el servidor X

  • Renderizado indirecto sobre GLX usando Utah GLX

  • Infraestructura de renderizado directo y framebuffer

  • Todo el acceso pasa por el Administrador de renderizado directo

  • En el kernel de Linux 3.12, los nodos de renderización se fusionan y la configuración de modo se separa. Wayland implementa el renderizado directo sobre EGL .

Controladores gratuitos y de código abierto [ editar ]

ATI y AMD [ editar ]

Radeon [ editar ]

Controladores de dispositivos Linux para hardware AMD en agosto de 2016

El controlador propietario de AMD , AMD Catalyst para su Radeon , está disponible para Microsoft Windows y Linux (anteriormente fglrx). Se puede descargar una versión actual del sitio de AMD, y algunas distribuciones de Linux la contienen en sus repositorios. Está en proceso de ser reemplazado por un controlador híbrido AMDGPU-PRO que combina el kernel de código abierto, los controladores multimedia X y Mesa con los controladores OpenGL, OpenCL y Vulkan de código cerrado derivados de Catalyst.

Los controladores FOSS para GPU ATI -AMD se están desarrollando con el nombre Radeon (xf86-video-ati o xserver-xorg-video-radeon). Todavía deben cargar microcódigo propietario en la GPU para permitir la aceleración de hardware. [39] [ verificación fallida ]

El código Radeon 3D se divide en seis controladores, según la tecnología GPU: los controladores clásicos radeon, r200 y r300 y los controladores r300g, r600g y radeonsi Gallium3D :

  • Radeon es compatible con la serie R100 .
  • R200 es compatible con la serie R200 .
  • R300g admite microarquitecturas de modelos de sombreado previamente unificados : R300 , R400 y R500 .
  • R600g es compatible con todas las GPU basadas en TeraScale (VLIW5 / 4) : R600 , R700 , HD 5000 (Evergreen) y HD 6000 (Islas del Norte) .
  • Radeonsi es compatible con todas las GPU basadas en Graphics Core Next : HD 7000 , HD 8000 y Rx 200 (Islas del Sur, Islas Marinas e Islas Volcánicas).

Se encuentra disponible una matriz de funciones actualizada, [40] y es compatible con el motor de codificación de video [41] y el decodificador de video unificado . [42] [43] Los controladores de dispositivos gráficos Radeon de código abierto y gratuitos no tienen ingeniería inversa, sino que se basan en la documentación publicada por AMD sin el requisito de firmar un acuerdo de confidencialidad (NDA). [44] [45] [46] La documentación comenzó a publicarse gradualmente en 2007. [47] [48] [49] Esto contrasta con el principal competidor de AMD en el campo de los gráficos, Nvidia , que tiene un controlador propietario similar a AMD. Catalizadorpero no brinda soporte a las iniciativas de gráficos libres. [50]

Además de proporcionar la documentación necesaria, los empleados de AMD contribuyen con código para respaldar su hardware y funciones. [41]

Todos los componentes del controlador del dispositivo de gráficos Radeon son desarrollados por colaboradores principales y partes interesadas en todo el mundo. En 2011, el r300g superó a Catalyst en algunos casos.

AMDGPU [ editar ]

En la Conferencia de Desarrolladores de Juegos de 2014 , AMD anunció que estaban explorando un cambio de estrategia para volver a basar la parte del espacio de usuario de Catalyst en un módulo de kernel DRM gratuito y de código abierto en lugar de su blob de kernel patentado . [51]

El lanzamiento del nuevo módulo y pila del kernel AMDGPU se anunció en la lista de correo de dri-devel en abril de 2015. [52] Aunque AMDGPU solo admite oficialmente tarjetas gráficas GCN 1.2 y posteriores, [53] compatibilidad experimental con tarjetas gráficas GCN 1.0 y 1.1 (que solo son oficialmente compatibles con el controlador Radeon) se pueden habilitar a través de un parámetro del kernel. [54] [55] Se ha incluido una libdrm separada , libdrm-amdgpu, desde libdrm 2.4.63. [56]

El código radeonsi 3D mencionado en el párrafo anterior de Radeon también se usa con amdgpu; el controlador 3D tiene back-end para radeon y amdgpu.

Nvidia [ editar ]

Captura de pantalla de REnouveau, un programa que recopila datos para la mayor parte del trabajo de ingeniería inversa de Nouveau

Nvidia driver propietario 's, controlador Nvidia GeForce para GeForce , está disponible para Windows XP x86 - x86-64 y más tarde, Linux x86-x86-64- ARMv7-A , OS X 10.5 y posteriores, Solaris x86 x86-64 y FreeBSD x86 / x86-64. Se puede descargar una versión actual de Internet, y algunas distribuciones de Linux la contienen en sus repositorios. El controlador Nvidia GeForce 331.13 beta del 4 de octubre de 2013 es compatible con la interfaz EGL , lo que permite la compatibilidad con Wayland junto con este controlador. [57] [58]

El controlador gratuito y de código abierto de Nvidia se llama nv. [59] Es limitado (solo admite aceleración 2D), y Matthew Garrett , Dirk Hohndel y otros han calificado su código fuente como confuso. [60] [61] [62] Nvidia decidió desaprobar nv, sin agregar soporte para Fermi o GPU posteriores y DisplayPort , en marzo de 2010. [63]

En diciembre de 2009, Nvidia anunció que no apoyaría las iniciativas de gráficos gratuitos. [50] El 23 de septiembre de 2013, la empresa anunció que publicaría cierta documentación de sus GPU. [64]

Nouveau se basa casi en su totalidad en información obtenida mediante ingeniería inversa . Este proyecto tiene como objetivo producir aceleración 3D para X.Org/ Wayland utilizando Gallium3D . [65] El 26 de marzo de 2012, el componente DRM de Nouveau se marcó como estable y se promovió desde el área de prueba del kernel de Linux. [66] Nouveau es compatible con las GPU basadas en Tesla (y versiones anteriores), Fermi , Kepler y Maxwell . [67] El 31 de enero de 2014, el empleado de Nvidia Alexandre Courbot comprometió un extenso conjunto de parches que agrega soporte inicial para el GK20A ( Tegra K1 ) a Nouveau.[68] En junio de 2014, Codethink supuestamente ejecutó un compositor Weston basado en Wayland con el kernel 3.15 de Linux , usando EGL y una "pila de controladores de gráficos 100% de código abierto" en un Tegra K1 . [69] Hay disponible una matriz de funciones. [70] En julio de 2014, Nouveau no pudo superar al controlador Nvidia GeForce debido a que no tenía soporte para volver a sincronizar. Tegra-re es un proyecto que está trabajando para aplicar ingeniería inversa a laserie de GPU Tegra basada en VLIW de nVidiaque es anterior a Tegra K1. [71]

Nvidia distribuye controladores de dispositivos patentados para Tegra a través de OEM y como parte de su kit de desarrollo Linux para Tegra (anteriormente L4T). [72] Nvidia y un socio, Avionic Design , estaban trabajando para enviar Grate (controladores gratuitos y de código abierto para Tegra) en sentido ascendente del kernel de Linux principal en abril de 2012. [73] [74] El cofundador y director ejecutivo de la empresa de la hoja de ruta del procesador Tegra con Ubuntu Unity en la Conferencia de Tecnología de GPU de 2013 . [75]

El controlador de memoria unificada de Nvidia (nvidia-uvm.ko), que implementa la administración de memoria para las GPU Pascal y Volta en Linux, tiene licencia MIT. El código fuente está disponible en las descargas de controladores de Nvidia Linux en sistemas que admiten nvidia-uvm.ko.

Intel [ editar ]

Intel tiene un historial de producción (o puesta en servicio) de controladores de código abierto para sus chips gráficos, con la excepción de sus chips basados ​​en PowerVR . [76] Su controlador 2D X.Org se llama xf86-video-intel. El controlador de configuración del modo del kernel en el kernel de Linux no usa el BIOS de video para cambiar los modos de video ; Dado que algunos BIOS tienen una gama limitada de modos, esto proporciona un acceso más confiable a los compatibles con las tarjetas de video Intel.

La compañía trabajó en la optimización de sus controladores Linux gratuitos para un rendimiento que se acercara a sus contrapartes de Windows , especialmente en Sandy Bridge y hardware más nuevo donde las optimizaciones de rendimiento han permitido que el controlador Intel supere a sus controladores propietarios de Windows en ciertas tareas, en 2011. [77] [78] [79] Algunas de las mejoras de rendimiento también pueden beneficiar a los usuarios de hardware antiguo. [80]

Se agregó soporte para LLC de Intel (Last Level Cache, L4-Cache, Crystalwell e Iris Pro) en el kernel de Linux 3.12, [81] [82] y la compañía tiene de 20 a 30 desarrolladores de gráficos Linux a tiempo completo. [83]

Matrox [ editar ]

Matrox desarrolla y fabrica Matrox Mystique , Parhelia , G200 , G400 y G550 . Aunque la empresa ofrece controladores gratuitos y de código abierto para sus conjuntos de chips que son más antiguos que el G550; Los conjuntos de chips más nuevos que el G550 son compatibles con un controlador de código cerrado.

Gráficos S3 [ editar ]

S3 Graphics desarrolla S3 Trio , ViRGE , Savage y Chrome , compatibles con OpenChrome. [84]

Arm Holdings [ editar ]

Arm Holdings es una empresa de semiconductores sin fábrica que otorga licencias de núcleos de propiedad intelectual de semiconductores . Aunque son conocidos por otorgar licencias para el conjunto de instrucciones ARM y las CPU basadas en él, también desarrollan y licencian la serie Mali de GPU. El 21 de enero de 2012, Phoronix informó que Luc Verhaegen estaba impulsando un intento de ingeniería inversa dirigido a la serie de GPU Arm Holdings Mali (específicamente, las versiones Mali-200 y Mali-400). El proyecto de ingeniería inversa, conocido como Lima, fue presentado en FOSDEM el 4 de febrero de 2012. [85] [86]El 2 de febrero de 2013, Verhaegen demostró Quake III Arena en modo timedemo, corriendo sobre el driver de Lima. [87] En mayo de 2018, un desarrollador de Lima publicó el controlador para su inclusión en el kernel de Linux. [88] A partir de mayo de 2019, el controlador Lima es parte del kernel principal de Linux. [89]

Panfrost es un esfuerzo de controlador de ingeniería inversa para las GPU Mali Txxx (Midgard) y Gxx (Bifrost). La presentación de Panfrost se presentó en la Conferencia de desarrolladores de X.Org 2018. A partir de mayo de 2019, el controlador Panfrost es parte del núcleo principal de Linux. [90]

ARM no ha indicado ninguna intención de proporcionar soporte para su hardware de aceleración de gráficos con licencia de código abierto y gratuito. Sin embargo, los empleados de ARM enviaron parches para el kernel de Linux para admitir su controlador de pantalla ARM HDLCD y bloques SIP Mali DP500, DP550 y DP650 en diciembre de 2015 y abril de 2016. [91] [92]

Tecnologías de la imaginación [ editar ]

Imagination Technologies es una empresa de semiconductores sin fábrica que desarrolla y otorga licencias de núcleos de propiedad intelectual de semiconductores , entre los que se encuentran las GPU PowerVR . Intel ha fabricado varias GPU basadas en PowerVR . Las GPU PowerVR se utilizan ampliamente en SoC móviles . La empresa no proporciona un controlador FOSS ni documentación pública para PowerVR. Debido a su amplio uso en dispositivos integrados, la Free Software Foundation ha incluido la ingeniería inversa del controlador PowerVR en su lista de proyectos de alta prioridad. [93]

Vivante [ editar ]

Vivante Corporation es una empresa de semiconductores sin fábrica que otorga licencias de núcleos de propiedad intelectual de semiconductores y desarrolla la serie de GPU GCxxxx. Un controlador Linux de código cerrado y propietario de Vivante consta de partes del kernel y del espacio del usuario. Aunque el componente del kernel es de código abierto ( GPL ), los componentes del espacio de usuario, que consisten en las implementaciones de GLES (2) y una biblioteca HAL, no lo son; estos contienen la mayor parte de la lógica del controlador.

Wladimir J. van der Laan encontró y documentó los bits de estado, el flujo de comandos y el sombreador ISA mediante el estudio de cómo funcionan los blobs, examinando y manipulando los volcados del flujo de comandos. El controlador Etnaviv Gallium3D se está escribiendo en base a esta documentación. El trabajo de Van der Laan se inspiró en el controlador de Lima, y ​​el proyecto ha producido un controlador LLVM Gallium3D funcional pero no optimizado. El controlador Etnaviv ha funcionado mejor que el código propietario de Vivante en algunos puntos de referencia y es compatible con las series GC400, GC800, GC1000, GC2000, GC3000 y GC7000 de Vivante. [94] En enero de 2017, Etnaviv se agregó a Mesa con compatibilidad con OpenGL ES 2.0 y Desktop OpenGL 2.1. [95]

Qualcomm [ editar ]

Qualcomm desarrolla la serie de GPU móviles Adreno (anteriormente ATI Imageon ) y la incluye como parte de su serie SoC móvil Snapdragon . Phoronix y Slashdot informaron en 2012 que Rob Clark, inspirado por el controlador de Lima, estaba trabajando en controladores de ingeniería inversa para la serie de GPU Adreno. [96] [97] En una publicación de blog mencionada, Clark escribió que estaba haciendo el proyecto en su tiempo libre y que la plataforma Qualcomm era su único objetivo viable para trabajar en gráficos 3D abiertos. Sus empleadores ( Texas Instruments y Linaro ) estaban afiliados a Imagination PowerVR yNúcleos ARM Mali , que habrían sido sus principales objetivos; tenía flujos de comandos de trabajo para soporte 2D, y los comandos 3D parecían tener las mismas características. [98] El código del controlador se publicó en Gitorious "freedreno", [99] y se ha trasladado a Mesa. [100] [101] En 2012, se completó un ensamblador de sombreadores en funcionamiento; [102] Se desarrollaron versiones de demostración para mapeo de texturas [103] y sombreado phong , [104] utilizando el compilador de sombreado de ingeniería inversa. Clark demostró Freedreno ejecutando composición de escritorio, el reproductor multimedia XBMC y Quake III Arenaen FOSDEM el 2 de febrero de 2013. [105]

En agosto de 2013, el componente del kernel de freedreno (controlador MSM) fue aceptado en la línea principal y está disponible en el kernel de Linux 3.12 y posterior. [106] El controlador DDX obtuvo soporte para descriptores de archivos administrados por servidor que requieren X.Org Server versión 1.16 y superior en julio de 2014. [107] En enero de 2016, el controlador de estilo Mesa Gallium3D ganó soporte para Adreno 430; [108] en noviembre de ese año, el conductor agregó soporte para la serie Adreno 500. [109] Freedreno se puede utilizar en dispositivos como 96Boards Dragonboard 410c y Nexus 7 (2013) en distribuciones tradicionales de Linux (como Debian yFedora ) y en Android .

Broadcom [ editar ]

El controlador Mesa para VideoCore4, VC4, fue escrito desde cero por Eric Anholt de Broadcom. [110]

Broadcom desarrolla y diseña la serie de GPU VideoCore como parte de sus SoC . Dado que es utilizado por Raspberry Pi , ha habido un interés considerable en un controlador FOSS para VideoCore. [111] La Fundación Raspberry Pi, en cooperación con Broadcom, anunció el 24 de octubre de 2012 que abrieron "todo el código ARM (CPU) que impulsa la GPU". [ cita requerida ] Sin embargo, el anuncio fue engañoso; Según el autor del controlador Lima de ingeniería inversa, los nuevos componentes de código abierto solo permitían el paso de mensajes entre la CPU ARM y VideoCore, pero ofrecían poca información sobre Videocore y poca capacidad de programación adicional. [112]La GPU Videocore ejecuta un RTOS que maneja el procesamiento; La aceleración de video se realiza con firmware RTOS codificado para su GPU patentada, y el firmware no era de código abierto en esa fecha. [113] Dado que no había una cadena de herramientas dirigida a la GPU propietaria ni un conjunto de instrucciones documentado , no se podría aprovechar ninguna ventaja si el código fuente del firmware estuviera disponible. El proyecto Videocoreiv [114] intentó documentar las GPU VideoCore.

El 28 de febrero de 2014 (segundo aniversario de Raspberry Pi), Broadcom y Raspberry Pi Foundation anunciaron el lanzamiento de la documentación completa para el núcleo de gráficos VideoCore IV y un lanzamiento completo de la fuente de la pila de gráficos bajo una licencia BSD de 3 cláusulas . [115] [116] El código de gráficos 3D de licencia libre se entregó a Mesa el 29 de agosto de 2014, [117] y apareció por primera vez en la versión 10.3 de Mesa.

Otros proveedores [ editar ]

Aunque Silicon Integrated Systems y VIA Technologies han expresado un interés limitado en los controladores de código abierto, ambos han lanzado código fuente que ha sido integrado en X.Org por los desarrolladores de FOSS. [62] En julio de 2008, VIA abrió la documentación de sus productos para mejorar su imagen en las comunidades de código abierto y Linux. [118] La compañía no ha podido trabajar con la comunidad de código abierto para proporcionar documentación y un controlador DRM que funcione , dejando sin cumplir las expectativas del soporte de Linux. [119] El 6 de enero de 2011, se anunció que VIA ya no estaba interesado en apoyar iniciativas de gráficos gratuitos. [120]

DisplayLink anunció un proyecto de código abierto, Libdlo, [121] con el objetivo de brindar soporte para su tecnología de gráficos USB a Linux y otras plataformas. Su código está disponible bajo la licencia LGPL , [122] pero no se ha integrado en un controlador X.Org . El soporte de gráficos DisplayLink está disponible a través del controlador udlfb del kernel (con fbdev) en la línea principal y el controlador udl / drm, que en marzo de 2012 solo estaba disponible en el árbol drm-next.

Los proveedores no relacionados con el hardware también pueden ayudar en las iniciativas de gráficos gratuitos. Red Hat tiene dos empleados de tiempo completo (David Airlie y Jérôme Glisse) trabajando en el software Radeon, [123] y el Proyecto Fedora patrocina un evento Fedora Graphics Test Week antes del lanzamiento de sus nuevas versiones de distribución de Linux para probar controladores gráficos gratuitos. [124] Otras empresas que han proporcionado desarrollo o apoyo incluyen Novell y VMware .

Proyectos de hardware abiertos [ editar ]

Tarjeta gráfica Project VGA ensamblada
Prototipo de proyecto gráfico abierto

Project VGA tiene como objetivo crear una tarjeta de video compatible con VGA de código abierto y de bajo presupuesto . [125] El proyecto de gráficos abiertos tiene como objetivo crear una GPU de hardware abierto. El Open Graphics Device v1 tiene dos salidas DVI-I y un conector IDC de 100 pines. En septiembre de 2010, las primeras 25 placas OGD1 se pusieron a disposición para la solicitud de subvenciones y la compra. [126] El sistema Milkymist en un chip , dirigido a gráficos integrados en lugar de computadoras de escritorio, admite una salida VGA, un sombreador de vértices limitado y una unidad de texturización 2D. [127]

El Nyuzi, [128] un procesador GPGPU experimental, incluye un diseño de hardware sintetizable escrito en System Verilog , un emulador de conjunto de instrucciones, un compilador C-C ++ basado en LLVM , bibliotecas de software y pruebas y explora software y hardware en paralelo. Puede ejecutarse en una placa de matriz de puerta programable en campo Terasic DE2-115 . [129] [130]

Si un proyecto usa FPGA, generalmente tiene una cadena de herramientas de código cerrado parcial (o completamente). Sin embargo, actualmente hay un par de cadenas de herramientas de código abierto disponibles para FPGAs basados ​​en Lattice (especialmente para placas iCE40 y ECP5) que utilizan Project IceStorm, [131] y Trellis, [132] respectivamente. También hay un esfuerzo mayor y continuo para crear el "GCC de FPGA" llamado SymbiFlow [133] que incluye las cadenas de herramientas FPGA antes mencionadas, así como una cadena de herramientas de código abierto en etapa inicial para FPGA basadas en Xilinx.

Ver también [ editar ]

  • Gráficos 3D por computadora
  • Celda (microprocesador)
  • Infraestructura de renderizado directo (DRI)
  • Intel GMA
  • Proyecto de gráficos abiertos

Referencias [ editar ]

  1. Theo de Raadt (3 de diciembre de 2006). "Documentación abierta para hardware" . Diapositivas de presentación de OpenCON 2006 . Consultado el 1 de febrero de 2007 .
  2. ^ "¿Qué significa" binario "en el controlador de dispositivo?" . Consultado el 14 de noviembre de 2017 .
  3. ^ "3.9:" ¡Blob! " " . OpenBSD . Consultado el 12 de febrero de 2007 .
  4. ^ "Linux - ¿Cómo afecta Rapid7 Advisory R7-0025 al controlador NVIDIA Unix?" .
  5. ^ "a / lt-binary" .
  6. ^ Kroah-Hartman, Greg. "Mitos, mentiras y verdades sobre el kernel de Linux" . registro de mono del kernel de Linux.
  7. Peter Gutmann (26 de diciembre de 2006). "Un análisis de costos de la protección de contenido de Windows Vista" . Consultado el 28 de enero de 2007 . Cite journal requiere |journal=( ayuda )
  8. ^ Linux Weekly News, 14 de agosto de 2006: X.org, distribuidores y módulos propietarios
  9. ^ Greg Kroah-Hartman (2006). "Mitos, mentiras y verdades sobre el kernel de Linux" . Simposio de Linux .
  10. ^ "La interfaz del controlador del kernel de Linux" . Archivado desde el original el 4 de noviembre de 2013 . Consultado el 4 de marzo de 2014 .
  11. ^ "SamsungGalaxyBackdoor" . 2014-02-04.
  12. ^ "Android se acerca al 80% de cuota de mercado en envíos globales de teléfonos inteligentes, como iOS y BlackBerry comparten diapositivas, por IDC" .
  13. ^ "Marco de visualización atómica" .
  14. ^ "Preguntas frecuentes de free3d.org" . ¿Es glxgears una medida precisa del rendimiento 3D? No, apesta de múltiples formas.
  15. ^ "En GPU de gama baja, Nouveau acelera más allá del controlador NVIDIA" . Consultado el 15 de noviembre de 2017 .
  16. ^ "El rendimiento de OpenGL de Nouveau se acerca al controlador de NVIDIA" . Consultado el 15 de noviembre de 2017 .
  17. ^ "Comparación de GPU NVIDIA / AMD Linux de código abierto y cerrado de 15 vías" . Consultado el 15 de noviembre de 2017 .
  18. ^ "Rendimiento de juegos de Ubuntu Linux principalmente a la par con Windows 8.1" . Consultado el 15 de noviembre de 2017 .
  19. ^ "Comparación de tarjetas gráficas Linux de código abierto de 25 vías" . Consultado el 15 de noviembre de 2017 .
  20. ^ "Comparación de tarjetas gráficas AMD Radeon de 24 vías frente a NVIDIA GeForce Linux" . Consultado el 15 de noviembre de 2017 .
  21. ^ "Ubuntu 14.04 supera a OS X 10.9 en 2013 MacBook Air" . Phoronix . 2014-03-19 . Consultado el 19 de marzo de 2014 .
  22. ^ "Nouveau Maxwell: Mesa 17.0 + Linux 4.10 frente al controlador de Linux de NVIDIA" . Consultado el 15 de noviembre de 2017 .
  23. ^ "RADV Mesa 17.1-dev frente al rendimiento de AMDGPU-PRO 16.60" . Consultado el 15 de noviembre de 2017 .
  24. ^ "Cómo ha evolucionado el rendimiento RadeonSI OpenGL de Mesa 11.1 a Mesa 17.1 Git" . Consultado el 15 de noviembre de 2017 .
  25. ^ "Software de Windows 10 Radeon frente a Ubuntu 17.04 + Linux 4.12 + Mesa 17.2-dev - Phoronix" . www.phoronix.com .
  26. ^ "RadeonSI / RADV Mesa 17.3 + AMDGPU DC frente a NVIDIA 387.12 Rendimiento de juegos de Linux - Phoronix" . www.phoronix.com .
  27. ^ "Los puntos de referencia de Mesa 12.0 a Mesa 18.0 muestran la evolución de OpenGL / Vulkan Radeon - Phoronix" . www.phoronix.com .
  28. ^ https://www.phoronix.com/scan.php?page=article&item=nouveau-summer-2018&num=1
  29. ^ https://www.phoronix.com/scan.php?page=article&item=mesa182-4-july&num=1
  30. ^ https://www.phoronix.com/scan.php?page=article&item=radeon-software-1840&num=1
  31. ^ https://www.phoronix.com/scan.php?page=article&item=gcn10-tww2-radv&num=1
  32. ^ https://www.phoronix.com/scan.php?page=article&item=gaming-eojan-2019&num=1
  33. ^ https://www.phoronix.com/scan.php?page=article&item=mesa190-rad-jan&num=1
  34. ^ https://www.phoronix.com/scan.php?page=article&item=linux52-mesa192-high&num=1
  35. ^ https://www.phoronix.com/scan.php?page=article&item=radv-radeonsi-19&num=1
  36. ^ "La importancia de la automatización de referencia y por qué odio ejecutar juegos de Linux manualmente" . Phoronix . 2016-06-04 . Consultado el 4 de junio de 2016 .
  37. ^ "Rastreador de estado de Direct3D 9" . Archivado desde el original el 20 de julio de 2013 . Consultado el 15 de noviembre de 2017 .
  38. ^ "Índice de / doc / Documentation / fb /" . Consultado el 15 de noviembre de 2017 .
  39. ^ Detalles del paquete Debian firmware-linux-nonfree en Debian.org estable
  40. ^ "Función de Radeon" . Consultado el 15 de noviembre de 2017 .
  41. ^ a b "Soporte inicial de VCE en el kernel de Linux y en el controlador Mesa" .
  42. ^ "drm-next-3.15 18 de febrero" .
  43. ^ "drm-next-3.15 04 de marzo" .
  44. ^ "Guías para desarrolladores de AMD" . Archivado desde el original el 16 de julio de 2013.
  45. ^ "Documentación proporcionada por AMD" .
  46. ^ "Lista de documentación de AMD 3D" . Archivado desde el original el 7 de octubre de 2013.
  47. ^ "AMD para abrir especificaciones gráficas" . LWN.net . 2007-09-05 . Consultado el 15 de julio de 2014 .
  48. ^ "AMD: Especificaciones de GPU sin NDA!" . 2007-09-10 . Consultado el 15 de julio de 2014 .
  49. David Airlie (13 de septiembre de 2007). "AMD me entrega las especificaciones en un CD" . Archivado desde el original el 22 de octubre de 2012 . Consultado el 15 de julio de 2014 .
  50. ^ a b "Respuesta de Nvidia al trabajo reciente de Nouveau" . Phoronix . 2009-12-14.
  51. ^ "AMD explora una nueva estrategia de controlador de Linux" . 2014-03-22 . Consultado el 23 de marzo de 2014 .
  52. ^ "Versión inicial del controlador AMDGPU" . 2015-04-20 . Consultado el 26 de abril de 2016 .
  53. ^ "AMD avanza con la estrategia de controlador de Linux unificado, nuevo controlador de kernel" . Phoronix .
  54. ^ "Documentación del controlador AMDGPU" . Freedesktop.org .
  55. ^ "AMD da rienda suelta a la compatibilidad del controlador AMDGPU inicial para las GPU GCN 1.0 / Southern Islands" . Phoronix .
  56. ^ "libdrm 2.4.63" . 2015-08-14.
  57. ^ "Soporte para EGL en plataformas de 32 bits" . 2013-10-04 . Consultado el 15 de julio de 2014 .
  58. ^ "lib32-nvidia-utils 340.24-1 Lista de archivos" . 2014-07-15.
  59. ^ "Página del controlador de X.org nv" . 2013-05-20.
  60. ^ "Parche de Dirk Hohndel" . 1998-11-18. Archivado desde el original el 1 de febrero de 2014 . Consultado el 15 de julio de 2014 . ... opuesto a un código tan ofuscado. No consideramos esto como software libre de acuerdo con nuestros estándares.
  61. ^ "Nouveau - La comunidad y desarrollos pasados, actuales y futuros" (PDF) . 2011-09-13 . Consultado el 15 de julio de 2014 .
  62. ↑ a b David M. Airlie (19 de julio de 2006). "Controladores gráficos de código abierto: no matan a los gatitos" (PDF) . Actas del Volumen Uno del Simposio de Linux . Ottawa , Ontario, Canadá. Archivado desde el original (PDF) el 2007-02-08 . Consultado el 28 de enero de 2007 .
  63. ^ "Nvidia desaprueba" NV " " . Phoronix . 2010-03-26.
  64. ^ "Nvidia ofrece publicar documentación pública sobre ciertos aspectos de sus GPU" . 2013-09-23 . Consultado el 24 de septiembre de 2013 .
  65. ^ "Nouveau: controlador de código abierto acelerado para tarjetas nVidia" . Archivado desde el original el 23 de julio de 2014 . Consultado el 10 de agosto de 2006 .
  66. ^ "El conductor Nouveau se gradúa de la puesta en escena" . LWN.net . 2012-03-23.
  67. ^ "Nombres de ingeniería para Nvidia" .
  68. ^ "drm / nouveau: soporte inicial para GK20A (Tegra K1)" . 2014-01-31.
  69. ^ "Codethink obtiene el NVIDIA Jetson TK1 funcionando con Linux 3.15, Wayland" . Phoronix . 2014-06-12.
  70. ^ "Matriz de características del controlador Nouveau" . Consultado el 16 de noviembre de 2017 .
  71. ^ "Tegra-re" . Consultado el 16 de noviembre de 2017 .
  72. ^ "Linux para Tegra Archive" . Consultado el 16 de noviembre de 2017 .
  73. Mayo, Jon (20 de abril de 2012). "[RFC 0/4] Agregar compatibilidad con NVIDIA Tegra DRM" . dri-devel (lista de correo) . Consultado el 21 de agosto de 2012 .
  74. Larabel, Michael (11 de abril de 2012). "Un controlador NVIDIA Tegra 2 DRM / KMS se inclina hacia arriba" . Phoronix Media . Consultado el 21 de agosto de 2012 .
  75. ^ "GTC 2013: Hoja de ruta Tegra de NVIDIA (6 de 11)" . YouTube . Consultado el 10 de julio de 2013 .
  76. ^ Una descripción general de los fabricantes de tarjetas gráficas y qué tan bien funcionan con Ubuntu Ubuntu Gamer, 10 de enero de 2011 (artículo de Luke Benstead); ( copia del artículo )
  77. ^ "Más rendimiento proviene de Intel Linux SNB" . Phoronix . 2011-03-22 . Consultado el 23 de marzo de 2011 .
  78. ^ "El rendimiento de Intel Sandy Bridge vuelve a subir" . Phoronix . 2011-03-31 . Consultado el 31 de marzo de 2011 .
  79. ^ "El controlador Intel SNB Linux no puede ejecutar el controlador de Windows" . Phoronix . 2011-05-23 . Consultado el 23 de mayo de 2011 .
  80. ^ "Una mirada histórica al rendimiento de gráficos Intel Ironlake" . Phoronix . 2011-05-25 . Consultado el 25 de mayo de 2011 .
  81. ^ "drm / i915: utilice eLLC / LLC de forma predeterminada cuando esté disponible" .
  82. ^ "drm / i915: utilice la caché de escritura simultánea para el plano de visualización en Iris" .
  83. ^ "Intel tiene 20 ~ 30 desarrolladores de gráficos de Linux a tiempo completo" . 2013-02-02.
  84. ^ "OpenChrome" . Consultado el 16 de noviembre de 2017 .
  85. ^ phoronix (6 de febrero de 2012). "Phoronix.com - FOSDEM 2012 - ARM Mali de código abierto" - a través de YouTube.
  86. ^ Phoronix, 21 de enero de 2012: un controlador de GPU de Malí de código abierto y de ingeniería inversa
  87. ^ "¡Timedemo de Quake 3 Arena en la parte superior del controlador de Lima!" . Archivado desde el original el 9 de febrero de 2013.
  88. ^ "Controlador DRM de Lima [LWN.net]" . lwn.net .
  89. ^ drm / lima: controlador para GPU ARM Mali4xx}
  90. ^ drm / panfrost: agregue el controlador inicial de panfrost
  91. ^ "drm: agregar soporte para el controlador de pantalla ARM HDLCD" . Lista de correo del kernel de Linux . 2015-12-11.
  92. ^ "Soporte inicial para ARM Mali Display Controller" . Lista de correo del kernel de Linux . 2016-04-01.
  93. ^ Free Software Foundation, 25 de abril de 2005: Proyectos de software libre de alta prioridad
  94. ^ "laanwj / etna_viv" .
  95. ^ "etnaviv: controlador de galio para GPU Vivante" .
  96. ^ Michael Larabel (14 de abril de 2012). "Un controlador de gráficos de código abierto para Snapdragon" . Phoronix . Consultado el 15 de abril de 2012 .
  97. ^ Soulskill (14 de abril de 2012). "Se publicó el controlador de la GPU Qualcomm de código abierto" . Slashdot . Consultado el 15 de abril de 2012 .
  98. ^ Rob Clark (14 de abril de 2012). "¡Luchando contra las manchas binarias!" . Linaro . Consultado el 15 de abril de 2012 .
  99. Freedreno, 15 de abril de 2012 Archivado el 24 de octubre de 2012 en Wayback Machine.
  100. ^ "Mesa / Gallium3D obtiene su primer controlador GPU ARM SoC - Phoronix" .
  101. ^ http://lists.freedesktop.org/archives/mesa-commit/2013-March/042190.html
  102. ^ Rob Clark (29 de julio de 2012). "Actualización de freedreno: ¡primer ensamblador de sombreadores de renderizado!" . Consultado el 16 de agosto de 2012 .
  103. ^ Rob Clark (5 de agosto de 2012). "cubo texturizado (¡pantalla completa!)" . Consultado el 16 de agosto de 2012 .
  104. ^ Rob Clark (15 de agosto de 2012). "¡Lolscat de código abierto!" . Consultado el 16 de agosto de 2012 .
  105. ^ "Controladores de GPU Open ARM - Freedreno" . FOSDEM . 2013-02-02 . Consultado el 15 de julio de 2014 .
  106. ^ "Fusionar el controlador MSM de Rob Clark" . kernel.org . 2013-08-28 . Consultado el 4 de junio de 2014 .
  107. ^ "xf86-video-freedreno 1.2.0" . freedesktop.org . 2014-07-14.
  108. ^ "Agregar soporte para adreno 430" . Consultado el 15 de noviembre de 2017 .
  109. ^ "Índice Mesa-Mesa" . Consultado el 15 de noviembre de 2017 .
  110. Anholt, Eric (17 de junio de 2014). "Nuevo trabajo en Broadcom" . Archivado desde el original el 7 de abril de 2015.
  111. ^ "Phoronix en la GPU Raspberry Pi" .
  112. ^ "Área de usuario de ARM de código abierto - Raspberry Pi" . 24 de octubre de 2012.
  113. ^ "Área de usuario de ARM de código abierto - Raspberry Pi" . 24 de octubre de 2012.
  114. ^ "hermanhermitage / videocoreiv" .
  115. ^ "Raspberry Pi marca el segundo cumpleaños con un plan para el controlador de gráficos de código abierto" .
  116. ^ Upton, Eben (28 de febrero de 2014). "Un regalo de cumpleaños de Broadcom - Raspberry Pi" . Fundación Raspberry Pi . Consultado el 8 de julio de 2019 .
  117. ^ "vc4: Importación inicial del controlador esqueleto" . La biblioteca de gráficos 3D de Mesa. 2014-08-09.
  118. Michael Larabel ( 26 de julio de 2008 ). "VIA publica tres guías de programación" . Phoronix . Consultado el 4 de agosto de 2008 .
  119. Michael Larabel ( 21 de noviembre de 2009 ). "Lista de tareas pendientes de Linux de VIA ... ¿Quizás mirar hacia el 2011?" . Phoronix . Consultado el 30 de diciembre de 2009 .
  120. ^ El controlador de gráficos Open Linux de VIA ha sido defenestrado Phoronix , 6 de enero de 2011 (artículo de Michael Larabel )
  121. ^ "Libdlo" . Consultado el 16 de noviembre de 2017 .
  122. ^ "DisplayLink lanza el código fuente de Linux para sus procesadores gráficos USB" (Comunicado de prensa). DisplayLink. 2009-05-15 . Consultado el 15 de mayo de 2009 .
  123. ^ Contratación de AMD a otro desarrollador de controladores de código abierto , Phoronix , 11 de diciembre de 2010 (artículo de Michael Larabel )
  124. ^ Es la semana de pruebas de gráficos de Fedora en Phoronix , 22 de febrero de 2011 (artículo de Michael Larabel )
  125. ^ "Hogar del proyecto VGA, la tarjeta de video compatible con VGA, de código abierto y de bajo presupuesto" . 090503 wacco.mveas.com
  126. ^ "Fondo Linux: OGD1" . Abra Proyecto de gráficos . 2010-09-23 . Consultado el 4 de noviembre de 2011 .
  127. ^ Bourdeauducq, Sebastien (junio de 2010). "Una arquitectura SoC impulsada por el rendimiento para la síntesis de video" (PDF) . Archivado desde el original (PDF) el 27 de julio de 2011 . Consultado el 5 de noviembre de 2010 .
  128. ^ "Nyuzi es un procesador GPGPU experimental" .
  129. ^ "Entorno de prueba de SOC" .
  130. ^ "Ejecutando en placa FPGA Terasic DE2-115" .
  131. ^ "Página de inicio del proyecto IceStorm" .
  132. ^ "Project Trellis Repository" .
  133. ^ "Página de inicio de SymbiFlow" .

Enlaces externos [ editar ]

  • Controladores de gráficos Linux de Intel
  • La mejor tarjeta gráfica para Linux
  • Página del portal de controladores Unix de NVIDIA
  • Proyecto VGA
  • Rastreador de estado Direct3D 9 en Gallium3D
  • d3d1x: agregue un nuevo rastreador de estado COM Direct3D 10/11 para Gallium
  • Página de inicio de Freedreno
  • Actualización Freedreno / Galio
  • Conjunto de pruebas Phoronix
  • Actualizaciones de estado para tres controladores de gráficos (Nouveau, amdgpu y Etnaviv) LWN.net 2015