Configuring a dual-head system using xrandr command
I have been using my Eee PC 1000H at home since I don't own any desktop computer. I am quite happy with my Eee PC except for its relatively small display (a 10-inch LCD panel) for an indoor computing environment. But, finally, I have decided to buy a larger external display so that I can use it together with my Eee PC. What I got is MITSUBISHI Diamondcrysta RDT1765, a secondhand 17-inch LCD display. What I can do with my two displays? A dual-head system :-) The following is what have tested.
![]() |
![]() |
| MITSUBISHI Diamondcrysta RDT1765 (17-inch LCD). | A dual-head system. |
In this article, I thoroughly use the xrandr command that can flexibly modify display configurations without restarting X Window System. There is a very handy GUI utility called grandr with which you can do similar stuffs more intuitively. However, I do prefer using the xrandr command due to its maximal flexibility.
Probing displays
I have connected the RDT1765 to my Eee PC through a VGA connector. After a clean boot and entering an IceWM session, I type xrandr the terminal to check available displays.
$ xrandr Screen 0: minimum 320 x 200, current 800 x 600, maximum 2048 x 2048 VGA connected 800x600+0+0 (normal left inverted right x axis y axis) 338mm x 270mm 1280x1024 60.0 + 75.0 60.0 1152x864 75.0 1024x768 75.0 70.1 60.0 832x624 74.6 800x600 72.2 75.0 60.3* 56.2 640x480 75.0 72.8 66.7 59.9 720x400 70.1 LVDS connected 800x600+0+0 (normal left inverted right x axis y axis) 220mm x 129mm 1024x600 60.0 + 65.0 800x600 60.3* 640x480 59.9
I summarize what I can learn from this output in the following table.
| Display model | Output name | Max resolution | Current resolution | X-offset | Y-offset |
|---|---|---|---|---|---|
| MITSUBISHI RDT1765 (17-inch) | VGA | 1280x1024 | 800x600 | 0 | 0 |
| Eee PC 1000H LCD panel (10-inch) | LVDS | 1024x600 | 800x600 | 0 | 0 |
According to the output of lspci command, my Eee PC 1000H is using an Intel 945GM graphics chip. The max virtual screen size supported by this chip is 2048x2048. That means, it is not possible to horizontally patch the two display without overwrap (because 1280+1024=2304 > 2048). Anyway, I don't want a horizontal dual-head system.
![]() |
![]() |
| Figure 1: A vertical dual-head system. | Figure 2: Sharing the same region of a virtual screen. |
A vertical dual-head system
Since I want to lay the IceWM's task bar at the bottom of the larger display, I vertically connect the VGA (the MITSUBISHI LCD) to LVDS (the Eee PC LCD) as in Figure 1. When the mouse pointer hits the top of the VGA, it seamlessly goes beyond it and appears from the bottom the LVDS. Also, I have enabled horizontal panning up to X = 1280. Otherwise, I cannot see the right rectangular region that is not covered by the LVDS.
To realize the above configuration, I did
$ xrandr --fb 1280x1624 --output VGA --mode 1280x1024 --pos 0x600 --output LVDS --mode 1024x600 --pos 0x0 --panning 1280x0
xrandr --fb 1280x1624 sets the virtual screen resolution to 1280x1624. --output VGA --mode 1280x1024 --pos 0x600 sets VGA (MITSUBISHI LCD) to resolution 1280x1024 placed at 0x600 of the virtual screen. --output LVDS --mode 1024x600 --pos 0x0 sets LVDS (the Eee PC LCD) to resolution 1024x600 placed at 0x0 of the virtual screen. --panning 1280x0 enables horizontal panning up to X = 1280.
Sharing the same region of a virtual screen
Previously, I got the vertical dual-head system working. However, I have found that the 17-inch display is enough for doing any work. Then, I finally ended up not seeing the Eee PC LCD at all. But still, I want to keep the small display showing something in case something accidental happens to the MITSUBISHI LCD. So I have configured my displays as in Figure 2.
To get that configuration, I explicitly issued a command as
$ xrandr --fb 1280x1024 --output VGA --mode 1280x1024 --pos 0x0 --output LVDS --mode 1024x600 --pos 0x0 --panning 0x0
However, considering default values and a fancy --same-as option, the following might suffice to get a similar result:
$ xrandr --output VGA --mode 1280x1024 --output LVDS --same-as VGA
Blanking the LCD
Energy saving is an important issue nowadays. To blank the small LCD while using the larger external display, we can use --off option as:
$ xrandr --fb 1280x1024 --output VGA --mode 1280x1024 --pos 0x0 --output LVDS --off



