xorg
Publicado el 09/09/2009 a las 3:30 pm por Franco Catrin
Dada la buena respuesta que han tenido los últimos artículos conceptuales queremos continuar cubriendo algunos temas que son bastante conocidos a nivel de desarrolladores, pero poco manejados por el público general.
En esta ocasión hablaremos de un cambio realizado en Linux que a primera vista se ve poco relevante, pero que al examinar más a fondo abre nuevas oportunidades. Se trata de Kernel Mode Setting o Configuración de Modo de Video en el Kernel.
Configurar un modo de video es una tarea que puede ser más compleja de lo que parece, sobre todo ahora que existen distintos tipos de salidas de video y hay que preocuparse de muchos más aspectos que de sólo un monitor.
En Linux el código que se encarga de configurar el modo de video se encuentra en varias partes, e incluso se puede apoyar en la BIOS para hacer este trabajo. Pero esto provoca algunos inconvenientes:
Continuar Leyendo Kernel Mode Setting en Linux »
Publicado el 30/07/2009 a las 10:02 am por Franco Catrin
Una de las dificultades que se experimentan al vivir en un mundo sin Windows es la disponibilidad de controladores (drivers) que cuenten con el soporte del fabricante para cada dispositivo. Es una realidad con la que sistemas como Linux y OpenSolaris deben convivir, realidad de la que ni siquiera Mac OSX se salva cuando éste se lleva a hardware que no es de Apple.
En estas condiciones, lo ideal es contar con un controlador de código abierto que pueda ser extendido, corregido y mantenido tanto por el fabricante como por la comunidad, de tal forma que pueda ser integrado con la variedad de sistemas operativos existentes. Un ejemplo de esto es el caso de compañías como Intel, quienes incluso desarrollan abiertamente controladores de productos que ni siquiera han aparecido en el mercado.
Y no se trata de que las compañías no quieran desarrollar los controlador de código abierto, sino que a veces simplemente no pueden. No toda la tecnología es desarrollada por una misma compañía y en ocasiones ésta se licencia a terceros bajo estrictas condiciones de secretismo, es el caso de VIA y también en forma excepcional, el de los chips de video GMA 500 de Intel cuya tecnología fue adquirida a PowerVR.
En estos casos la única alternativa es desarrollar un controlador que se distribuya sin código fuente junto a lo necesario para que éste se integre con el sistema operativo, lo que se conoce como binary BLOB (binary large object).
En un mensaje enviado por Harald Welte de VIA, se pide a los desarrolladores del kernel que incorporen en él la porción de código abierto entregada por la compañía para posteriormente usar el controlador BLOB sobre esta base, indicando que éste controlador no se podrá distribuir como código abierto debido a las condiciones de licenciamiento con terceros. Harald dice:
- El controlador de VIA no podrá ser liberado como código abierto porque contiene código licenciado de terceros.
- VIA apoyará a cualquier desarrollador de la comunidad que quiera trabajar en un controlador de código abierto para su tecnología.
- VIA ha entregado toda la documentación necesaria para programar sus chips. Sólo falta la documentación de pixel shaders que se agregará pronto.
- VIA no tiene los recursos para escribir un nuevo controlador, especialmente considerando que los futuros productos tendrán un procesador diferente e incompatible. Por lo tanto sus recursos están enfocados en que estos futuros productos funcionen bien.
Según Stephane Marchesin quien trabaja en Noveau, el controlador de código abierto para NVIDIA, la documentación provista por VIA es insuficiente para escribir un controlador que funcione bajo los estándares de hoy.
En el pasado, las condiciones de licenciamiento de tecnología de terceros eran absolutamente irrelevantes para el usuario final. En la actualidad queda demostrado que tales decisiones pueden ser una traba para convivir en un mundo que ha ido cambiando rápidamente hacia una dirección en donde el trabajo colaborativo y la libertad de información son conductores del desarrollo tecnológico.
Aunque Intel también se vio afectado de forma similar con su GMA 500, tanto como para que sus drivers fueran considerados un desastre, han trabajado duro para que su propia tecnología sea un ciudadano de primer nivel en este nuevo orden mundial, incluso dictando el camino a seguir.
Link : VIA will not provide an open source Chrome 9 driver (Phoronix)
Publicado el 03/07/2009 a las 3:30 pm por Franco Catrin

(cc) por Fr3d.org / Fred
Hace un tiempo atrás, como parte de una estrategia para ponerse al día con Intel y NVIDIA, ATI liberó especificaciones y ejemplos que permiten a la comunidad de código abierto implementar un driver para sus chips R6xx/R7xx en Linux.
Inicialmente los avances fueron lentos, pero gradualmente los desarrolladores han ido soltando la mano con el material entregado. Es sabido que para trabajar en un proyecto de este tipo no sólo se necesitan las ganas, sino que también hay que ser capaz de entender el diseño del hardware, la arquitectura de aceleración de video del sistema operativo, todo esto esto sazonado con dosis del lenguaje C a gusto.
Ahora el driver ha llegado a un estado en que puede mostrar más que sólo triángulos. Existe un conjunto de pruebas unitarias que el driver debe pasar para medir su avance, y el driver actualmente pasa exitosamente 14 de 63 pruebas, mientras que 24 pruebas renderizan mal y las 25 restantes no renderizan o simplemente se caen. Para lo no entendidos, podemos comentar que se trata de un concepto similar a las pruebas ACID que se realizan sobre los navegadores para medir su cumplimiento de estándares.
Se espera que las piezas que integran el kernel con este driver estén listas para el próximo release 2.6.31, por lo tanto dentro de unos pocos meses este driver podrá estar disponible para ser usado por el público general.
Link : 3D support for ATI 6xx/7xx update (blog de John Bridgman)
Publicado el 11/06/2009 a las 11:30 pm por Franco Catrin
Una de las ventajas del desarrollo de código abierto es que las distintas fases por las que pasa el proceso normalmente son públicas, desde la discusión de ideas hasta el código final.
Hace pocos días, Zhenyu Wang de Intel agregó el soporte en Linux para un nuevo procesador gráfico de Intel, que ni siquiera tiene nombre aún. En el mensaje que se debe registrar para cualquier cambio que se realiza en los repositorios que mantienen en el código se puede leer:
Se agrega versión Desktop y Móvil de nuevos chipsets. Además realiza configuración de memoria como los chipsets de la serie 4 de Intel.
En el código incluso se ven los identificadores que tendrán los nuevos dispositivos para que el sistema operativo los pueda detectar (PCI ID).
En los cambios agregados se puede ver la inclusión de nuevos registros que son usados para comunicarse con el hardware y la deshabilitación de la extensión Composite. Esto se realiza para que no se activen los efectos de escritorio mientras no se asegure que el sistema funciona correctamente, se espera que de aquí a que el producto sea anunciado y llegue a los usuarios pasará el tiempo suficiente para que se asegure este soporte.
En el código de estos nuevos dispositivos se puede ver que les llaman IGDNG que según el sitio Phoronix podría tratarse de “Intel Graphics Device Next Generation”. Más que eso no hay muchos detalles, pero es bueno ver que el soporte para el hardware se está agregando en Linux incluso antes de que los productos sean anunciados oficialmente como es este caso, o al menos antes de que esté disponible para el público en general. Intel está marcando pauta en este sentido.
Link : Intel releases support for new, unreleased IGP (phoronix.com)
Publicado el 29/04/2009 a las 2:28 pm por Franco Catrin

(cc) Ruth Bourne
Intel ha estado desarrollando activamente muchos cambios para mejorar el sistema gráfico de Linux, aplicando numerosas mejoras no sólo en su driver sino que a nivel de toda la infraestructura, incluyendo el kernel.
Con estos cambios, tanto el rendimiento, el uso de recursos y la experiencia del usuario se verán beneficiados a medida que los otros drivers comienzan a usar los nuevos componentes que Intel ha integrado en el sistema, como es el caso de Graphics Execution Manager (GEM), Kernel Mode Setting (KMS) y UMA Acceleration Architecture (UXA) que es la arquitectura de aceleración basada en GEM que viene a reemplazar al reciente EXA y al ya añejo XAA.
Hace un par de semanas Intel liberó la versión 2.7 de su driver xf86-video-intel, pero ya hay una nueva versión de prueba en miras a convertirse en la versión 2.8. Normalmente, esto toma dos a tres meses, pero esta vez decidieron aplicar cambios rápidamente, y cortar por lo sano, literalmente.
Continuar Leyendo Intel aplica guadaña en su driver para Linux »
Publicado el 16/04/2009 a las 12:25 am por Franco Catrin

Andrew Morton y Keith Packard (cc) by Linux Foundation
Y seguimos con noticias desde Linux Collaboration Summit en San Francisco. En esta ocasión los muchachos de Ars Technica nos cuentan que hubo un interesante panel acerca del desarrollo del kernel de Linux en donde participaron destacados hackers. Entre los temas que se tocaron estuvieron los sistemas de archivo, la arquitectura gráfica, y el rol de “la porquería” en el desarrollo del kernel. Así es, hablaremos de “la porquería” (the crap(tm))
Continuar Leyendo Panel sobre el kernel en Linux Collaboration Summit »
Publicado el 27/03/2009 a las 2:33 pm por Franco Catrin

Cuando Ubuntu 9.04 esta próximo a llegar a su fecha de lanzamiento, Canonical dice que no habilitará por omisión la nueva arquitectura de aceleración de video UXA de Intel, dado que a pesar de mostrar notables mejoras en el rendimiento, no se encuentra suficientemente estable para ser usado por todo el mundo.
UXA (UMA Acceleration Architecture) es responsable de la aceleración 2D del sistema gráfico de Linux y se encarga de traspasar al hardware las operaciones típicas 2D de un escritorio moderno como son bitblt, rectangulos, alpha blending, etc. Hoy en día esta responsabilidad cae en EXA Acceleration Architecture, antepasado directo e inspirador de UXA. EXA tiene un diseño reciente pero comparado con UXA, no considera las mejoras respecto a gestión de memoria realizadas últimamente en el kernel mediante GEM (Graphics Excecution Manager).
Continuar Leyendo UXA no está listo para Ubuntu 9.04 según Canonical »
Publicado el 05/03/2009 a las 2:57 pm por Franco Catrin
AMD eliminará el soporte para sus chips R300/400/500 en el release 7.4 del driver Catalyst para enfocarse en las series R600/700 y posteriores. Este cambio que afectará a los usuarios de Windows y Linux, tendrá menos impacto en este último considerando que el soporte continuará por medio de los drivers de código abierto que ya existen.
Al reducir la base de código, los desarrolladores del driver de ATI podrán enfocarse sólo en los nuevos productos sin tener que preocuparse de las antiguas arquitecturas, así tendrán menos código que mantener y podrán adaptar rápidamente el driver para los avances que se realizan en Linux, abriendo la posibilidad de mejorar la situación actual en donde NVIDIA e Intel le llevan la delantera.
Continuar Leyendo AMD y su estrategia para ATI en Linux »
Publicado el 26/02/2009 a las 11:50 pm por Franco Catrin
Con un par de meses de retraso llega el release 1.6 de X Server, el componente principal de X org, aquel que se encarga de desplegar las aplicaciones en pantalla y recibir las acciones del usuario.
Intel quería que este release se hiciera al finalizar el año 2008, pero por todos los cambios que se necesitaban en otros componentes como es el caso del kernel de Linux, se tuvo que aplazar la fecha final y además se tuvieron que eliminar algunas características y dejarlas para el próximo release 1.7.
Todos los drivers de código abierto exitentes y el driver de NVIDIA son compatibles con esta versión 1.6, incluso algunos drivers antiguos como los del mítico chip Voodoo han sido actualizados. Los que se quedarán atras por el momento son los usuarios de AMD/ATI.
Continuar Leyendo Lo nuevo en X Server 1.6 »
Publicado el 10/02/2009 a las 4:16 pm por Franco Catrin

Hace poco, muchos sitios especializados hicieron eco de la noticia sobre el desarrollo de un nuevo sistema X para Linux llamado Wayland, y como ya había sucedido en otras ocasiones, se escucharon muchas voces acerca de lo innecesariamente grande y complejo del sistema existente (X.org). La noticia era bienvenida, pero no había mucha información acerca de qué se trataba exactamente.
Continuar Leyendo Wayland: ¿Un posible sucesor de X en Linux? »
Publicado el 08/02/2009 a las 11:27 pm por Franco Catrin
En el área gráfica de Linux se están realizando varios cambios importantes para mejorar el uso de hardware específico y para eliminar algunas trabas como es el manejo de memoria gráfica en foma estándard.
Respecto al hardware, las series 6 de NVIDIA GeForce incluyen una característica llamada PureVideo que se encarga del soporte de decodificación y presentación de videos a través del procesador gráfico (GPU). Mientras que en Windows se utiliza PureVideo mediante DirectX Video Acceleration API (DxVA), en Linux se podía utilizar esta característica sólo en forma limitada.
NVIDIA viene a cambiar esta situación con el desarrollo de una API equivalente a DxVA para el mundo Unix llamada VDPAU : Video Decoding and Presentation API for Unix (API para decodificación y presentación para video). Antes de explicar de que se trata, repasemos cuales son los sistemas actuales de aceleración de la reproducción de videos en Linux:
Continuar Leyendo Linux: VDPAU y los avances en reproducción de videos »