Bumblebee 3.0.1 con Drivers Nvidia 313.18

En una instalación reciente de Ubuntu me ha sucedido algo que quiero compartir por si le sucede a alguien más o sólo a mí. Además de instalar bumblebee, añadí también dos repositorios en los que se suelen encontrar drivers y versiones de Xorg más actualizadas:

$ sudo add-apt-repository ppa:xorg-edgers/ppa
$ sudo add-apt-repository ppa:ubuntu-x-swat/x-updates

Luego actualicé todos los paquetes:

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

Sin embargo algo no iba bien al reiniciar y es que bumblebee no podía localizar un driver apropiado para mi gráfica…
[ 2642.761425] [ERROR]Cannot access secondary GPU - error: Could not load GPU driver
[ 2642.761734] [ERROR]Aborting because fallback start is disabled.

La solución fue sencilla.

Los drivers de Nvidia que se habían instalado eran los 313.18, y su módulo para el kernel se llamaba nvidia-313.
Edité el archivo de configuración de bumblebee…
$ sudo nano /etc/bumblebee/bumblebee.conf
Este archivo se divide en cuatro secciones:

  • [bumblebeed]: Contiene ajustes para el servicio
  • [optirun]: Ajustes para el cliente (el comando con el que lanzar aplicaciones)
  • [driver-nvidia]: Ajustes que se usan si el driver es el binario privativo de Nvidia
  • [driver-nouveau]: Los ajustes del driver libre

En la primera sección hay que asignar el valor correcto a la clave driver para que el demonio use obligatoriamente el driver privativo, que de otra manera no detectaría:
Driver=nvidia

A continuación en la tercera sección, cambiamos dos claves:
KernelDriver=nvidia-313
KernelModule=nvidia-313

Y también hay que actualizar las rutas a las librerias del driver:

LibraryPath=/usr/lib/nvidia-313:/usr/lib32/nvidia-313
...
XorgModulePath=/usr/lib/nvidia-313/xorg,/usr/lib/xorg/modules

Una vez hecho esto, basta con reiniciar el demonio y el comando optirun volverá a funcionar con normalidad.
$ sudo service bumblebeed restart

Es una suerte que los programadores detrás de bumblebee hayan comentado todo su código de forma tan completa. El archivo de configuración es una buena muestra de ello y ojalá fuese siempre así. A continuación, mi archivo bumblebee.conf al completo ya con las modificaciones:
# Configuration file for Bumblebee. Values should **not** be put between quotes

## Server options. Any change made in this section will need a server restart
# to take effect.
[bumblebeed]
# The secondary Xorg server DISPLAY number
VirtualDisplay=:8
# Should the unused Xorg server be kept running? Set this to true if waiting
# for X to be ready is too long and don't need power management at all.
KeepUnusedXServer=false
# The name of the Bumbleblee server group name (GID name)
ServerGroup=bumblebee
# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
# server exits.
TurnCardOffAtExit=false
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
# be ignored.
NoEcoModeOverride=false
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=nvidia

## Client options. Will take effect on the next optirun executed.
[optirun]
# The method used for VirtualGL to transport frames between X servers.
# Possible values are proxy, jpeg, rgb, xv and yuv.
VGLTransport=proxy
# Should the program run under optirun even if Bumblebee server or nvidia card
# is not available?
AllowFallbackToIGC=false

# Driver-specific settings are grouped under [driver-NAME]. The sections are
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
# detection resolves to NAME).
# PMMethod: method to use for saving power by disabling the nvidia card, valid
# values are: auto - automatically detect which PM method to use
# bbswitch - new in BB 3, recommended if available
# switcheroo - vga_switcheroo method, use at your own risk
# none - disable PM completely
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods

## Section with nvidia driver specific options, only parsed if Driver=nvidia
[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia-313
Module=nvidia-313
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/nvidia-313:/usr/lib32/nvidia-313
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia-313/xorg,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

## Section with nouveau driver specific options, only parsed if Driver=nouveau
[driver-nouveau]
KernelDriver=nouveau
PMMethod=auto
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau

🙂

Anuncios

3 pensamientos en “Bumblebee 3.0.1 con Drivers Nvidia 313.18

  1. Optimus en Linux con Bumblebee: Abrid paso a Primus!!! | Emilio

  2. Jugar a Call of Duty 2 en Ubuntu | Emilio

  3. 2013 de un plumazo! | Emilio Devesa

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s