If you did not migrate your account yet, visit https://idp-portal-info.suse.com/
SDB:NVIDIA Optimus
Contenido
- 1 Situaci贸n
- 2 Procedimiento
- 2.1 Preparaci贸n
- 2.2 Bumblebee con el controlador libre o propietario
- 2.3 Instalaci贸n y configuraci贸n del Bumblebee
- 2.4 Instalaci贸n de los drivers nVidia e Intel
- 2.5 Paso adicional tras la instalaci贸n del controlador
- 2.6 Errores con los paquetes
- 2.7 Error con dkms
- 2.8 Problemas con ACPI
- 2.9 Deshacer la instalaci贸n en caso de problemas
- 2.10 Verificar la instalaci贸n y uso
- 3 Referencias externas
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.