- Se incorporó
- 15 Octubre 2004
- Mensajes
- 10.793
Como obtener aceleración de flash player por GPU, en tarjetas de video Intel (Fedora)
Hola
Intro latera sobre el porque Flash player usa aceleración por software en vez de Hardware.
Ahora si los requisitos
-Tener Mozzila Firefox
-Tener el ultimo plugin de Adobe
-Tener la ultima versión de Fedora (no aseguro que funcione en distros mas antiguas, pero es solo porque debe tenerse las ultimas versiones del driver que proporciona intel). Tambien funciona en Ubuntu/debian, pero con comandos distintos, aunque el procedimiento es similar.
Al menos a mi, en Fedora 17 no funcionó, tuve que instalar la ultima versión para que funcionara
Escribir en consola, una vez ingresado como admin.
Instalara el front end necesario para hacer funcionar la cuestión
Luego de eso, debe dirigirse al archivo etc/adobe/mms.cfg
Agregar estas lineas (probablemente el archivo no exista, debe en ese caso crearse uno)
Luego en Firefox debe entrarse con este comando, para iniciar con el front end.
A veces ni siquiera es necesario este comando, y se preconfigura para que funcione automaticamente, pero por ciacaso, si es que no les funciona a la primera, lo escribo.
Ahora si revisas en youtube por ejemplo, en la opción "stats for nerds", veras que en vez de decir "software video rendering" y "software video decoding", dice, "accelerated video rendering" y "accelerated video decoding"
Las cargas de la cpu se reducen ademas notablemente de 80 a 100%, a unos aceptables 10%.
Hola
Intro latera sobre el porque Flash player usa aceleración por software en vez de Hardware.
Flash player es una tecnologia bastante añeja, la que sin embargo es aun utilizado en una decena de sitios, sobretodo paginas para ver partidos de futbol, y es que durante mucho tiempo fue el plugin de referencia para ver videos en streaming.
El problema es que en Linux tal aceleración no existe. Como flash player en un primer momento fue diseñado para ser utilizado en juegos y o aplicaciones que no requerian de video, es que nunca se preocupó de este tema, fue con la aparición de youtube, donde el uso exclusivo de CPU, ocasionó un lastre. Adobe para palear esto utilizó la api que ofrecia Microsoft Dxva-HD (Dirext Video Aceleration), para ofrecer aceleración via GPU, como Directx es soportado por todas las tarjetas de video, entonces no existió ningun problema en Windows.
Sin embargo, en Mac OSX, y LInux, la cosa fue bastante distinta, no existia una api estandard que fuera soportado por todas las tarjetas de video, Nvidia para solventar este problema, creó el estandard VDPAU, el cual lo dejó como codigo abierto (no libre), el cual obviamente obtenia su mejor rendimiento en tarjetas de video Nvidia.
AMD e Intel respondieron con el lanzamiento de VAAPI, su propia API de aceleración de videos
EL problema fue que Adobe al prometer aceleración de videos via gpu en flash, lo prometió utilizando VDPAU, de Nvidia, como las tarjetas de AMD y de Intel no soportaban esa API, eso produjo que flash player no tuviera aceleración via GPU en sus tarjetas.
Muchos años mas tarde, y con ocasión del fracaso en android de flash player, Adobe dejó de desarrollar y programar en Android y al mismo tiempo en Linux, lo que ocasionó que nunca mas existiera alguna posibilidad que las tarjetas de video intel o amd, tuvieran aceleración via gpu, esto es bastante molesto en la experiencia a navegar, sobretodo cuando muchas paginas aun utilizan flash player para mostrar efectos.
La comunidad entonces, logró mediante muchos esfuerzos, crear un "back end" de VDPAU, este back end lo que hace es hacer pensar a todos los programas que requieran de la api VDPAU, que esta se encuentra soportada por la tarjeta, al necesitar accederse a esta API, este back end la simula corriendola bajo VAAPI.
Evidentemente esto no es algo a que se corra nativamente en VDPAU, pero aun asi, por estar aceleración videos via gpu, se incrementa enormemente el rendimiento.
El problema es que en Linux tal aceleración no existe. Como flash player en un primer momento fue diseñado para ser utilizado en juegos y o aplicaciones que no requerian de video, es que nunca se preocupó de este tema, fue con la aparición de youtube, donde el uso exclusivo de CPU, ocasionó un lastre. Adobe para palear esto utilizó la api que ofrecia Microsoft Dxva-HD (Dirext Video Aceleration), para ofrecer aceleración via GPU, como Directx es soportado por todas las tarjetas de video, entonces no existió ningun problema en Windows.
Sin embargo, en Mac OSX, y LInux, la cosa fue bastante distinta, no existia una api estandard que fuera soportado por todas las tarjetas de video, Nvidia para solventar este problema, creó el estandard VDPAU, el cual lo dejó como codigo abierto (no libre), el cual obviamente obtenia su mejor rendimiento en tarjetas de video Nvidia.
AMD e Intel respondieron con el lanzamiento de VAAPI, su propia API de aceleración de videos
EL problema fue que Adobe al prometer aceleración de videos via gpu en flash, lo prometió utilizando VDPAU, de Nvidia, como las tarjetas de AMD y de Intel no soportaban esa API, eso produjo que flash player no tuviera aceleración via GPU en sus tarjetas.
Muchos años mas tarde, y con ocasión del fracaso en android de flash player, Adobe dejó de desarrollar y programar en Android y al mismo tiempo en Linux, lo que ocasionó que nunca mas existiera alguna posibilidad que las tarjetas de video intel o amd, tuvieran aceleración via gpu, esto es bastante molesto en la experiencia a navegar, sobretodo cuando muchas paginas aun utilizan flash player para mostrar efectos.
La comunidad entonces, logró mediante muchos esfuerzos, crear un "back end" de VDPAU, este back end lo que hace es hacer pensar a todos los programas que requieran de la api VDPAU, que esta se encuentra soportada por la tarjeta, al necesitar accederse a esta API, este back end la simula corriendola bajo VAAPI.
Evidentemente esto no es algo a que se corra nativamente en VDPAU, pero aun asi, por estar aceleración videos via gpu, se incrementa enormemente el rendimiento.
Ahora si los requisitos
-Tener Mozzila Firefox
-Tener el ultimo plugin de Adobe
-Tener la ultima versión de Fedora (no aseguro que funcione en distros mas antiguas, pero es solo porque debe tenerse las ultimas versiones del driver que proporciona intel). Tambien funciona en Ubuntu/debian, pero con comandos distintos, aunque el procedimiento es similar.
Al menos a mi, en Fedora 17 no funcionó, tuve que instalar la ultima versión para que funcionara
Escribir en consola, una vez ingresado como admin.
yum install libvdpau-va-gl
Instalara el front end necesario para hacer funcionar la cuestión
Luego de eso, debe dirigirse al archivo etc/adobe/mms.cfg
Agregar estas lineas (probablemente el archivo no exista, debe en ese caso crearse uno)
EnableLinuxHWVideoDecode=1 OverrideGPUValidation=1
Luego en Firefox debe entrarse con este comando, para iniciar con el front end.
VDPAU_DRIVER=va_gl firefox
A veces ni siquiera es necesario este comando, y se preconfigura para que funcione automaticamente, pero por ciacaso, si es que no les funciona a la primera, lo escribo.
Ahora si revisas en youtube por ejemplo, en la opción "stats for nerds", veras que en vez de decir "software video rendering" y "software video decoding", dice, "accelerated video rendering" y "accelerated video decoding"
Las cargas de la cpu se reducen ademas notablemente de 80 a 100%, a unos aceptables 10%.
Última modificación: