Cómo instalar los controladores nVidia con Bumblebee en Ubuntu 14.04

Respuestas:

26

NB: esta publicación es el resultado de muchos días dedicados a leer varias cosas en la web, así que tómela bajo su propio riesgo. Fue probado en Ubuntu 12.04 / 12.10 / 13.04 / 13.10 / 14.04 (todos de 64 bits) con la tarjeta gráfica nVidia GT650M. Siéntase libre de agregar comentarios y sugerencias


Instalar nVidia y abejorro

1. En primer lugar, tenemos que eliminar todos los controladores de video en la computadora:

sudo apt-get remove --purge nvidia*

Luego abejorro en caso de que lo haya instalado previamente:

sudo apt-get remove --purge bumblebee*

También tenemos que eliminar todos los controladores nouveau con:

sudo apt-get --purge remove xserver-xorg-video-nouveau

Para asegurarse de haber eliminado todo el material, intente escribir dpkg -l | grep nvidiay dpkg -l | grep bumblebee: no debería devolver nada. Por dpkg -l | grep nouveaulo más probable es que vuelva algunas líneas que dicen libdrm-nouveauXXXXX; por ahora, solo ignóralos.

2. Luego, debemos asegurarnos de tener todos los encabezados escribiendo:

sudo apt-get install linux-source && sudo apt-get install linux-headers-$(uname -r)

3. Lo siguiente que debe hacer es poner en la lista negra los controladores nouveau restantes y algunos otros paquetes que podrían causar problemas:

sudo cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.bak
 sudo gedit /etc/modprobe.d/blacklist.conf

Agregando las siguientes líneas al final del archivo:

# Necessary to install nvidia drivers
blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off
options nouveau modeset=0

Solo guarda y sal.

4. Ahora, ejecute los comandos ubuntu más conocidos

sudo apt-get update && sudo apt-get dist-upgrade -y

5. Desde ahora, trabajamos en tty. Abra la consola tty1 con CTRL + ALT + F1 e inicie sesión con su nombre de usuario y contraseña. Luego ejecuta:

sudo service lightdm stop

Ahora instalaremos los controladores. Ejecutar:

sudo apt-get install nvidia-XXX-updates nvidia-settings

donde XXX son los últimos controladores estables. Estoy usando los controladores 331, pero he leído en alguna parte que los 343 están disponibles para descargar (no sé si son estables).

NB: con las últimas versiones de controladores, también se instala nvidia-primepor defecto. Esta tecnología está diseñada para cambiar automáticamente entre la tarjeta gráfica Intel y nVidia sin intervención del usuario. Para hacer esto, deja ambas tarjetas activadas. Optimus, por otro lado, enciende la tarjeta gráfica nVidia solo con una solicitud explícita del usuario; se traduce en un consumo de energía significativamente menor con respecto a la prima.

Personalmente prefiero optimus sobre prime, pero si no te molestas en el enorme desperdicio de energía, detente aquí. De lo contrario, tiene dos opciones:

  • eliminar completamente prime ( sudo apt-get remove --purge nvidia-prime);

  • dejar prima allí; en la sección "Prime con optimus" veremos cómo hacer que optirun funcione también con prime instalado

6. Ahora, tenemos que instalar los paquetes bumblebee y virtualgl con

sudo apt-get install bumblebee bumblebee-nvidia virtualgl virtualgl-libs virtualgl-libs-ia32:i386 virtualgl-libs:i386

Luego, tenemos que agregar a nuestro usuario en el grupo de abejorros con:

sudo usermod -a -G bumblebee $USER

Y luego reinicie la PC.

7. Inicie sesión en su cuenta de usuario, abra una nueva ventana de terminal y escriba:

cd /etc/bumblebee
ls -Al

Entre los diversos archivos enumerados, debe haber dos en particular: bumblebee.confy xorg.nvidia.conf. Hagamos una copia de seguridad de ambos con:

sudo cp FILE_NAME FILE_NAME.bak

Debe reemplazar FILE_NAME con el nombre real del archivo. Luego, vamos a modificar el primer archivo con sudo gedit bumblebee.conf, agregando (todo sin comillas)

  • sección [abejorro]: después de "Driver =" insert "nvidia"
  • Sección [nvidia-driver]: después de "KernelDriver =" insert "nvidia-XXX-updates"
  • Sección [nvidia-driver]: después de "LibraryPath =" insert "/ usr / lib / nvidia-XXX-updates, / usr / lib / nvidia-331-updates: / usr / lib32 / nvidia-XXX-updates"
  • Sección [nvidia-driver]: después de "XorgModulePath =" insert "/ usr / lib / nvidia-XXX-updates / xorg, / usr / lib / xorg / modules"

Asegúrese de que "XorgConfFile" en [nvidia-driver] sea igual a "/etc/bumblebee/xorg.conf.nvidia" (nuevamente, sin comillas), luego guarde y cierre gedit.

Ahora tenemos que editar el otro archivo con sudo gedit xorg.conf.nvidia(¡en este caso también tenemos que insertar las comillas!). Reemplazar Option "ConnectedMonitor" "DFP"con Option "UseDisplayDevice" "none", guardar y salir.

8. Ejecute gedit /etc/modprobe.d/bumblebee.confy asegúrese de que todas las líneas que contienen blacklist <something>no estén comentadas (es decir, no comienzan con #).

9. En este punto, ejecute el siguiente comando

sudo service bumblebeed start

Si devuelve un error, intente ejecutar nuevamente el comando con reiniciar en lugar de comenzar. Si todavía tiene errores, algo como:

restart: Unknown job: bumblebeed

Probablemente sea algo incorrecto en el archivo bumblebee.conf; entonces, vuelva a verificar el paso 7.

Si en cambio el resultado es similar a:

bumblebeed start/running, process XXXXX

¡Pronto terminaste de configurar el abejorro!

10. Ahora podemos simplemente correr optirun glxsphereso optirun glxspheres64. Si todo funciona como se esperaba, tiene una salida como esta:

$ optirun glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 650M/PCIe/SSE2
182.253407 frames/sec - 203.394802 Mpixels/sec
182.940725 frames/sec - 204.161849 Mpixels/sec
....

Para verificar que estamos usando nvidia-drivers, abra otra terminal mientras se optirun <application>está ejecutando, luego escriba sudo lshw -c display | grep driver. El resultado debería ser algo así.

configuration: driver=nvidia latency=0
configuration: driver=i915 latency=0

Si, por otro lado, cierra todas las aplicaciones iniciadas optirun, debería mostrar solo el controlador de Intel. ¡¡Eso es!!


Instalar Bumblebee UI

Gracias a esta respuesta de Pavak Paul, aquí están las instrucciones para agregar la interfaz de usuario de abejorro en Ubuntu 14.04 para administrar aplicaciones que se abrirán usando nVidia.

1. Instale el indicador de la aplicación Python:

sudo apt-get install python-appindicator

2. Instale Git:

sudo apt-get install git

3. Haz un directorio para git:

mkdir git && cd git

4. Echa un vistazo al repositorio:

git clone https://github.com/Bumblebee-Project/bumblebee-ui.git
cd bumblebee-ui
sudo ./INSTALL

5. Vaya a Aplicaciones de inicio y agregue el indicador de abejorro [haga clic en Agregar, luego inserte el Nombre y comentario que desee; inserte bumblebee-indicatoren el cuadro de comando y haga clic en Agregar).

6. Reiniciar.


Prime con optimus

Si desea tener la opción de usar también a nvidia-primeveces, intente seguir las instrucciones a continuación.

1. Para evitar bumblebeedcomenzar en el momento del arranque, ejecute:

echo "manual" | sudo tee /etc/init/bumblebeed.override

2. Este punto es el más problemático; evita que el abejorro ponga en la lista negra los controladores nVidia y debería provocar la congelación de la sesión gráfica. ¡Inténtalo bajo tu propio riesgo! Correr:

sudo gedit /etc/modprobe.d/bumblebee.conf

Y comente la línea que contiene sus controladores nVidia XXX. Debería resultar en algo así.

# XXX
#blacklist nvidia-XXX
#blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

3. Reinicie el sistema y ejecútelo nvidia-settings. La situación final es esta:

Si selecciona "Intel (Ahorro de energía)" en la configuración de nvidia, solo tiene la tarjeta gráfica Intel activada de forma predeterminada. Todavía tiene que ejecutar una aplicación optirunpara usar la tarjeta gráfica nVidia

sudo service bumblebeed start
optirun <application>

Si, en cambio, desea utilizar el perfil "Nvidia (Rendimiento)", selecciónelo en nvidia-settings, luego inicie sesión / cierre sesión y todo debería funcionar automáticamente. Lo único es que no tienes que iniciar bumblebeeddaemon con este perfil seleccionado porque podría causar problemas.

En caso de tener problemas:

1. Si solo quieres usar nvidia-prime:

sudo apt-get --purge remove bumblebee*

Luego reiniciar.

2. Si desea utilizar solo optimus sin eliminar nvidia-prime, edite nuevamente el archivo anterior:

sudo gedit /etc/modprobe.d/bumblebee.conf

Descomentar (eliminar el carácter #) de las líneas previamente modificadas:

# XXX
blacklist nvidia-XXX
blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

Y reiniciando. En este caso, puede dejar el abejorro en ejecución en el momento del arranque:

sudo rm /etc/init/bumbebeed.override
tigerjack89
fuente
1
Seguí las instrucciones en Ubuntu 14.04, pero mi pantalla se oscurece después de la pantalla de presentación y no puedo iniciar sesión. Usando Dell xps l502x, nvidia gfrc gt540m.
DeepSidhu1313
1
¿Estás seguro de que has seguido todas las instrucciones desde el principio? De todos modos, presione CTRL + ALT + F1 para acceder al tty, luego ingrese sus credenciales de inicio de sesión y reinicie desde el principio.
tigerjack89
1
Ok, resolví el problema usando vblank_mode=0 primusrun ./glxgearso podemos usar vblank_mode=0 optirun -b primus ./glxgears. gracias :)
DeepSidhu1313
1
tenga en cuenta que tuve que instalar xorg-edgers ppa para obtener los paquetes de virtualgl. No estaba disponible en una instalación limpia Ubuntu 14.04
Ubuntuser
1
Este es, con mucho, el tutorial más actualizado. Estoy votando esto. Lo comprobé y funciona para las 17.10. Buen trabajo.
Doodloo