-
Notifications
You must be signed in to change notification settings - Fork 142
Troubleshooting
Common issues and their solution can be found here.
Only laptops have these kind of nVidia Optimus card, so this project won't apply to desktops (for now). Cards from the 4xxM and newer series are all Optimus-enabled. The M
stands for "Mobile". But having a 4xxM card isn't enough to be sure that you're having an Optimus laptop. There must also be an integrated video controller in your processor. To check that, run this command in a terminal:
lspci -vnn | grep '\''[030[02]\]'
If it outputs two lines, then you're likely having an Optimus laptop. Else, it's probably not one, ask on the hybrid graphics mailing list for more informations, providing the above command output.
Version 260.19.12 was the first to support Optimus enabled card (but does not support Optimus technology itself). Ensure that you've a recent driver installed. If you're using Ubuntu, install the ubuntu-x-swat/x-updates
PPA and upgrade nvidia-current
:
sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get upgrade
Also make sure that you don't have drivers installed for older cards. On Ubuntu, these are the packages nvidia-96
, nvidia-173
and nvidia-180
.
If you have installed Bumblebee or Ironhide from MrMEEE (or the mj-casalogic) repository, you are pretty doomed. Ubuntu users, check Upgrading on Ubuntu.
If you've upgraded to Ubuntu Oneiric and:
- get the above message when running programs from the terminal
- have broken graphics effects
- run with fallback graphics
then you've likely added the ubuntu-x-swat/x-updates
PPA before which was removed during the upgrade. Simply enable this PPA again and upgrade your nvidia-current
driver:
sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get upgrade
After upgrading, restart the X server (or just reboot the machine).
You may updated Bumblebee from an older Version to Version 3 or higher. Your old configuration file is incompatible with the new version of Bumblebee. Backup and remove the configuration:
sudo cp /etc/bumblebee/bumblebee.conf /etc/bumblebee/old.bumblebee.conf
sudo rm /etc/bumblebee/bumblebee.conf
and reinstall Bumblebee again to generate a new compatible configuration file.
Some programs quit optirun by running detached. Workaround: run a shell with optirun and start the program from that shell:
optirun bash
$ yourprogram
When done, you can exit the shell with exit
. The idea is to keep at least one
optirun instance running.
If you've generated /etc/X11/xorg.conf
using nvidia-xconfig
, remove that file. It's not compatible with Optimus laptops:
sudo rm /etc/X11/xorg.conf
See also If you've installed from MrMEEE repository and Error: couldn't get an RGB, Double-buffered visual.
3D effects don't work and when running 3D apps in a terminal you get Xlib: extension "GLX" missing on display ":0"
First, if you are using Ubuntu using version 3.0-1~...ppa1
, upgrade to 3.0-1~...ppa2
or newer and be sure that bumblebee-nvidia
is installed if you are using the proprietary nvidia driver. A reboot may be necessary.
Otherwise, you've probably messed up GLX library in Xorg. To recover it, try to do the following things:
sudo apt-get install --reinstall libgl1-mesa-glx
Then reboot and your should be OK.
First, if you are using Ubuntu using version 3.0-1~...ppa1
, upgrade to 3.0-1~...ppa2
or newer and be sure that bumblebee-nvidia
is installed if you are using the proprietary nvidia driver. A reboot may be necessary.
optirun
is quite helpful in debugging, i.e. when you need to re-login after installation or if you forgot to add yourself to the bumblebee
group. There are many reasons why optirun
would fail to run. To start debugging, look in /var/log/sys.log
and /var/log/Xorg.8.log
(replace 8
by the VirtualDisplay
setting in /etc/bumblebee/bumblebee.conf
). New log messages are appended to the end, so make sure you look at the end of your log file for recent messages.
Power management relies on ACPI, disabling ACPI renders bbswitch unusable. Be
sure that your kernel boot parameters do not contain on of the options
noacpi
, pci=noacpi
, acpi=off
. You can read your current kernel parameters
by reading the /proc/cmdline
file.
If you've previously had installed ironhide
or bumblebee
from MrMEEE (or mj-casalogic
), you've likely messed up your card. It can still be recovered however. Run lspci -d 10de: -vvnn
and look for blocks starting containing "VGA compatible controller" or "3D controller". If you cannot find any, your card is turned off completely. !!! Unknown header type 7f
indicates that the card is off too as shown below.
02:00.0 3D controller [0302]: nVidia Corporation Device [10de:0a7a] (rev ff) (prog-if ff)
!!! Unknown header type 7f
In both cases, you can try to run the scripts for enabling your card. If you don't know how to, join our IRC channel on Freenode at #bumblebee (webchat).
Check your /var/log/Xorg.8.log
for possible errors. Use grep -Fn '(EE' /var/log/Xorg.8.log
for finding errors quickly, prefixed with the line number. Known errors messages and their description are listed below.
This is a harmless message.
If you scroll a bit above that error and see something like:
(WW) NVIDIA(GPU-0): Invalid ConnectedMonitor request; request was for 'DFP', but
(WW) NVIDIA(GPU-0): the valid display devices are 'CRT-0'.
Then edit /etc/bumblebee/xorg.conf.nvidia
and replace DFP
by CRT-0
in the line with ConnectedMonitor
:
Option "ConnectedMonitor" "DFP"
Restart Bumblebee using sudo restart bumblebeed
.
PCI:1:0:0
may vary, but take a look at the last lines of the kernel log (usually located at /var/log/kern.log
, /var/log/kernel
or /var/log/messages
). You're probably using an outdated driver or messed a bit with improper ACPI calls (see above).
If you run Wine (or a 32-bit application) on Ubuntu Oneiric or later and get this error, you need to install the 32-bit libraries for VirtualGL:
sudo apt-get install virtualgl-libs:i386
Other reasons why you get this reason:
- The program you're trying to run is a statically linked program. There is no workaround for this
- The program you're trying to run has a setuid/setgid bit set which makes the program run under the owner of the file. For security reasons, virtualgl cannot hook into it. There is a workaround with
chmod u+s
, but it's very unsafe and not recommended. - The environment variable
LD_LIBRARY_PATH
is cleared. See the previous workaround for ways to solve it.
If you get this error, the nouveau driver may be overriding the official one. Even if you've installed the proprietary nvidia driver, if the nouveau driver is loaded it'll take precedence. So be sure to set Driver=nvidia
in /etc/bumblebee/bumblebee.conf
or blacklist and unload nouveau. If you want to use the nouveau driver, check the syslog for more log entries.
This can also happen if the driver and client versions don't match. If you get this error after an update, it's likely that one was upgraded but not the other. If this is the case, you'll get messages in your kernel log (/var/log/kernel.log
or similar) like this:
NVRM: API mismatch: the client has the version <version>, but
NVRM: this kernel module has the version <different version>. Please
NVRM: make sure that this kernel module and all NVIDIA driver
NVRM: components have the same version.
To fix it, just update the one that's behind (or downgrade the one that's ahead) so they're at the same version.
[ERROR]Cannot access secondary GPU - error: could not start X Server and/or Kernel oops with GT 600M series cards (Kepler)
Make sure you have a recent kernel and the latest nvidia driver, i.e. not only the one, which first claims support for GT600M cards (302.17). First working driver for the tested card (GT620M - inside ASUS UX32-...) is the (beta) driver 304.22. (tested with kernelversion 3.4.6 on ArchLinux).
To verify this issue, make sure bbswitch cannot be loaded (e.g. move it away) and try: "nvidia-xconfig -query-gpu-info".
If you cannot solve your issue, continue at Reporting Issues.