Thinkpad P51 with multiple monitors on CentOS 7

Thanks to team at NCSU, they updated bumblebee project that can work on Thinkpad P51. After a small tweak, multiple monitors work on it.

First, should switch to text UI because nvidia should be compiled with kernel

sudo init 3

Then, login with your username.

sudo rpm -ivh
sudo rpm -ivh
sudo yum install bumblebee-nvidia bbswitch-dkms primus kernel-devel

Now, check if nvidia module was compiled correctly

sudo bumblebee-nvidia -check

IF it was not compiled correctly, it will be compiled automatically.
Now, you can use the discrete graphic card without much effort.

optirun glxgears # test

optirun command # run command with the discrete graphic card

However, many guys want to use more monitors, try this for dual monitors:

yum install intel-gpu-tools

At this time, intel-virtual-output does not detect displays, or if a no VIRTUAL outputs on “:0” message is obtained, edit the following two files as follows (and rebooting):

Section "Device"                            # This file does not exist by default
    Identifier "intelgpu0"
    Driver "intel"
Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "true"     # Bumblebee defaults to false
    Option      "AutoAddGPU" "false"

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"
    Option "ProbeAllGpus" "false"
    Option "NoLogo" "true"
    Option "UseEDID" "true"                 # Bumblebee defaults to false
    Option "AllowEmptyInitialConfiguration" # Add this line
#   Option "UseDisplayDevice" "none"        # Remove or comment out this line

Section "Screen"                            # Add this section
    Identifier "Screen0"
    Device "DiscreteNvidia"

Once you reboot to graphic mode, you can try dual monitors, as

intel-virtual-output # extend desktop to a HDMI-port monitor, light it
optirun command # run command on the discrete graphic card

If you run kernel 5.5.6-2, try the unmanaged version of bumblebee-nvidia, which is best for you.













Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see


This site uses Akismet to reduce spam. Learn how your comment data is processed.