The wikis are now using the new authentication system.
If you did not migrate your account yet, visit https://idp-portal-info.suse.com/

SDB:NVIDIA Optimus

Saltar a: navegaci贸n, buscar
Esta p谩gina explica el procedimiento para instalar el controlador privativo de NVIDIA junto con Bumblebee/bbswitch, que permite el uso de la tecnolog铆a Optimus de NVIDIA, en versiones recientes de openSUSE.

Situaci贸n

Se dispone de un port谩til con tecnolog铆a Optimus que usa una tarjeta NVIDIA independiente y otra integrada de bajo consumo (normalmente son Intel). Se quiere ejecutar programas usando la tarjeta independiente pero no se quiere tenerla activada todo el tiempo para reducir el consumo de energ铆a. Tambi茅n se puede querer desactivar por completo la tarjeta independiente en port谩tiles que no ofrecen dicha opci贸n en su BIOS.

Procedimiento

Preparaci贸n

Aunque el proceso es, en general, fiable, pueden aparecer problemas tras el proceso de instalaci贸n y configuraci贸n. Ya que desde OpenSUSE 13.2 usa el sistema de archivos Btrfs por defecto para la partici贸n ra铆z, es conveniente crear una instant谩nea para tenerla como punto de recuperaci贸n en caso necesario. Para ello se ejecuta en una consola el siguiente comando:

snapper create -d AntesDeBumblebee

AntesDeBumblebee es el nombre de la instant谩nea que se va a crear. Solo es un ejemplo, se puede usar cualquier otro siempre que no contenga espacios. Es conveniente que sea descriptivo ya que, en caso de que aparezcan problemas y haya que deshacer los cambios, sirve para identificar el punto al que se quiere devolver el sistema cuando se ejecuta snapper list. De m谩s esta decir que es importante tener actualizado el sistema:

sudo zypper up
sudo zypper in kernel-source

Bumblebee con el controlador libre o propietario

En las ultimas versiones de Bumblebee es necesario utilizar el controlador privativo que se obtiene a trav茅s del paquete nvidia-bumblebee.

Instalaci贸n y configuraci贸n del Bumblebee

Primero hay que a帽adir el repositorio o bien usando YaST o la consola:

sudo zypper ar -f http://download.opensuse.org/repositories/X11:/Bumblebee/openSUSE_Leap_15.0/ Bumblebee

A continuaci贸n se instala Bumblebee:

sudo zypper in bumblebee

Ahora hay que a帽adir a nuestro usuario a los grupos Bumblebee y video:

sudo gpasswd -a $USER video
sudo gpasswd -a $USER bumblebee

Debemos modificar el archivo de configuraci贸n de bumblebee:

sudo nano /etc/bumblebee/bumblebee.conf

En la secci贸n:

[bumblebeed]
TurnCardOffAtExit=true
Driver=nvidia

Tambi茅n puede llegar a ser necesario modificar el archivo de configuraci贸n de para el driver de nvidia. Debemos especificar el BusID de la tarjeta grafica de nVidia para obtenerlo se ejecuta:

sudo lspci | egrep 'VGA|3D'

Luego se edita el archivo de configuraci贸n de xorg para nvidia:

sudo nano /etc/bumblebee/xorg.conf.nvidia

Quitando el simbolo # de la linea que comienza por BusID dentro de la Section "Device" y nos deber铆a quedar algo as铆.

BusID "PCI:01:00:0"

Al final del archivo tambi茅n es recomendable agregar la siguiente secci贸n:

Section "Screen"
    Identifier     "nvidia"
    Device         "DiscreteNvidia"
EndSection

Despu茅s de esto hay que habilitar e iniciar bumblebeed y dkms:

sudo systemctl enable bumblebeed
sudo systemctl start bumblebeed

Instalaci贸n de los drivers nVidia e Intel

Como se aclaro anteriormente a d铆a de hoy solo se puede utilizar bumblebee con el driver privativo de nvidia. Ademas es necesario tener instalado los drivers para la grafica integrada de intel.

sudo zypper in nvidia-bumblebee xf86-video-intel

A continuaci贸n se debe bloquear la carga al inicio del sistema de los drivers de nVidia tanto el libre como el privativo:

sudo echo "blacklist nvidia" | sudo tee -a /etc/modprobe.d/50-blacklist.conf
sudo echo "blacklist nouveau" | sudo tee -a /etc/modprobe.d/50-blacklist.conf

De esta forma solo bbswitch cargara y descargara el controlador. Para finalizar hay que actualizar la configuraci贸n de inicio y reiniciar:

sudo mkinitrd
sudo reboot

Paso adicional tras la instalaci贸n del controlador

Si desea utilizar programas de 32bit como steam tambi茅n deber铆a instalar:

sudo zypper in nvidia-bumblebee-32bit
sudo mkinitrd

Errores con los paquetes

Si con los paquetes de los repositorio de Leap 15.0 no funcionan los desarrolladores recomiendan probar los de la versi贸n anterior:

sudo zypper ar -f http://download.opensuse.org/repositories/X11:/Bumblebee/openSUSE_Leap_42.3/ Bumblebee

Error con dkms

Actualmente hay problemas con DKMS y se debe eliminar el modulo de dkms y volver a instalarlo.

sudo dkms remove -m nvidia -v 390.67 --all
sudo zypper in -f nvidia-bumblebee
sudo systemctl restart bumblebeed

Para saber si funciona ejecutamos nuestra tarjeta deber铆a estar en OFF:

optirun --status

Y lo mejor es reiniciar.

Problemas con ACPI

Si despu茅s de todo esto el rendimiento de la bater铆a sigue baja, es muy probable que el port谩til siga alimentando la GPU dedicada. Dado que cada fabricante tiende a modificar la tabla ACPI genera este problema.

Deshacer la instalaci贸n en caso de problemas

Si no puede hacer funcionar el entorno gr谩fico de ninguna manera, debe realizar una restauraci贸n del sistema usando snapper. Si su sistema no usa Btrfs no puede usar este m茅todo. Primero encuentre el n煤mero de la instant谩nea que debi贸 crear antes de realizar el proceso.

sudo snapper list

Realice la restauraci贸n, sustituyendo xx por el n煤mero de la instant谩nea:

sudo snapper rollback xx
sudo reboot

Verificar la instalaci贸n y uso

Despu茅s de completar la instalaci贸n y reiniciar, compruebe que Bumblebee est谩 funcionando abriendo una terminal y ejecutando el comando:

optirun --status

Si ve el mensaje "Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.", entonces deber铆a estar funcionando correctamente. Para iniciar un programa usando la tarjeta independiente debe ejecutar el comando:

optirun nombre_del_programa

Puede hacer una prueba con:

optirun glxspheres

Si ve unas esferas, entonces su tarjeta independiente est谩 funcionando con Bumblebee.

Referencias externas