I have a thinkpad T420 with a nvidia nvs4200 optimus. It has two video ports, one vga and one displayport. With optimus and windows 7 it should be able to display an two external and the internal display, in sum on three monitors.
In the bios I can switch between integrated, discrete, optimus. With discrete I am able to use two monitors. With optimus enabled, the Intel can't see the displayport.
Now the interesting thing. I installed bumblebee and it works. For curiosity I set it up to use the monitor "DP1", et voila, after running the bumblebee deamon and something with optirun I can see the bumblebee X server on the third monitor connected to the displayport. I can run something on it with "DISPLAY=:8.0 gvim" or even "DISPLAY=:8.0 nvidia-settings". Btw. it uses the same mouse as the first X server.
Now, any ideas how I could setup it for something useful?
Ok, with Xdmx it is possible to span a desktop using all three monitors, but with disabled glx, that means no composite, 3d etc.
Setup to test it, assuming a running bumblebee installation:
pacman -S xterm xorg-server-xdmx echo "exec /usr/bin/optirun /usr/bin/xterm" > ~/.xinitrc sudo /etc/rc.d/bumblebee start startx -- :7
-in xterm run
startx /usr/bin/xfce4-session -- /usr/bin/Xdmx -display :7 -display :8 +xinerama -noglxproxy
Until someone has an idea how to enable glx, this setup is hardly useful.
Last edited by Dschoordsch (2011-08-25 09:27:21)
Yea I gave up on 3 monitors with my Thinkpad W510 (so not optimus). The docking station has two DVI ports, so with the built-in monitor that makes three. For some reason "TwinView" only works with two monitors, who could've guessed?!
Right now I have it working with the two external monitors. I tried to get the internal monitor in a separate X (what nvidia-settings calls the more typical X dual monitor setup) but that hasn't worked, in the error-log :
[ 4675.495] (WW) NVIDIA(1): There are only 2 heads available, trimming display device list
[ 4675.495] (WW) NVIDIA(1): from "DFP-0" to "".
...I think essentially the 'twinview' Screen monopolizes all the displays and leaves nothing left for the second screen, even though the TwinView screen doesn't use the "DFP-0" monitor.
You missed my point. Your problem is, that the nvidia card can only manage two displays, because it has only two heads. But if you use optimus enabled, then you have two cards, the cpu integrated intel and the nvidia. In this mode, on my thinkpad the intel is wired to use the internal LVDS1 and external VGA1. I can't use the display port output DP1 in this mode with the intel driver. But the nvidia seems to be wired to the DP1 and possibly to the second digital output port on the dock, because lenovo says it is possible to use up to four displays, three of them external. So running an X on the nvidia with output set to DP1 gives me a third display, but in another X process than the two intel driven screens, therefore I can't span one single desktop over all three monitors, but have two totally seperated ones.
I managed to get 3 monitors working on my T420 with a Lenovo Mini Dock Series 3 Plus. Have a look at my xorg.conf below. Please note that with my T420, the DVI ports on the dock are (probably) hardwired to the nvidia card. The VGA might possibly be, as you said, hardwired to the intel card, whereas the DisplayPort might be hardwired to the nvidia card. So you'd need to power two screens (VGA + internal display) using the intel card and one screen (DP) using the nvidia.
"ServerLayout" Identifier "X.org Configured" Screen 0 "LG0" 0 0 Screen 1 "LG1" RightOf "LG0" Screen 2 "INT" LeftOf "LG0" InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" Option "Xinerama" "1" EndSection Section "Files" ModulePath "/usr/lib/xorg/modules" FontPath "/usr/share/fonts/X11/misc" FontPath "/usr/share/fonts/X11/cyrillic" FontPath "/usr/share/fonts/X11/100dpi/:unscaled" FontPath "/usr/share/fonts/X11/75dpi/:unscaled" FontPath "/usr/share/fonts/X11/Type1" FontPath "/usr/share/fonts/X11/100dpi" FontPath "/usr/share/fonts/X11/75dpi" FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" FontPath "built-ins" EndSection Section "Module" Load "record" Load "extmod" Load "dbe" Load "glx" Load "dri2" Load "dri" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5 6 7" EndSection Section "Monitor" Identifier "LG0" VendorName "LG" ModelName "LG Electronics L227W" HorizSync 30.0 - 83.0 VertRefresh 56.0 - 75.0 EndSection Section "Monitor" Identifier "LG1" VendorName "LG" ModelName "LG Electronics L227W" HorizSync 30.0 - 83.0 VertRefresh 56.0 - 75.0 EndSection Section "Monitor" Identifier "INT" VendorName "Unknown" ModelName "Internal" HorizSync 30.0 - 83.0 VertRefresh 56.0 - 75.0 EndSection Section "Device" Identifier "intel0" Driver "intel" Option "XvMC" "true" Option "UseEvents" "true" Option "AccelMethod" "UXA" BusID "PCI:0:2:0" EndSection Section "Device" Identifier "nvidia0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVS 4200M" BusID "PCI:1:0:0" Screen 0 EndSection Section "Device" Identifier "nvidia1" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVS 4200M" BusID "PCI:1:0:0" Screen 1 EndSection Section "Screen" Identifier "LG0" Device "nvidia0" Monitor "LG0" DefaultDepth 24 Option "TwinView" "0" SubSection "Display" Depth 24 EndSubSection EndSection Section "Screen" Identifier "LG1" Device "nvidia1" Monitor "LG1" DefaultDepth 24 Option "TwinView" "0" SubSection "Display" Depth 24 EndSubSection EndSection Section "Screen" Identifier "INT" Device "intel" Monitor "INT" DefaultDepth 24 SubSection "Display" Depth 24 EndSubSection EndSection
Last edited by fhirschmann (2011-09-20 21:46:31)
How did you install the nvidia driver? From the bumblebee package, or did you use the original one? Does 3d acceleration work?
I used aptitude on Debian Sid to install the nvidia and intel drivers. 3d acceleration (and vdpau) works, and I'm not using bumblebee at all. However, I need to switch the libGL links using update-alternatives depending on which card I want 3d acceleration on. I'm not quite sure if arch provides such a framework or simply overwrites the libraries depending on which driver you installed.
So you can't use a compositing window manager like compiz?
In archlinux libglx will be overwritten if both packages intel-dri and nvidia-utils are installed, but this is just a packaging problem. It should somehow be possible to render everything with nvidia and display with intel using the bumblebee setup.
I'm not using a compositing window manager (xmonad), but it shouldn't be possible to use one using my setup since there is no hardware acceleration on one of the three screens. Maybe you can convince the xserver to use different glx libraries depending on the screen. Unfortunately, I have not yet found an option to do just that. If you manage to render on the nvidia card and output on the intel card, please do let me know.
I managed to get glx working on all screens. However, the downside is that there will not be any xinerama(-like) support since I'm using two xservers.
You basically need two configuration files -- one for the intel card and one for the nvidia card. The intel configuration should contain the following (depending on your distribution):
Section "Files" ModulePath "/usr/lib/xorg/modules/extensions" ModulePath "/usr/lib/xorg/modules" FontPath "built-ins" EndSection
whereas the nvidia configuration needs to include
Section "Files" ModulePath "/usr/lib/nvidia" ModulePath "/usr/lib/xorg/modules" FontPath "built-ins" EndSection
Then you can basically start off with either x configuration and start a second xserver using
export LD_LIBRARY_PATH=/usr/lib/mesa-diverted X -sharevts -novtswitch -config xorg.conf.theother :1
I used this technique to have a multiseat x environment, meaning that I'll use the thinkpad keyboard and touchpad for the intel screen and an external usb keyboard/mouse attached to the dock for the nvidia screens (which are tied together using twinview, a xinerama-like feature by nvidia).
If you don't have or want a second mouse/keyboard pair, you could use something like synergy (http://synergy-foss.org/), which will give you a xinerama like experience (however, you cannot move windows between the xservers of course)
Sorry for bumping this sort of old thread, but I guess it's appropriate place.
Consider below Lenovo T420 configurations.
1) T420, i5 + Intel HD3000
2) T420, i7 + Intel HD3000, Nvidia NVS4200M
With option 1) every output on laptop or docking station is managed by intel card, so I can connect 2 external monitors as dual head setup, (LVDS is turned off, as the graphic card is dual head there can be only 2 active outputs at a time).
A) With option 2) and BIOS settings "integrated" - does it mean that the Nvidia card is completely disabled and I have setup like with the option 1) ?
B) With option 2) and BIOS settings "discrete" - does it mean that the Nvidia card is wired to all outputs ?
C) With option 2) and BIOS settings "optimus" - in this case the outputs are probably split up somehow (like indicated in the previous posts) so that in total 4 outputs can be driven at the same time.
The thing is I'm considering buying T420 laptop and I'm trying to figure out if it is worth to go with the 2) but want to make sure that in case of troubles to setup 2 external monitors I can "revert" to using the A) setting, use just intel card and xrandr.
Any help on clarification is appreciated
Last edited by mirci (2012-05-07 15:51:38)
Yes, you are right. When only one GPU is used (discrete or integrated) you can only use two monitors. Setting integrated seems to turn off nvidia completely, it can't be found with lspci, so I guess it doesn't use any power.
When you use optimus it is possible to use three monitors including the LVDS out of the box. With docking station 4 monitors should be possible, the possible combinations are listed on the lenovo page somewhere.
You can use intel with xrandr if optimus is enabled, too, if you just don't plug a monitor in the display port. I have the nvidia monitor section permanently, so I can just restart Xorg if I attach a monitor to the display port.
Thanks, for clarification.
My last concern is about the Intel HD3000 card and it's ability to drive 2 external monitors at the same time on full resolution.
Consider two monitors (1920x1200) that is 3840x1200 virtual screen.
Do you happen to know if the Intel HD3000 can handle it?