Some Eee models (such as the 901) only offer up to 1024×768 resolution when you attach an external monitor. Here we tell you how to fix this. (This doesn't solve the problem with the 701 where higher resolutions only give static - some say that this is due to the 701's underclocking: speed it up slightly and it works fine).
The solution comes in two parts. First, you need to change /etc/X11/xorg.conf, which is set up to say that the maximum resolution is that of the built-in screen (you do this once); then you need to switch the external screen to the resolution you want.
Open a terminal with ctrl-alt-T, and change to the right directory by typing:
Make a backup of the existing file, just in case:
sudo cp xorg.conf xorg.conf.orig
Now edit the file to set up the correct maximum resolution:
sudo kwrite xorg.conf
Find the line that says
and change the 16 to 24.
Find all the lines that say
Virtual 1024 768
(there were 4 of them in my file) and change them to:
Virtual 2048 2048
Save the file (ctrl-S), and exit (ctrl-Q).
Now reboot (ctrl-alt-backspace is enough).
Now you have a system that is capable of handling higher resolutions.
Unfortunately, for some reason that I haven't yet cracked, the “Desktop Mode” program in the Settings tab still doesn't recognise the extended resolution (the resolutions it offers may be just hardwired in). So to start up the external monitor you have to use a terminal again.
Plug your monitor in, switch it on, and crank up a terminal again (ctrl-alt-T).
To see that it has worked, and to find out what resolutions are available, type in the terminal:
This will then tell you which screens are available, and at what resolutions. Mine said:
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 2048 x 2048 VGA connected 1680x1050+0+0 (normal left inverted right x axis y axis) 433mm x 271mm 1680x1050 59.9*+ 60.0 1600x1200 59.9 1280x1024 75.0 1152x864 75.0 1024x768 84.9 75.1 70.1 60.0 1024x600 60.0 832x624 74.6 800x600 84.9 72.2 75.0 60.3 56.2 800x480 60.0 640x480 84.6 75.0 72.8 66.7 60.0 720x400 70.1 LVDS connected 1024x600+0+0 (normal left inverted right x axis y axis) 195mm x 113mm 1024x600 60.0*+ 60.0 800x600 60.3 800x480 60.0 640x480 59.9
VGA is the name of the external screen, and LVGS the internal LCD. Now you can turn on your external screen.
and bingo!, this should leave you with both screens (internal and external) on, at the maximum resolution of the external screen.
You can also pick the resolution you want to use from the available list (for instance 1650×1080), and type in the terminal:
xrandr --output VGA --mode 1680x1050
You can switch the internal LCD off with
xrandr --output LVDS --off
To return to using just the laptop screen the 'Desktop Mode' program works just fine, but you can also type:
xrandr --output LVDS --on xrandr --output VGA --off
It works like this: you have a virtual screen of 2048×2048 (which is the largest the hardware supports). You have screens which are windows onto that space.
When you say 'xrandr –auto', both screens are windows on to the same part of the virtual screen (the top left part). However, either or both can be moved to another part.
Simple ways include:
xrandr --output VGA --right-of LVDS
which puts the external screen to the right of the internal screen. So dragging stuff to the right of the internal screen will make them appear on the external screen.
But there is a caveat: the combined resolution in any direction must be less than 2048. So if you have the internal screen at 1024, the external screen may not be wider than 1024 for this to work.
However, since vertical resolutions are usually the smaller, this is likely to work for high-resolution external screens:
xrandr --output VGA --above LVDS
(or –below). This is because the sum of the two vertical resolutions is likely to be less than 2048. Then you have to drag windows to the top or the bottom of the internal screen to get them on the external monitor.
Another option is to have the two screens overlap slightly so that the combination doesn't exceed 2048.
So for instance, if you want to put a 1680×1050 screen to the right of the 1024×600 internal screen, they will have to overlap from pixel position (2048-1680)=368:
xrandr --output LVDS --mode 1024x600 --pos 0x0 --output VGA --mode 1680x1050 --pos 368x0
You can even rotate one or more screens!
xrandr --output LVDS --rotate left
Note that the mouse 'rotates' with it.
You can return it with
xrandr --output LVDS --rotate normal
If from a terminal you run
it will start a program up in the program tray. If you click on it, a menu will pop up allowing you to select resolutions and orientations, avoiding having to use the terminal commands above.
Experience with a 2048×1152 screen has shown that the 901 must be plugged in, or at least running at full speed, in order to be able to handle such high resolutions.