this article shows that you can use a thinkpad t530 (version without any nvidia card!) with 3 displays at the same time (internal LVDS + 2xDVI external displays)!

motivation

for some time i'm a big fan of the t530 because it is a rock solid machine using linux! however, first i was using a model with a 'intel 4000' plus a 'nvidia' dedicated card. most of the time i had been using solely the nvidia chip, because in the t530 version with a dedicated nvidia chip, they wired the two external DVI ports _only_ to the dedicated card (nvidia).

definition:

  • IIRC if you have the t530 with nvidia chip, you get this wiring: both external DVI ports (docking ports on bottom on your laptop) are wired to the nvidia chip
  • if you have the t530 without nvidia chip, you likely get this wiring: both external DVI ports (docking ports on bottom on your laptop) are wired to the intel chip (still not all docks will forward the docking-pin wires to the respective outputs on the docking station respectively).

note: i totally recommend anyone to buy the t530 model with only the intel 4000 graphics card. why? because then all display drivers are open source and thus it works very well. additionally it minimizes power consumption and suspend-ram is very very fast and reliable!

statistics (t530 without nvidia):

  • suspend-ram takes 2 seconds until poweroff
  • resume from suspend-ram takes 2,5 seconds until i can enter my credentials

that is damn fast! and works rock-solid since three days (admittedly, which isn't much).

my model

i have a t530 without nvidia, only the intel 4000 graphics card. more details:

   00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
   00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
   00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
   00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
   00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
   00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
   00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
   00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
   00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
   00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
   00:1f.0 ISA bridge: Intel Corporation QM77 Express Chipset LPC Controller (rev 04)
   00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
   00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
   02:00.0 System peripheral: Ricoh Co Ltd PCIe SDXC/MMC Host Controller (rev 04)
   03:00.0 Network controller: Intel Corporation Centrino Ultimate-N 6300 (rev 3e)

using two external DVI monitors

today i was testing my t530 (no nvidia, no optimus) with the 'Lenovo Type 4338 Port Replikator Mini Dock Plus Series 3 PN 75Y5728 FRU 75Y5729' and found out that i can use two external monitors using the two DVI connectors from that docking station plus also using the laptop display simultaneously.

so what was tested:

  • i connected two external monitors, each using DVI to the docking station and was writing this article on them
  • i needed to disable the screen on the laptop, because only two outputs can be used at the same time *bummer* that information simply was wrong - i can now use the internal display + 2 external DVI attached displays at the same time!

xrandr output:

   # xrandr
   Screen 0: minimum 8 x 8, current 3360 x 1050, maximum 32767 x 32767
   LVDS1 connected (normal left inverted right x axis y axis)
      1600x900      60.22 +  50.01  
      1024x768      60.00  
      800x600       60.32    56.25  
      640x480       59.94  
   DP1 disconnected (normal left inverted right x axis y axis)
   DP2 disconnected (normal left inverted right x axis y axis)
   DP3 disconnected (normal left inverted right x axis y axis)
   HDMI1 disconnected (normal left inverted right x axis y axis)
   HDMI2 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm
      1680x1050     59.88*+
      1280x1024     75.02    60.02  
      1280x960      60.00  
      1152x864      75.00  
      1024x768      75.08    70.07    60.00  
      832x624       74.55  
      800x600       72.19    75.00    60.32    56.25  
      640x480       75.00    72.81    66.67    60.00  
      720x400       70.08  
   HDMI3 connected 1680x1050+1680+0 (normal left inverted right x axis y axis) 433mm x 271mm
      1680x1050     59.88*+
      1280x1024     75.02    60.02  
      1280x960      60.00  
      1152x864      75.00  
      1024x768      75.08    70.07    60.00  
      832x624       74.55  
      800x600       72.19    75.00    60.32    56.25  
      640x480       75.00    72.81    66.67    60.00  
      720x400       70.08  
   VGA1 connected (normal left inverted right x axis y axis)
      1680x1050     59.88 +
      1280x1024     75.02    60.02  
      1280x960      60.00  
      1152x864      75.00  
      1024x768      75.08    70.07    60.00  
      832x624       74.55  
      800x600       72.19    75.00    60.32    56.25  
      640x480       75.00    72.81    66.67    60.00  
      720x400       70.08  
   VIRTUAL1 disconnected (normal left inverted right x axis y axis)

how to automate stuff

the script

   #!/bin/sh
   export DISPLAY=:0
   case $1 in
   "home")
     # home 
     for i in DP1 DP2 DP3 HDMI1 HDMI2 HDMI3 VIRTUAL1 LVDS1 VGA1; do
       xrandr --output $i --off
     done
     xrandr --dpi 100
     # enabling HDM3 first, makes it the primary display
     xrandr --output HDMI3 --auto --rotate normal 
     xrandr --output LVDS1 --auto --rotate normal --left-of HDMI3
     xrandr --output HDMI2 --auto --rotate normal --right-of HDMI3
     ;;
   "work")
     # @work
     xrandr --dpi 100
     xrandr --output VGA1 --off
     xrandr --output LVDS1 --auto --rotate normal
     ;;
   *)
     # default
     for i in DP1 DP2 DP3 HDMI1 HDMI2 HDMI3 VIRTUAL1 LVDS1 VGA1; do
       xrandr --output $i --off
     done
     xrandr --dpi 100
     xrandr --output LVDS1 --auto --rotate normal
     ;;
   esac

usage

   ./.set_display home

or

   ./.set_display work

or

   ./.set_display

links

Powered by MediaWiki