2 external displays on Thinkpad t430s with HD4000 graphics
Solution 1
First, I would like to note that the answer I am about to provide is based on answers I gave for the questions here and here.
Second, take note of the information found on Intel's site. It suggests that it can work, but everything I have read thus far leads me to believe that three monitors will not work in the real world. That being said, Let's dive in and explore the possibilities.
There are 2 basic approaches you can take. The first is to utilize randr which will allow you to create one large virtual display in which you can position your monitors. The second is to utilize xinerama which will allow you to have 3 separate X screens which will function as one large display. I will cover both here and you can decide which is more appropriate for your needs.
RandR - Resize and Rotate
The issue with XRandR is 2 fold in multi-monitor setups. It creates a large virtual display and each monitor gets a piece of it. If the total resolution is too high (2048 X 2048) it might not work... Framebuffer issues and such. You should be able to increase the fb size in xorg.conf but it comes at a performance loss iirc. Also, if the monitors are of different resolutions, there could potentially be areas that are either black, or windows fall off of your displays.
You can dynamically enable your multi-monitor setup by using XRandR
xrandr --output foo --rightof bar
xrandr --output baz --rightof foo
There is also a gui frontend for this called arandr which is in the 12.04 repos. I haven't tested it, but some have found it useful.
Or you could enable it statically in /etc/X11/xorg.conf.d/10-monitor.conf:
Section "Monitor"
Identifier "Monitor0"
EndSection
Section "Monitor"
Identifier "Monitor1"
Option "RightOf" "Monitor0"
EndSection
Section "Monitor"
Identifier "Monitor2"
Option "RightOf" "Monitor1"
EndSection
This method implies an randr setup. Again, there are some notable drawbacks if using xrandr with monitors of different resolutions. Windows may be improperly placed, there may be black areas on one screen, etc..
Xinerama
To enable xinerama you need to modify /etc/X11/xorg.conf:
Section "ServerFlags"
Option "Xinerama" "true"
EndSection
It might be as simple as that as X is pretty good about automagically configuring things based on hardware detection. But, if simply turning the xinerama extension on does not provide the functionality you desire, you may opt to fully configure X to use xinerama. There are a few ways to configure X. You could have multiple files in etc/X11/xorg.conf.d, some for your monitors, some for the devices, etc. I will cover having a single xorg.conf file that contains all the settings using a modified version of my current setup.
Section "ServerLayout"
Identifier "TriHead"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
Screen 2 "Screen1" RightOf "Screen1"
Option "Xinerama" "1" # Enable xinerama on the whole
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia" # Be sure to write the correct driver here
VendorName "NVIDIA Corporation" # Should be "intel"
BoardName "Nvidia GT 240"
BusID "PCI:1:0:0" # Use lscpi | grep VGA to get the BusID
Screen 0 # Note the Screen numbers
EndSection
Section "Device"
Identifier "Device1" # A device for each screen
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Nvidia GT 240"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Device"
Identifier "Device2"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Nvidia 8600 GT"
BusID "PCI:1:0:0"
Screen 2
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Gateway HX2000"
HorizSync 31.0 - 83.0
VertRefresh 56.0 - 76.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "DELL 1907FPV"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 76.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "Unknown"
ModelName "DELL 1907FPV"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 76.0
Option "DPMS"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
EndSection
Section "Screen"
Identifier "Screen2"
Device "Device2"
Monitor "Monitor2"
DefaultDepth 24
EndSection
Obviously you will need to modify this to suit your hardware, but the basic skeleton is there for you.
Do note that I have recently read that Intel might have issues with xinerama. You may find that it is just not a possibility. Please test the answer I have given and continue to explore additional possibilities as you may find additional information elsewhere.
Solution 2
On the HD4000 Integrated, as with some integrated chip-sets; HDMI is usually shared with a VGA/DVI circuit, at least functionally.
When I tried to use it and do what you are saying, I learned that one of the outputs could only be cloned but not separated.
So I believe if you (first) disable your VGA (native LCD on the laptop) and enable the external display, you will be able to get it working.
Related videos on Youtube
Aaditya
Co-founder, project manager and developer at http://negative-network.com I work mostly with PHP (WordPress, Kohana), Zurb Foundation,and MySql. I also know Less/Sass, Java, and I like Multi-Agent System programming and simulation. Nice to meet you! :)
Updated on September 18, 2022Comments
-
Aaditya over 1 year
I am trying to run 2 external displays with my thinkpad t430s but it doesn't work.
I get the error : could not set the configuration for CRTC 65
I'm using the VGA output and the hdmi output with a hdmi to vga adapter to go into two vga screens.
I read on Intel's documentation that the hd4000 is supposed to be able to manage 2 external screens on top of the internal display...
Would it be possible to achieve with ubuntu 12.04?
-
Admin over 11 yearsWhat method are you using to enable multi-monitor?
-
Admin over 11 yearsWell I use the "displays" from the ubuntu system preferences... The 3 screens are detected, I just cannot activate the 3 at the same time...
-
-
Aaditya over 11 yearsThanks for the leads I will try that during the weekend and let you know what worked and what didnt. Actually there's videos on youtube of people using 2 external displays with an hd4000, but with a portege, not a thinkpad... we'll see hopefully it can work! :)
-
Aaditya over 11 yearsBut what you're saying will only leave me with 2 screens working, but I'd like to have 2 external displays on top of my laptop's display...
-
TardisGuy over 11 yearsUnfortunately, I do not think that is possible: I mean the physical circuitry. The integrated boards were not designed for enthusiast use, but for casual use with dual monitors at best. However, I think you can clone one screen giving you 2 clones and 1 independent. But I could be wrong.
-
Aaditya over 11 years
-
Anthony over 11 years@Piero So you have found an example of it working in a Windows setup. Have you attempted the setup in the provided answer?
-
TardisGuy over 11 yearsIntel has an HD4000 gpu too? ... thats annoying.
-
Aaditya over 11 yearsNo I'm overloaded with work atm, didnt have time to try it out... but Anthony I guess your answer is the only way to go about it... well on linux anyway...