jueves, 11 de agosto de 2011

Recuperar aceleración 3D perdida tras actualización [sólo para Sabayon y Gentoo]


No es lo habitual pero podría darse el caso de que aún teniendo instalado el correspondiente driver propietario de nuestra tarjeta gráfica en nuestra distro Linux favorita, no tengamos aceleración 3D, con lo cual nuestros recursos gráficos se ven bastante limitados, lo que nos impide correr juegos, determinadas aplicaciones que hacen uso de la aceleración gráfica o incluso los efectos de escritorio de nuestro entorno favorito.

Esta situación podría darse tras una actualización del driver gráfico o del kernel Linux (lo que necesariamente obliga también a la actualización del driver, que debe tener su paquete concreto para la versión concreta del kernel que se esté usando).

Sin ir más lejos sufrí esta situación usando Sabayon 6.0, que tras actualizar el kernel a su versión 3.0, trajo también consigo la actualización de los correspondientes drivers, entre ellos el de la tarjeta gráfica, en mi caso, una Nvidia.

Me di cuenta al iniciar sesión de que los efectos gráficos de KDE habían sido considerablemente reducidos, y la razón era que el entorno gráfico no estaba utilizando el módulo de Nvidia, sino el genérico Vesa.

En muchas ocasiones, en el caso de las gráficas Nvidia, esto se solventa ejecutando en la consola el comando "nvidia-xconfig", lo que reescribe la configuración del servidor gráfico X.org y permite que se utilice por defecto al arrancar el módulo correspondiente al driver propietario de nuestra gráfica Nvidia.

No obstante, podría suceder que aunque por defecto el sistema cargue el driver propietario, no gocemos de aceleración gráfica. El motivo que provoca este comportamiento es que la implementación del driver de nuestra gráfica no está siendo utilizada por OpenGL.

¿Cómo hacer para que OpenGL utilice la implementación del driver propietario?

Sabayon y Gentoo utilizan para estos menesteres un pequeño programa llamado eselect-opengl. Para ejecutarlo abrimos una terminal y escribimos "eselect opengl" como root, y veremos algo tal que así:














Como podemos observar nos da un manual de instrucciones muy conciso sobre las acciones que podemos ejecutar con dicho programa.

Si ejecutamos "eselect opengl list" nos mostrará las implementaciones gráficas que podemos asignar a OpenGL, en mi caso este fue el resultado:






Para asignarle a OpenGL la implementación del driver de nuestra gráfica, bastará con ejecutar "eselect opengl set" seguido del nombre de la implementación correspondiente a nuestro driver que nos mostrara el comando "eselect opengl list", en mi caso "eselect opengl set nvidia".

Tras esto, solo habremos de reiniciar el servidor X, con Ctrl+Alt+Backspace o bien cerrando la sesión. Cuando volvamos a iniciar sesión ya tendremos la aceleración gráfica que nos proporciona el driver propietario de nuestra gráfica.

No hay comentarios:

Publicar un comentario