Skip to content

External Display Support #77

Open
nxdefiant opened this Issue Feb 12, 2012 · 29 comments

10 participants

@nxdefiant

The Display Port on my T420 is attached to the nvidia card, so there is no chance to access it via the intel card.

However I can output data on it tweaking bumblebee's xorg.conf changing the "ConnectedMonitor"-Option:

--- /etc/bumblebee/xorg.conf.nvidia 2012-02-07 20:43:34.000000000 +0100
+++ /etc/bumblebee/xorg.conf.nvidia_dp 2012-02-08 17:29:39.727969655 +0100
@@ -8,7 +8,9 @@
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "NoLogo" "true"

  • Option "UseEDID" "false"
  • Option "ConnectedMonitor" "DFP"
  • Option "ConnectedMonitor" "DP1" EndSection

Additionally with a real Monitor "UseEDID" should be true of course.

The feature request is use something like optirun --monitor dp1 to automate that.

@nxdefiant

oh of course the monitor is on :8, e.g.
DISPLAY=:8.0 mplayer ...

@Lekensteyn
Bumblebee-Project member

Does DP1 really work? What does the nvidia-xconfig command from #21 output? If you change it to DFP-1 or CRT, does it still work?

@nxdefiant

right, DFP-1 seem to be the correct value. It also uses this value if there is no "ConnectedMonitor" entry in xorg.conf, meaning:
The nvidia driver defaults to "DFP1" with
1. No Monitor attached:
without "ConnectedMonitor" in xorg.conf bumblee fails to start because of no screen.
2. Monitor attached to DP:
with "ConnectedMonitor" unset or set to "DFP-1" in xorg.conf the external Monitor works

with "DFP" or "CRT" for "ConnectedMonitor" bumblebee work as usual.

nvidia-xconfig --query-gpu-info

Number of GPUs: 1

GPU #0:
  Name      : NVS 4200M
  PCI BusID : PCI:1:0:0

  Number of Display Devices: 1

  Display Device 0 (DFP-1):
     EDID Name             : Samsung SMT27A300
     Minimum HorizSync     : 26.000 kHz
     Maximum HorizSync     : 81.000 kHz
     Minimum VertRefresh   : 24 Hz
     Maximum VertRefresh   : 75 Hz
     Maximum PixelClock    : 230.000 MHz
     Maximum Width         : 1920 pixels
     Maximum Height        : 1080 pixels
     Preferred Width       : 1920 pixels
     Preferred Height      : 1080 pixels
     Preferred VertRefresh : 60 Hz
     Physical Width        : 600 mm
     Physical Height       : 340 mm
@ArchangeGabriel
Bumblebee-Project member

As the problem looks to have been fixed here, I'm closing this issue.

@nxdefiant

fixed? What was changed?

@ArchangeGabriel
Bumblebee-Project member

I was understanding from "right, DFP-1 seem to be the correct value" that you've fixed the problem. But apparently it's not the case, sorry.

@nxdefiant

The wish is to get "something" in bumblebee to ease the use of the display port

@ArchangeGabriel
Bumblebee-Project member

Ok, so changing this issue to External Display Support. The old issue for that was : Bumblebee-Project/Bumblebee-old#40.

The wiki page is : https://github.com/Bumblebee-Project/Bumblebee/wiki/Multi-monitor-setup

@squisher

I'd also like to see better support for this.

My goal is to connect two external monitors, VGA and DisplayPort, and use them instead of the laptop screen.

@kurojishi

i'd like to better support for ths, i'm tring to use a third screen but it's need quite the thinkering

i'm on a thinkpad T530 with the same problem

there seems to be this workaround too, but i still need to test it
http://zachstechnotes.blogspot.com/2012/04/post-title.html

@krlmlr
krlmlr commented Jun 4, 2013

I can confirm successful installation of a hot plug triple-head setup on a ThinkPad T430 on Ubuntu 13.04 (raring), one of the screens rotated, with the help of the following resources:

The result is fully integrated with Bumblebee. The discrete NVidia graphics card is enabled only when necessary.

Some notes:

  • Power management doesn't need to be disabled (keep PMMethod=auto)
  • The extra X server doesn't need to be around, it's started automatically with screenclone -b (available in puetzk's fork): Set KeepUnusedXServer=false
  • In short, things should work without editing bumblebee.conf at all
  • Without removing UseEDID from xorg.conf.nvidia, I was able to obtain only a resolution of 800x600 on the external monitors

Full writeup: http://askubuntu.com/a/303897/30266

@floh79
floh79 commented Jun 21, 2013

Hi krimir,
thank you for information about 13.04. Last time triple head worked on 12.10. But since 13.04 its not working anymore. sigh

The third monitor keeps blinking (=Standby) after I entered "optirun true". If I call screenclone after setup virtualscreen with xrandr I got that:
terminate called after throwing an instance of 'std::runtime_error'
what(): screenclone.cc:78 display

So, any idea? :(
cu Floh

@krlmlr
krlmlr commented Jun 21, 2013

@floh79: Which screenclone fork are you using?

@floh79
floh79 commented Jun 21, 2013

First I tried with liskin one as I used in last Ubuntu verions. Now I installed one from puetzk (I used your URL https://github.com/puetzk/hybrid-screenclone ).

@krlmlr
krlmlr commented Jun 21, 2013

And what's your command line to screenclone?

@floh79
floh79 commented Jun 21, 2013

I have a script (worked till 12.10) which contains as following:
sudo optirun -c yuv true
if [ $? -eq 0 ]
then
xrandr --output LVDS1 --mode 1920x1080 --output VGA1 --mode 1920x1080 --right-of LVDS1 --output VIRTUAL1 --mode 1920x1080 --left-of LVDS1
screenclone -d :8 -x 2 &
echo Multidisplay start successful!
else
echo Multidisplay start failed!
fi

Does it matters I installed prime?

@krlmlr
krlmlr commented Jun 21, 2013

My screenclone command line is here, in the "Testing" section, along with more detailed instructions. I'm wondering why you use sudo to start optirun -- note that this is not necessary with puetzk's fork and the -b switch. Also, I had to use two -x switches:

screenclone -b -x 1:0 -x 2:1 &

I don't know prime...

@Xazax-hun

Any progress with this one?

@krlmlr
krlmlr commented Nov 14, 2013

Triple-head still works for me on 13.04... #77 (comment)

@floh79
floh79 commented Nov 14, 2013

I'm using intel-virtual-output, so no need for screenclone. :) Works as charm in 13.10.

@krlmlr
krlmlr commented Nov 14, 2013

@floh79: Does it work with Optimus (=switchable graphics)? Details, please. ;-)

@floh79
floh79 commented Nov 14, 2013

Yes it does. Unfortunatelly Ubuntu didn't package intel-virtual-output so you have to compile yourself. Not sure if you need compile intel-driver but I did that. Important is the very useful tool intel-virtual-output in ../xf86-video-intel/tools/:
$ apt-get build-dep xserver-xorg-video-intel
$ git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-intel
$ cd xf86-video-intel
$ ./autogen.sh --prefix=/usr
$ make && sudo make install
$ cd tools
$ make && sudo make install

Now you can enable 3rd screen just by do this:
$ intel-virtual-output -b

Of course xorg-conffiles in /etc/X11 and /etc/bumblebee should be properly configured as you did for screenclone.
Have a lot of fun!
cu Floh

@Xazax-hun

I will try them, thanks. I was just wondering, if there was a progress to integrate this support into bumblebee.

@krlmlr
krlmlr commented Nov 20, 2013

@floh79: Just tried Ubuntu 13.10. Default setting with nouveau detects second monitor but I cannot enable the third monitor. Also, I see considerable lag on the second monitor (perhaps the same you reported in liskin/patches#7 (comment)).

Currently trying to replicate my Bumblebee install, but the intel-virtual-output really sounds nice. Were you able to resolve the lag issues?

I still have trouble following your last comment:

Of course xorg-conffiles in /etc/X11 and /etc/bumblebee should be properly configured as you did for screenclone.

What does "properly configured" mean for the intel-virtual-output case?

@floh79
floh79 commented Nov 20, 2013 edited

With properly configured I mean as described in following url:
https://github.com/Bumblebee-Project/Bumblebee/wiki/Multi-monitor-setup

E.g. PmMethod, KeepUnusedXServer etc...
My NVidia xorg.conf contains:

f.erfurth@Precision-M6600:~$ cat /etc/bumblebee/xorg.conf.nvidia 
Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "false"
    Option      "AutoAddGPU" "false"
EndSection

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"

#   If the X server does not automatically detect your VGA device,
#   you can manually set it here.
#   To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
#   as you see in the commented example.
#   This Setting may be needed in some platforms with more than one
#   nvidia card, which may confuse the proprietary driver (e.g.,
#   trying to take ownership of the wrong device). Also needed on Ubuntu 13.04.
    BusID "PCI:01:00:0"

#   Setting ProbeAllGpus to false prevents the new proprietary driver
#   instance spawned to try to control the integrated graphics card,
#   which is already being managed outside bumblebee.
#   This option doesn't hurt and it is required on platforms running
#   more than one nvidia graphics card with the proprietary driver.
#   (E.g. Macbook Pro pre-2010 with nVidia 9400M + 9600M GT).
#   If this option is not set, the new Xorg may blacken the screen and
#   render it unusable (unless you have some way to run killall Xorg).
    Option "ProbeAllGpus" "false"

    Option "NoLogo" "true"
#    Option "UseEDID" "false"
#    Option "UseDisplayDevice" "none"
EndSection

I never had lag problem and I'm not using nouveau but nvidia kernel driver.

@krlmlr
krlmlr commented Nov 20, 2013 edited

@floh79: Thanks. Btw, triple backticks allow formatting as source code:

    ```
    like this
    ```

EDIT (ArchangeGabriel): I’ve reformated his post. ;)

@ArchangeGabriel ArchangeGabriel modified the milestone: Bumblebee Future Jan 2, 2015
@Exel232
Exel232 commented Apr 15, 2015

Now on Archlinux with Gnome 3.16 with most recent updates, the most elegant solution using intel-virtual-output has broken, ie the screen is not updated correctly, when the application displays output/is moved around the screen. Does anyone else have this problem?

@Luke-Nukem

@Exel232 I've no problems with it. I do have to plug in my screens before starting it though.
You'll find that if it is a bug or problem, it will be in the xf86-video-intel code, not in bumblebee.

@ArchangeGabriel
Bumblebee-Project member

What is the status of multi-monitor today? Since none of us ever had a laptop with one output wired to the nvidia chip, we’re not able to test anything in this area.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.