Activar la aceleración por hardware en Firefox, Chrome
Hoy en día la aceleración por hardware resulta algo esencial para el procesamiento de gráficos en la computación personal, no solo en los juegos, sino que en la actualidad resulta crítica para cosas tan básicas como una óptima reproducción de vídeo en la web.
GNU/Linux siempre ha tenido una relación un tanto amarga con la aceleración por hardware, ya que antes la única forma de tener un buen desempeño en ese apartado era tirando de una GPU NVIDIA con su correspondiente driver privativo. Pero afortunadamente los tiempos han cambiado y ahora cualquier GPU de las grandes marcas ofrece una aceleración por hardware que va sobrada para la realización de cualquier tarea básica e incluso juegos, lo que ha permitido la creación de entornos que dependen de dicha característica para obtener un buen desempeño, como Plasma 5, GNOME Shell, Unity 7 y Cinnamon.
En MuyLinux vamos a dedicar este especial para tratar el tema de la aceleración por hardware en los navegadores web. Aquí abarcaremos un caso concreto de Chromium (y derivados como Chrome, Opera y Vivaldi) y otro de Firefox. El hecho de que los navegadores Chromium suelan tener el mismo comportamiento sobre las distintas GPU simplifica las consideraciones a tener en cuenta, ya que la única comparativa seria que queda es la que se puede hacer con Firefox.
Cómo activar la aceleración por hardware
En primer lugar vamos a indicar dónde se activa la aceleración por hardware en Firefox. Para ello solo hay que ir a las Preferencias de la aplicación, dirigirse a las sección Rendimiento y luego deseleccionar “Usar configuración de rendimiento recomendada” para así establecer los parámetros que el usuario crea conveniente. La habilitación de la aceleración por hardware solo requiere de seleccionar la casilla correspondiente, que rara vez se ve inhabilitada por defecto utilizando una GPU reciente.
En Google Chrome y Chromium hay una opción muy similar a la cual se puede acceder desde la Configuración del navegador. Al igual que en Firefox, suele estar habilitada por defecto.
Cómo forzar la aceleración por hardware
Sin embargo, utilizar las opciones accesibles de las aplicaciones no siempre dan el resultado deseado en GNU/Linux. Por un lado, la aceleración por hardware no se suele activar por defecto cuando se utiliza un navegador Chromium sobre una GPU ATI o AMD, mostrando el siguiente resultado si se introduce chrome://gpuen la barra de direcciones (opera://gpu en Opera y vivaldi://gpu en Vivaldi):
Las consecuencias de no tener habilitada la aceleración por hardware pasan por un desplazamiento suave que no funciona bien y episodios de tearing, que pueden ser apreciables sobre todo cuando se reproduce un vídeo.
Luego tenemos otra “combinación fatal”, la de Firefox con NVIDIA. Cuando se usa Firefox sobre el driver privativo de NVIDIA en GNU/Linux, podemos encontrarnos con problemas de tearing y un desplazamiento suave que no funciona correctamente, dando una sensación tan desagradable que invita a dejar de usar el navegador.
Para corregir esos dos problemas, vamos a forzar la aceleración por hardware tanto en Chromium como en Firefox. Insistimos en que los siguientes pasos van dirigidos a los que usan Chromium sobre AMD o Firefox sobre NVIDIA, ya que no hemos detectado problemas con una IGP Intel de cuarta generación y todo ha ido correctamente usando Firefox sobre GPU AMD y Chromium sobre NVIDIA.
Para forzar la aceleración por hardware en un navegador Chromium solo hay que introducir en la barra de direcciones chrome://flags (Chromium y Chrome), opera://flags (Opera) o vivaldi://flags (Vivaldi) y después buscar la opción “Override software rendering list”.
Obviamente, lo que hay que hacer es habilitar la opción resaltada en la imagen de arriba. Luego se invita al usuario a reiniciar el navegador para que los cambios surtan efecto. Al volver a la sección Flags verá la opción de la siguiente manera:
Ahora, al introducir en la barra de direcciones chrome://gpu, opera://gpu o vivaldi://gpu tendría que aparecer el siguiente resultado. Avisamos que algunos sitios web pueden dar fallos de gráficos tras habilitar “Override software rendering list”.
En Firefox los pasos son iguales de simples pero quizá algo más fáciles de explicar. El usuario solo tiene que dirigirse a la conocida sección about:config y buscar la siguiente opción:
layers.acceleration.force-enabled
Después solo tendrá que establecer el valor a true, tal y como se puede ver en la siguiente imagen, para luego reiniciar el navegador con el fin de que los cambios surtan efecto.
Conclusión
Como ya hemos comentado, este tutorial va dirigido a usuarios que usan GNU/Linux y Firefox sobre NVIDIA o Chromium sobre AMD. Aun así los que utilizan otras combinaciones pueden probarlo para ver si mejoran ciertas cosas o bien solucionan problemas muy particulares que también pueden afectar a los usuarios de Windows.