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
Ver Comentario... shulo dijo el 8-2-2009 a las 23:29 ...

4wigtor_gl dijo el 8-2-2009 a las 23:36:
¿existe alguna info acerca de cuando agregan esta funcion en las nvidia 6 y 7 ?
… o solo agregar soporte para las serie 8 en adelante será una tactica de nvidia para que sus usuarios compren nueva VGA

18Cristián dijo el 8-2-2009 a las 23:38:
Excelente segundo artículo, Franco.
Tu aporte será muy bienvenido, de eso estoy seguro.
A ver si le haces una reseña a la Telecaster de Richie Kotzen corriendo Linux, jeje.

13Eleazar dijo el 8-2-2009 a las 23:41:
Todo sea en aras de la bendita unicidad, de nada sirve que una empresa de con la mejor solución si esta no es adoptada por todos, los desarrolladores de las aplicaciones libres que finalmente harian uso de estas tecnologías son siempre reacios a dar soporte a multiples tecnologías, son siempre partidarios a que se definan “interfaces” y que cada quien vea como diablos la implemente, al final la cosa solo queda en bonitos acrónimos que poco hacen además de sonar bien.
Así siempre han sido las cosas en el mundo del software libre, el exceso de diversidad de propuestas para una misma solución es siempre un arma de doble filo.

25Eleazar dijo el 8-2-2009 a las 23:44:
Por cierto estos artículos deberian ser etiquetados FW Hardcore

5TurboMAC dijo el 8-2-2009 a las 23:49:
Notable!!!! Justo tengo una Nvidia serie 8, asi que me descargo el controlador y lo instalo pa ver que talca las diferencias.
Esto si que es tecnologia!!!

1gustavo dijo el 8-2-2009 a las 23:53:
ojalá funcione bien, en windows al ver un video 1090p ocupa 1-5%cpu el MPC Homecinema.. ojalá sea igual

-1chronnoz dijo el 8-2-2009 a las 23:55:
y los que tenemos geforces 6 o 7 nos vamos a quedar solo con el antiguo?
ademas de aceleracion, vendra tambien con las mejoras en calidad de imagen del purevideo para windows?
espero que lleven a linux toda la tecnologia que tienen en windows, siempre para otros S.O’s llevan solo lo basico (por ej comparar el nvidia control panel de windows con el nvidia-settings de windows)
PD: el ffmpeg no es para convertir entre formatos de video?

6pepe dijo el 9-2-2009 a las 00:00:
buen articulo franco.
Esperemos que todos los desarrolladores de hardware, den un soporte “decente” para linux. de ser asi, habria mas libre competencia….

4Fakeroot dijo el 9-2-2009 a las 00:04:
es genial que se mejore el desempeño de linux en el apartado grafico y ademas vemos como las empresas se interesan en participar aportando parches, eso si es espiritu, ahora falta que liberen el codigo de los drivers y estariamos bien jejeje
franco, que crees sobre el futuro de wayland como nuevo xserver, tendra el suficiente apoyo y desarrollo por la comunidad, ahora que aparecen GEM y Kernel mode setting, hay esperanza de eliminar al Xorg (yo siempre queriendo matarlo jejej)
y una ultima pregunta es sobre OpenGL 3 aporta lo suficiente a estas tecnologias para escritorios 3d o se quedo corto??
saludos y gracias

7TurboMAC dijo el 9-2-2009 a las 00:25:
@Fakeroot: En la pagina de Nvidia dice solamente que se añadira soporte “Preliminar” a Open GL 3.0. Pero con el tiempo, supongo que sera a toda nalga. ES cosa de esperar no mas.

4Anónimo dijo el 9-2-2009 a las 00:42:
Solo falta que liberen sus drivers y API como ATI, Nvidia tiene buen soporte, solo falta que permita que todos puedan sacarles provecho liberando su software porque vende hardware no software.

-2kotelo dijo el 9-2-2009 a las 01:45:
catrin en FW!
los equis de
y sip, teni como botao powers xD

8DeltaLinuXer dijo el 9-2-2009 a las 01:55:
Wena Franco! Puro LinuxWayer
Siga así no mas compadre!

6Toshi dijo el 9-2-2009 a las 02:10:
linuxWayer no pega xDD, no queda tan genial como applewayer, fayerWater, Chantawater xDDD
podría ser “TorvaYer” xDD Linus Torvalds + Fayerwayer
Muy interesante el articulo, aprendí algo mas de GPU’s y Los malditos codecs con Wikiwayer :p
creo que seria bueno que las tres desarrolladoras se unieran, para hacer el sistema de presentación de video perfecto y así no pelean por codecs, solo por rendimiento!

0Luis dijo el 9-2-2009 a las 02:27:
Gracias Franco por la información ….
Interesante articulo, grande NVIDIA.

4Andres Bravo dijo el 9-2-2009 a las 02:29:
Llendome un poco por las ramas:
En general el desarrollo de los Drivers en linux esta llegando a un buen ritmo generando drivers cada vez más estables por parte de ati, intel, nvidia y via, ultimamente esto se está notando mucho en el desempeño y el buen funcionamiento de tarjetas de todas las marcas y puede comprobarse facilmente viendo correr fluidamente juegos y escritorios 3D en linux con un mínimo de 32MB de Video.
Creo que el proximo nivel en un mediano plazo/futuro próximo es integrar estos drivers a las distribuciones o hacer su configuacion una tarea sencilla para un usuario final comun y corriente.
No veo a OpenGl 3 ni VDPAU en el horizonte próximo como estandar en el resto de los drivers, todabía falta un montón de debate, adaptacion de drivers, modificaciones de kernel, y consecuentes dolores de cabeza que esto va a casusar en las actuales aplicaciones 3D (Xgl, Aiglx, Compiz, Kwin y juegos).
Buen artículo, pero la verdad me costó su rato entender hacia adonde apuntaba y a que cosa quería llegar (falto una pequeña alusion a XvBA).

-1Uranio23 dijo el 9-2-2009 a las 02:43:
Worales pues buen articulo, algo confuso para el que no sepa que pex, pero bueno …
Por otra parte me parece exelente que nvidia este decidida a dar soporte de drivers mas avanzados o completos a plataformas como GNU/Linux, esto me hace querer tener una lap con grafica nvidia, tengo ati integraday no rulea taaan chido el driver y la actualizacion que hay hasta (con envy) hasta me dejo los videos parpadeantes si no los ponia a fullscreen.
Bueno
Bye

1Andres Bravo dijo el 9-2-2009 a las 02:49:
Luego de un paseo por phoronix he quedado bastante impresionado al ver que OpenGl 3.0 ya se está empezando a implementar en los drivers de ATI, aunque probablemente debe ser bastante experimental.
“Is improved Composite support during video playback, Hybrid CrossFire support, and a number of fixes. Oh, and there’s also OpenGL 3.0 support!”

1Linux: VDPAU y los avances en reproducción de videos dijo el 9-2-2009 a las 05:19:
[...] Linux: VDPAU y los avances en reproducción de videoswww.fayerwayer.com/2009/02/vdpau-y-los-avances-en-reproducci… por NeoRazorX hace pocos segundos [...]
Ver Comentario... Guido dijo el 9-2-2009 a las 07:34 ...

10Mikko dijo el 9-2-2009 a las 08:47:
off topic: Como se nota que los trolls que aburren con comentarios estupidos en otros articulos de este blog ni se aparacen cuando hablan de tecnologia de verdad y concreta.
Excelente articulo, queremos ver mas linux en FW.

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