External Monitor Not Detected - Lenovo W520 #122

dsherret opened this Issue Apr 7, 2012 · 4 comments


None yet

3 participants

dsherret commented Apr 7, 2012

I recently installed bumblebee from the ppa and it works perfectly on my laptop screen.

Problem is, is that after installation my external monitor cannot be detected. Before, I would open nvidia-current and then extend my display to a new screen, but now when I run nvidia-current I get a "command not found" error even though it is installed. In the linux mint, "Displays" dialogue, it does not detect my external monitor when I hit detect (this has never worked in the past, as I have always used nvidia-current). nvidia-xconfig also is not found as a command. I have seen other people in these issues run these commands with no problems

Question: How can I enable an external display? Do I have to create an /etc/X11/xorg.conf file with this information in it? And how would I go about doing this?

System Details

$ xrandr
Screen 0: minimum 320 x 200, current 1600 x 900, maximum 8192 x 8192
LVDS1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 345mm x 194mm
   1600x900       60.0*+   50.0  
   1440x900       59.9  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)

My old xorg.conf in /etc/X11 when I used to run in discrete mode all day and burn the hell out of my graphics card. Now I do not have an xorg.conf file, but this is the old one that no longer works with optimus and bumblebee.

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 280.13  (buildmeister@swio-display-x86-rhel47-03.nvidia.com)  Wed Jul 27 17:15:58 PDT 2011

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"

Section "Files"

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusId      "PCI:1:0:0"
    Option     "RegistryDwords" "EnableBrightnessControl=1"

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24

Laptop: Lenovo W520
Bios Setting: Optimus
Distro: Linux Mint 12


When installing bumblebee from the PPA, bbswitch is also installed by default. bbswitch disables your nvidia video card to save power, but then you obviously cannot use your external monitor. If you have no desire to save power and can live with a useless laptop screen, I suggest you to stick to the /etc/X11/xorg.conf file without bumblebee.

On the other hand, if you want to use Bumblebee, /etc/X11/xorg.conf must be removed (you may copy some of the settings like EnableBrightnessControl to /etc/bumblebee/xorg.conf.nvidia). For the external monitor to work, you probably need to remove "UseEDID" from the xorg.conf.nvidia file as wel. Finally, either a program must be started with optirun to activate your external monitor or PMMethod=none must be set in /etc/bumblebee/bumblebee.conf

dsherret commented Apr 7, 2012

First of all, thanks for your support to this project. I have seen you commenting around and helping people a lot.

Second... couldn't get the external monitor to work with UseEDID commented out and PMMethod set to none.

I guess a possibility is to turn on the video card using bbswitch (tee /proc/acpi/bbswitch <<<ON ...had to swtich PMMethod back to auto to get it to work), then somehow detecting and setting up the external screen to be on. How can this be done without going into the nvidia-settings dialogue and having an xorg.conf? I loaded it up using ./usr/lib/nvidia-settings/bin/nvidia-settings, but it stated I needed to have an xorg.conf set up.

Edit: Whenever I turn the graphics card on with bbswitch, then execute xrandr or disper, it cannot detect my external screen :/


Ah, right I forgot about that. You need an active X server for the external one to work. You could set KeepUnusedXServer=true in bumblebee.conf and run optirun true (or whatever command) to trigger a start of the X server. Then, to run applications on the screen, use set the environment var DISPLAY=:8 before running a program, e.g.:

export DISPLAY=:8

or just for a single program: DISPLAY=:8 yourprogram

Turning the card on directly won't start a X server.


Anything new here ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment