Linux Como obtener aceleración de flash player por GPU, en tarjetas de video Intel (Fedora)

Ratonator

Gold Member
Se incorporó
15 Octubre 2004
Mensajes
10.791
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.

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.

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:

K3rnelpanic

non serviam
Miembro del Equipo
MOD
Se incorporó
1 Octubre 2007
Mensajes
6.052
Re: Como obtener aceleración de flash player por GPU, en tarjetas de video Intel (Fed

Buena info para los firefox users.
Yo cambié a Chrome, y el youtube se ve por HTML5 :zippy
 
Upvote 0

Ratonator

Gold Member
Se incorporó
15 Octubre 2004
Mensajes
10.791
Re: Como obtener aceleración de flash player por GPU, en tarjetas de video Intel (Fed

Buena info para los firefox users.
Yo cambié a Chrome, y el youtube se ve por HTML5 :zippy

Yo lo uso para Rojadirecta, mas que mal, el 90% de los partidos se transmiten via flash player
 
Upvote 0

Miguelwill

I am online
Miembro del Equipo
MOD
Se incorporó
23 Febrero 2004
Mensajes
12.278
Re: Como obtener aceleración de flash player por GPU, en tarjetas de video Intel (Fed

buena
vamos a dejalo pinned para que se vea mas facilmente y a menos que mas adelante quede obsoleto :xd
 
Upvote 0

Ratonator

Gold Member
Se incorporó
15 Octubre 2004
Mensajes
10.791
Re: Como obtener aceleración de flash player por GPU, en tarjetas de video Intel (Fed

No tengo en este momentos Fedora (estoy en Santiago trabajando en mi notebook, y alli no tengo Linux instalado) Pero debiera funcionar sin problemas ahora en GPUS AMD, recuerdo que habia una repo con el mismo back end para amd, que hacia la misma gracia.

Realmente lo recomiendo, la cantidad de carga que se reduce es enorme, al fin ahora se puede ver partidos en Linux sin ningun problema.
 
Upvote 0

juanjo

linux user
Se incorporó
26 Agosto 2005
Mensajes
1.252
Re: Como obtener aceleración de flash player por GPU, en tarjetas de video Intel (Fed

Pero flash player para firefox esta descontinuado, el que sirve es el que viene con chrome, para firefox debes instalar freshplayer este complemento usa el plugin de chrome en firefox
 
Upvote 0

Ratonator

Gold Member
Se incorporó
15 Octubre 2004
Mensajes
10.791
Re: Como obtener aceleración de flash player por GPU, en tarjetas de video Intel (Fed

Pero flash player para firefox esta descontinuado, el que sirve es el que viene con chrome, para firefox debes instalar freshplayer este complemento usa el plugin de chrome en firefox


Al contrario, el flash player de chrome vale hongo, Google le metió manó para que siempre funcione por software, para asegurar compatibilidad

El truco que aparece en esta guía sólo funciona en la última versión de flash que público adobe en su página web


Enviado desde el celular utilizando Tapatalk
 
Upvote 0

dertio.barcos

Dragon Trainer
Se incorporó
10 Noviembre 2014
Mensajes
1.839
Es bueno ese plugin, pero insuficiente muchas veces porque el navegador predeterminadamente obliga que ciertas tarjetas no tengan aceleración de vídeos
Con razón en el yutu me va como el ajo poniendo a 720 o 1080 tanto en wintendo como en Linux

Enviado desde mi Hisense L675 mediante Tapatalk
 
Upvote 0

Ratonator

Gold Member
Se incorporó
15 Octubre 2004
Mensajes
10.791
Teoricamente, toda tarjeta de video que soporte DXVA-HD o Pure Video HD o UVD, debiera ser capaz de decodificar por hardware en html5, sin embargo para hacerlo hay que meter mano, porque firefox en Linux viene con toda la aceleración desactivada por defecto.

En windows, en muchos casos hay que obligar a Firefox a que corra bajo directx9 y no directx 11, pero eso ya es un tema de compatibilidad de las apis, porque los programadores en este caso prefieren asegurar estabilidad, y si una tarjeta no soporta directx 11, no le dejan correr html5, asi de simple.

En teoria entonces:

-Ge force 8 y superiores
-AMD Radeon HD5000 y superiores, incluyendo algunos modelos HD 4000
-Intel GMA MHD 4500X y superiores. (Intel gma HD, 2000,3000, etc, etc)


Las Intel GMA 500 Y 3600 tambien soportan HTML5, pero su gpu es tan lenta que pierde muchos frames al tener que mostrar los entornos graficos, aunque en la 3600 (atom n2600), he podido correr youtube en 1080P en html5.

Las otras tarjetas, ni idea, aunque imagino que no debieran tener soporte o su soporte debe ser muy mediocre. (VIA, Matrox,etc,etc)

En Linux la aceleración en Firefox corre bajo el protocolo ffmpeg, hay que obligar en ese caso a la mala a que ffmpeg corra bajo el entorno de vaapi o vdpau. En ese ambito hay mas flexibilidad, en teoria cualquier tarjeta que soporte pure video decode (Ge force 6150 y algunas ge force 7xxx hacia arriba), AMD UVD y AMD HD (Radeon HD XXXX y superiores), e Intel GMA X3100 (soporte parcial), debieran andar. Excepcionalmente las broadcom HD Crystal decoder tambien deberian decodificar sin problema por hardware, aunque no lo he probado, pero si soportan vaapi, debiera andar la cosa.

Un dia hare un tema, con los dardos negros al protocolo HTML5, muy bonito en el papel, pero una mierda por su mal rendimiento.
 
Upvote 0

dertio.barcos

Dragon Trainer
Se incorporó
10 Noviembre 2014
Mensajes
1.839
Teoricamente, toda tarjeta de video que soporte DXVA-HD o Pure Video HD o UVD, debiera ser capaz de decodificar por hardware en html5, sin embargo para hacerlo hay que meter mano, porque firefox en Linux viene con toda la aceleración desactivada por defecto.

En windows, en muchos casos hay que obligar a Firefox a que corra bajo directx9 y no directx 11, pero eso ya es un tema de compatibilidad de las apis, porque los programadores en este caso prefieren asegurar estabilidad, y si una tarjeta no soporta directx 11, no le dejan correr html5, asi de simple.

En teoria entonces:

-Ge force 8 y superiores
-AMD Radeon HD5000 y superiores, incluyendo algunos modelos HD 4000
-Intel GMA MHD 4500X y superiores. (Intel gma HD, 2000,3000, etc, etc)


Las Intel GMA 500 Y 3600 tambien soportan HTML5, pero su gpu es tan lenta que pierde muchos frames al tener que mostrar los entornos graficos, aunque en la 3600 (atom n2600), he podido correr youtube en 1080P en html5.

Las otras tarjetas, ni idea, aunque imagino que no debieran tener soporte o su soporte debe ser muy mediocre. (VIA, Matrox,etc,etc)

En Linux la aceleración en Firefox corre bajo el protocolo ffmpeg, hay que obligar en ese caso a la mala a que ffmpeg corra bajo el entorno de vaapi o vdpau. En ese ambito hay mas flexibilidad, en teoria cualquier tarjeta que soporte pure video decode (Ge force 6150 y algunas ge force 7xxx hacia arriba), AMD UVD y AMD HD (Radeon HD XXXX y superiores), e Intel GMA X3100 (soporte parcial), debieran andar. Excepcionalmente las broadcom HD Crystal decoder tambien deberian decodificar sin problema por hardware, aunque no lo he probado, pero si soportan vaapi, debiera andar la cosa.

Un dia hare un tema, con los dardos negros al protocolo HTML5, muy bonito en el papel, pero una mierda por su mal rendimiento.
Interesante así que se podría usar una puré vídeo HD para mejorar el rendimiento en computadoras viejas, y que tanta diferencia haría una pc actual (2012-2014) con gráficos Intel HD

Enviado desde mi Hisense L675 mediante Tapatalk
 
Upvote 0

Ratonator

Gold Member
Se incorporó
15 Octubre 2004
Mensajes
10.791
Interesante así que se podría usar una puré vídeo HD para mejorar el rendimiento en computadoras viejas, y que tanta diferencia haría una pc actual (2012-2014) con gráficos Intel HD

Enviado desde mi Hisense L675 mediante Tapatalk

igual depende de muchas cosas, y evidentemente el motor de Intel Quicksync decode es mejor que el Pure Video 1 de las primeras nvidia (ahora van en el Pure Video 6 con soporte de decodificación 4k y VP9)

dame el nombre de tu tarjeta de video, y te digo que se puede hacer.
 
Upvote 0

Ratonator

Gold Member
Se incorporó
15 Octubre 2004
Mensajes
10.791
ahhh me olvidaba, tambien por defecto los navegadores desactivan la aceleración por hardware de los amd fusion (Ontario y Zacate, Radeon HD 6310 y similares), hay que reactivar la aceleración a la mala, aunque igual consume cpu, tengo la impresión que pese a que la tarjeta de video es directx11, le pena mucho no ser gcn, y usar arquitectura de decodificación de la radeon hd 3650.
 
Upvote 0

Ratonator

Gold Member
Se incorporó
15 Octubre 2004
Mensajes
10.791
Re: Como obtener aceleración de flash player por GPU, en tarjetas de video Intel (Fed

buena
vamos a dejalo pinned para que se vea mas facilmente y a menos que mas adelante quede obsoleto :xd
dificil, el backend de vdpau es bien popular, creo que ahora todas las distros lo soportan.

La utilidad no se reduce a flash player sino que a cualquier cosa que pida Vdpau para correr,

Creo que Nvidia hace tiempo publicó un backend similar para vaapi.
 
Upvote 0

dertio.barcos

Dragon Trainer
Se incorporó
10 Noviembre 2014
Mensajes
1.839
igual depende de muchas cosas, y evidentemente el motor de Intel Quicksync decode es mejor que el Pure Video 1 de las primeras nvidia (ahora van en el Pure Video 6 con soporte de decodificación 4k y VP9)

dame el nombre de tu tarjeta de video, y te digo que se puede hacer.
Yo lo pensaba para darle aguante en yutu a la gma x3100 y viendo que una Broadcom HD vídeo no están tan caras podría aplicar, ya que la que actualmente uso se la puede con 720p en streaming y 1080p en local,es una Intel HD graphics, Celeron n2840, y según leí está basada en la hd2500 o algo así



Enviado desde mi Hisense L675 mediante Tapatalk
 
Upvote 0

Ratonator

Gold Member
Se incorporó
15 Octubre 2004
Mensajes
10.791
Yo lo pensaba para darle aguante en yutu a la gma x3100 y viendo que una Broadcom HD vídeo no están tan caras podría aplicar, ya que la que actualmente uso se la puede con 720p en streaming y 1080p en local,es una Intel HD graphics, Celeron n2840, y según leí está basada en la hd2500 o algo así



Enviado desde mi Hisense L675 mediante Tapatalk

En Windows es imposible, la gma x3100 no soporta DXVA-HD, a lo mas podrás correr videos en 480P acelerado por hardware. Su modelo siguiente (MHD 4500X) si que lo soporta.

La broadcom en Linux podria funcionar, en windows no, porque por mas que traté la otra vez, no corre mediante los filtros de la misma broadcom, los videos de html5, usando solo la tarjeta grafica integrada (intel), tengo la impresión que html5 esta implementado de tal forma por los navegadores para correr directamente bajo la Api directx.

En Linux como html5 corre bajo los protocolos vaapi o vdpau que son soportados por la broadcom, en teoria no debiera tener problemas, pero no lo he probado, por supuesto que en todo caso flash player si lo soporta, yo he corrido (BIEN) videos de 1080p en flash player, pero como es una tecnologia en retirada, no te aseguro mucho soporte, de aqui a unos años ya no debiera haber sitios con flash player.

Para el costo de la tarjetita (20 dolares), mejor comprar un notebook completo usado con soporte completo de hd, que a veces se encuentran en 40 o 50 dolares, en ebay encontrai de todo.

Es una lastima.

Respecto al otro caso, la intel GMA HD de los atoms N3650 (baytrail), si soportan decodificación por HD en html5, que raro, debes tener algo mal configurado, ¿probaste colocando estos comandos?

en firefox escribe about:config

y escribe en el buscador, layers.acceleration.force-enable

y desactiva todo lo que tenga webm. Esto para que no corra bajo el codec vp9, que no lo soporta casi ninguna tarjeta (salvo las ultimas nvidia y amd)

si esta desactivado, activalo y prueba.
 
Última modificación:
Upvote 0
Subir