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:
NVIDIA no siguió con el soporte de aceleración a través de XvMC y no es que abandone el barco, sino que se dedicaron a desarrollar un nuevo esquema de aceleración que oficialmente soporte más tareas de decodificación en la GPU y que además soporte una gran cantidad de codecs.
A partir de la versión 180.06 de su driver propietario, NVIDIA comenzó el soporte de VDPAU en la series 8 de GeForce y posteriores (las anteriores tienen XvMC). Los codecs que pueden ser acelerados son MPEG-1, MPEG-2 (DVD), MPEG-4 (H.264), VC-1 (HD DVD/BlueRay) y WMV3/WMV9.
La mejora en el rendimiento de la reproducción de videos puede ser impresionante. En pruebas de VDPAU realizadas con hardware barato (CPU: USD$20 + GPU: USD$30) se pueden apreciar mejoras del rendimiento en la decodificación de videos HD que van desde una relación 1:2 a casos extremos con una relación 1:9.
NVIDIA además ha ayudado a desarrollar los parches para que las aplicaciones de video en Linux puedan usar VDPAU, específicamente hay soporte en MythTV, FFmpeg, MPlayer, VLC y Xine a través de parches.
Intel por su parte estaba tratando de mejorar XvMC a través de una API funcionalmente equivalente a VDPAU pero llamada simplemente Video Acceleration API (VA-API), sin embargo no ha tenido un impulso tan grande como el que esta dando NVIDIA a su tecnología. No sólo no hay mucho código disponible, sino que el único driver de Intel que soporta VA-API es para una familia de chips que fue adquirida a PowerVR, por lo tanto es diferente a todo lo existente para sus chips más conocidos. Este hardware conocido como Poulsbo (GMA 500) se encuentra presente en dispositivos MID’s y netbooks, sus drivers tienen componentes privativos y han sido duramente criticados por su deficiente calidad.
Afortunadamente Intel ha declarado que está considerando a VDPAU para sus drivers de X.org, y si esto sucede, se espera que ATI también se una a esta iniciativa.
Links:
- NVIDIA Driver brings PureVideo features to Linux (phoronix.org)
- Intel considering VDPAU for X.org driver (phoronix.org)
- HD Video playback with a $20 CPU & $30 GPU on Linux (phoronix.org)
Publicado por Franco Catrin el 8 de February 2009 en la categoría Hardware, Software con los tags ATI, HD, Intel, Linux, Nvidia, purevideo, vdpau, Video, xorg. Tiene 52 comentarios.
52 Comentarios
Linux: VDPAU y los avances en reproducción de videos

1Tom dijo el 9-2-2009 a las 09:29:
Excelente articulo, mega tecnico y profundo, pero esa es la gracia no?
me gusta que franco se la juegue por cambiarle a cara a applewayer que, de verdad, ya me tenia chato!
me gusta que al menos no este copiado-pegado de engadget (como el 90% de los otros post). Al menos aca hay research (aunque venga todo de phoronix, se nota al menos preocupacion de digerirlo un poquito)
Felicitaciones!

0JuanIron dijo el 9-2-2009 a las 09:36:
Mish, no habia cachado que el articulo era de Franco, me acuerdo de TVnauta, pucha yo tengo ATI…
Buen articulo

2Marcelo dijo el 9-2-2009 a las 09:37:
si me compro un pc nuevo (cuando lo haga obvio), voy a ver quien esta mas avanzado en drivers graficos para armar el pc.
Futurologia: si siguen al mismo ritmo que lo estan haciendo ahora, creo que seria muy facil ver que la empresas como crytek desarrollen juegos para linux
Franco Catrin dijo el 9-2-2009 a las 09:57:
34@gustavo :
Revisa el link al benchmark con hardware barato, ese es justamente el uso de CPU en promedio en Linux con VDPAU
@chronnoz :
La D de “despliegue” de VDPAU se refiere en parte al postprocesamiento del video, asi que veremos esas mejoras
Respecto a temas como el panel de control es porque NVIDIA con sus drivers para Linux no está muy orientado al mercado hogareño, sino que al mercado profesional, como por ejemplo las estaciones de trabajo en Hollywood.
FFmpeg es un set de codecs, viene con una utilidad para transcodificar, pero también se ocupa como biblioteca en otras aplicaciones de video (ej. mplayer) y en gstreamer que es un framework multimedia para Linux, Windows y OSX
@Fakeroot :
Yo creo que wayland primero será desarrollado en forma independiente y cuando pruebe que vale la pena ahí tendrá apoyo del resto. Es asi como sucede a menudo, basta ver como se llevó adelante XGL+Compiz. En todo caso PROMETE. Espero escribir sobre eso pronto.
Los avances que mencionas como GEM y kernel mode setting hacen que Xorg sea mas pequeño, lo mejoran, por lo tanto dificil que se elimine.
@Anónimo
No es tan simple liberar, aunque sean fabricantes de hardware. Varios componentes de sus GPU’s son desarrollados por terceros que resguardan su propiedad intelectual, por eso son reacios a mostrar sus API’s internas
@Lord-Nicon
ATI tiene avances en el mismo sentido, pero sinceramente creo que van a jugar solos a eso
@Toshi
Es dificil que se unan ya que son competencia (ATI/AMD + Intel + NVIDIA). Es por eso que estan trabajando en sacar adelante algo que después se pueda convertir en estándard, asi “la llevan”.
@Andres Bravo
Los escritorios 3D pueden correr con tarjetas chicas gracias a los cambios que se han hecho en X. Los drivers siempre han sido potentes. Lo que pasó con Aero de Vista es netamente un tema de diseño de software.
Los drivers de Intel ya estan bien integrados porque son Open Source (salvo el de GMA 500). Los de NVIDIA y ATI están bien integrados en distribuciones que no le hacen asco a los drivers propietarios como es el caso de Ubuntu
Los cambios que se están haciendo no van a afectar a las aplicaciones por la forma en que están construidas. Como aplicaciones no estan amarradas al sistema subyacente
No quise incluir a XvBA porque era “una sigla más” que entraba al juego y sinceramente no le veo mucho futuro. Mi idea era hablar de VDPAU solamente, y por eso tuve que agregar otros sistemas como XvMC
@Mikko
Debe ser porque el promedio de Trolls no alcanza a pasar más allá del titular
@Tom
Lo que quiero hacer es que en FayerWayer el área de Linux tenga artículos que no vas a encontrar en otros sitios. Encontrarás la información pero otra cosa es procesarla y tratar de ser un aporte. Por ejemplo este artículo resume lo que puedes encontrar en al menos unos 15 artículos altamente técnicos tal como dices.
Saludos y muchas gracias por su feedback! estoy bastante motivado. En todo caso no se acostumbren, ya que también vendrán artículos mas light (pero no tanto jeje)

-1Nombre (obligatorio) dijo el 9-2-2009 a las 10:03:
Y, como nos podemos dar cuenta, el entendimiento de las dosis diarias de tecnología en español no son para el usuario normal. Menos para el usuario normal que no dispone de tanto tiempo para documentarse apropiadamente, claramente se gana por un lado y se pierde por otro.

1frosstatx dijo el 9-2-2009 a las 11:40:
me gustan estos temas, informacion + interes + tecnologia, esperando que le den soporte a las series 6 y 7

3Algalord dijo el 9-2-2009 a las 13:23:
genial
la verdad es que la reproducción de video en Linux es maaaaala… pa que andamos con cosas, ojala que ATI se ponga las pilas también.

0Frisco dijo el 9-2-2009 a las 13:53:
Que grata sorpresa ver tú publicación.
Felicitaciones!!
Saludos también te manda GM.

3Stein! dijo el 9-2-2009 a las 14:40:
@Nombre (obligatorio):
El “usuario normal” al que te refieres, simplemente nunca ha entrado a este sitio ni se interesará por hacerlo, es una cosa de nichos. Paralelamente (y a modo de ejemplo), yo cuando veo una noticia de Apple ni la leo, por lo que para mí, da lo mismo como se desarrolle el contenido, y no por eso me dejará de interesar FW.
Imagino que el hecho de que las noticias de Linux sean algo nuevo para muchos, provoca que algunos que no saben mucho del pingüino (onda que no lo usen) entren a curiosear y al no entender sientan que la noticia no tiene sentido (para los que creen que no hay necesidad de Linuxwayer)
@Franco:
Interesantísima tu intención, todo los otros sitios de noticias de Linux son solo traducciones y re-ediciones de noticias de otros blogs. Felicitaciones, gran iniciativa, se agradece.

-7In Nomine+Patris dijo el 9-2-2009 a las 15:24:
Y para qué!, si los Linuxeros usan sólo la consola.

0Andres Bravo dijo el 9-2-2009 a las 16:03:
@Franco Catrin
(siempre refiriendome a GNU/Linux, no tienego idea de Vista y XP)
Discrepo contigo en que los drivers siempre han sido potentes. Puedes ver en la misma web de phoronix cómo van haciendo benchmarks (desde hace bastantes años) de las diferentes versiones de los drivers usando el mismo hw y cómo han aumentado el rendimiento de varios juegos y aplicaciones. Yo mismo tengo acceso a varias tarjetas de video de diferentes marcas y siempre he estado probando los drivers y habilitanto la aceleracion 3D y probando su desenpeño (no motivado tanto por curiosidad sino por la calentura de no poder jugar un juego o usar Xgl y Compiz … ok…ok de oscioso también).
He notado mucha diferencia en la estabilidad y rendimiento por ejemplo de Compiz/Xgl/kwin y algunos juegos tato libres como propietarios. El avance se aprecia tanto al salir versiones nuevas de los drivers como de aplicaciones.
Y de nuevo discrepo un poco en el tema de cómo estan construidas las aplicaciones, en teoria el codigo debe ser independiente (ni tanto tampoco). Pero lo cierto es que en la práctica los bugs, cosas de hardware y métodos para generar efectos gráficos han terminado dejando esto casi en la teoría, es algo muy similar a lo que pasa con html/javascript y los diferentes browsers.
Esto no lo digo asi de oídas, lo compruebo frecuentemete. (en tu caso puedes comprobarlo mirando los changelogs, especialemente los de ati, o simplemente instala todas las aplicaciones 3d posibles que encuentres en tus repositorios y córrelas, verás que muchas tienen problemas que no se presentas con versiones especifica de algunos drivers y marcas). Estos problemas han ido disminuyendo pero gracias al desarrollo y avance de los drivers, las aplicaciones y los juegos.
Y respecto a la integración de los drivers con las dristribuciones, es cierto que ultimamente han salido paquetes para ubuntu/opensuse/fedora e incluso en los mismos resositorios, y estas tambien han mejorado sus herramientas de autodetección e instalacion de los respectivos drivers… pero, todabia no estan en un buen nivel y, aún incluso algunas distros tienen problemas al instalar y reconocer drivers para intel. Es cierto que a veces no hay que tocar nada y puedes correr inmediatamente una aplicacion 3D, pero no es la mayoria de los casos, a veces se deben instalar paquetes especificos. Problemas que han ocurrido tanto por despiste de los empaquetadores, por el avance de las herramientas de autodeteccion, y por la falta de una infraestructura de pruebas que es bastante dificil de conseguir.
Es dificil hacerce el panorama general de este tema de los drivers y el video en gnu/linux phoronix lo presenta muy bien en algunos de sus últimos artículos, pero gran parte del tema también está en las publicaciones anteriores.
Franco Catrin dijo el 9-2-2009 a las 16:37:
43@Andres Bravo
Creo que entiendo tu punto de vista. Estamos hablando de distintas cosas.
Lo que tu ves en el avance del rendimiento de los drivers en benchmarks y en ChangeLog se refiere a cómo van avanzando los drivers para el hardware nuevo. Cuando aparece un hardware a disposición del publico casi siempre el driver es inmaduro y a medida que el hardware se va haciendo viejo, los drivers van madurando y comienzan a aprovechar las características del hardware. De paso aparecen API’s nuevas y las integran (como VDPAU o OpenGL 3)
Yo me refiero a otra cosa. El soporte 3D en Linux siempre ha sido bueno en Intel y NVIDIA (no así en ATI), al menos desde hace unos 8 años atras que fue cuando comencé a usar Linux. En “echoch tiempoch” podías jugar perfectamente juegos modernos, en donde moderno significaba Quake 2, Unreal Tournament, Soldier of Fortune, etc.
Las tarjetas avanzadas de esa época (2000, 2001) incluian soporte para pixel buffers que es lo que necesita Compiz para implementar la extensión GLX_EXT_texture_from_pixmap. Es por eso que en una GeForce 4 por ejemplo puedes usar Compiz sin problemas. Esos drivers en general casi ni se desarrollan hoy en día, basta con lo que tenían en esa época. Aqui puedes ver un demo del 2002 que hicimos con unos amigos, hay características que están implementadas ahi que usan los pixel buffers que necesitas para Compiz:
http://www.youtube.com/watch?v=PoNQGEQ4rcA
En donde hay problemas en en hardware con mal soporte de drivers como es el caso de ATI y en su tiempo de VIA. Entonces a pesar de que la caracteristica existe, la extensión no esta(ba) implementada, eso está cambiando recién pero no podemos generalizar y decir que en Linux los drivers no eran potentes.
No sé que problemas hayas tenido con los drivers de intel porque es bien raro que no los instale o reconozca. Los drivers de intel son abiertos y están incluidos en X.org por omisión, no se instalan. Cuando el servidor X se inicia, hace un scan de los buses para detectar el ID del dispositivo y en base a eso carga el driver, no es mucho más complejo que eso.
En el caso de NVIDIA los dramas más que nada tienen que ver con el desarrollo independiente de NVIDIA que hasta hace poco requería que el usuario recompilara el driver si es que no había una versión ya compilada para su kernel, esas complejidades desaparecieron cuando se hizo un procedimiento comun para generar los binarios al iniciar el sistema (linux restricted modules y sus amigos).

0LoL dijo el 9-2-2009 a las 21:11:
Ojala que intel considere la iniciativa de Nvidia… la verdad es q hay bastantes cosas con el desempeño de mi tarjeta que me tienen un poco desconforme, especialmente la reproduccion de videos.

0tuxcayc dijo el 9-2-2009 a las 22:21:
Que bueno verte por estos lados Franco!
No sé si estás hace mucho tiempo y me disculpo si es así ya que el autor queda muy escondido a mi parecer en el actual diseño.
Buen artículo muy explicativo, aparte de enterarme lo de nVidia ahora entiendo eso del “xv” y lo otro que aparecen en mplayer y apps así en gnulinux.
Saludos!

0San_Pateste dijo el 11-2-2009 a las 00:01:
excelente e interesantisima nota..extrañaba algo asi de importante….cuando algo relacionado con las ATI en Linux?? buenas tarjeta pero ha sido un dolor de cabeza intentar isntalarla en mi SuSE 11.1…T.T

0Entrevista a los desarrolladores de FFmpeg (1ra parte) : Blogografia dijo el 17-4-2009 a las 15:39:
[...] dejaremos para una segunda entrega el resto de la entrevista en donde se tocan otros temas como : VDPAU, VA-API y XvBA, nuevos codecs, aspectos legales y los desafíos que enfrenta este proyecto tan [...]

0PaYaZo dijo el 8-5-2009 a las 17:39:
yeah !!!! se viene bueno también !!! ![]()
saludos
Linuxla.cl
Se me cuidan!!

0XBMC 9.04 listo para entretener @ eAPRENDE.com dijo el 13-5-2009 a las 15:19:
[...] de decodificación acelerada por hardware gracias a VDPAU en chips [...]

0El retorno de Tux en Linux 2.6.30 @ eAPRENDE.com dijo el 12-6-2009 a las 18:38:
[...] video ATI R600/R700 (gestión de memoria y kernel mode setting DRM para proveer aceleración 2D y xvideo), tv-out en los nuevos chipsets de intel, [...]

0Atención gamers: SÍ EXISTEN JUEGOS EN LINUX!! « PC-JaD! :: Llevando Ubuntu y software libre a México dijo el 31-8-2009 a las 04:39:
[...] kernel-mode Setting, Intel GEM y UXA, DRI2, drivers 3D libres de Intel y ATI, mejoras como VDPAU y CUDA en las tarjetas NVIDIA… y un largo etcétera. frozen Bubble – Revive tus memorias [...]

0Probando la tecnologia VDPAU « Sin titulo dijo el 30-9-2009 a las 21:37:
[...] VDPAU (Video Decode and Presentation API for Unix) es una tecnología que desarrolla Nvidia para que la reproduccion de video este a cargo de la GPU y no del CPU, o al menos no del todo, segun la Wikipedia y FayerWayer. [...]
Ver Todos Páginas: ← 1 [2]