I have a 22'' display from HP (w2207h) connected to my laptop (a Dell Mini 10v or 1011) through a VGA switch (a share this screen with a desktop computer and a Nintendo Wii). My problem is that I can't set a higher resolution than 1024x768 (4:3) in my external display. I can only set a lower resolution (800x600 and 4:3). I used it before with Ubuntu and I had no problem with the screen resolution so I think the problem is the VGA switch. Does anybody knows how to fix this problem? Does anybody knows how I can start?

This is a screenshot of my screen configuration. The green one is the HP display and the word you can read on it is "unknown". Yes, it's in spanish. Thank you very much.

Screen configuration window Ubuntu 11.10

More information: The graphic adapter of my Dell Mini laptop is Intel945GSE UMA.

  • 1
    I forgot to say that the native resolution of my HP display is 1650 x 900. Thank you. – jefesuarez Oct 27 '11 at 22:49
  • More info. The second display is listed as unknown in the monitors/screens/displays window. – jefesuarez Oct 28 '11 at 0:08

The same occurs to me. You must add the resolution with:

xrandr --newmode <ModeLine>

To know the ModeLine of your resolution, do this:

$ cvt 1650 900

You will get some like this:

# 1656x900 59.93 Hz (CVT) hsync: 55.98 kHz; pclk: 122.25 MHz
Modeline "1656x900_60.00"  122.25  1656 1752 1920 2184  900 903 913 934 -hsync +vsync

Then, copy the information after the word “Modeline” into the XRandR command:

$ xrandr --newmode "1656x900_60.00"  122.25  1656 1752 1920 2184  900 903 913 934 -hsync +vsync

After the mode is entered, it needs to be added to the output:

xrandr --addmode VGA1 1656x900_60.00

Now you have the new resolution :-)

| improve this answer | |
  • 8
    what am i gonna replace VGA1 with ? - solved: xrandr to see what the output names are – kommradHomer Sep 19 '14 at 7:15
  • 3
    This works. Thanks a lot. But I have to do this every time I restart my computer (bash history comes in handy). Where could it be the best place to put this to be done automatically? – Ivan Apr 26 '15 at 23:59
  • @Ivan, you can make a script with the last two commands and make that execute at startup. Read about startup scripts. – FelGutiCo Apr 28 '15 at 2:05
  • I found this suggestion in the docs as well, but unfortunately it doesn't work for me at all since the step xrandr --newmode <Modeline> doesn't work no matter what I enter. It just says xrandr: failed to parse <X> as a mode specification. Any idea what could cause that? – Thor84no Sep 23 '15 at 10:13
  • 1
    This solution worked for me. I just want to add that to remove a mode you can do xrandr --rmmode 1920x1200R for example – desmond13 Sep 19 '17 at 19:01

FelGutiCo and milkovsky are right, however I had to use the -r parameter to make it work (otherwise the left 20% of my monitor was blank and the image was fit into the right 80%), so what I did was:

$ cvt -r 1920 1080
# 1920x1080 59.93 Hz (CVT 2.07M9-R) hsync: 66.59 kHz; pclk: 138.50 MHz
Modeline "1920x1080R"  138.50  1920 1968 2000 2080  1080 1083 1088 1111 +hsync -vsync

$ xrandr --newmode "1920x1080R"  138.50  1920 1968 2000 2080  1080 1083 1088 1111 +hsync -vsync

$ xrandr --addmode VGA-1 1920x1080R

Plus one hint, as I had to change "VGA1" to "VGA-1"; to find out the IDs of my monitors I used:

$ xrandr --listactivemonitors
| improve this answer | |
$ cvt 1366 768
# 1368x768 59.88 Hz (CVT) hsync: 47.79 kHz; pclk: 85.25 MHz
Modeline "1368x768_60.00"   85.25  1368 1440 1576 1784  768 771 781 798 -hsync +vsync

$ xrandr --newmode "1368x768_60.00"   85.25  1368 1440 1576 1784  768 771 781 798 -hsync +vsync

To find id of monitors

$ xrandr --listactivemonitors

Monitors: 2
 0: +*eDP-1 1366/345x768/194+0+0  eDP-1
 1: +DP-1 1024/271x768/203+1366+0  DP-1

$ xrandr --addmode DP-1 1368x768_60.00
| improve this answer | |
  • Please add some description of the commands you've used. – Kulfy May 12 '19 at 10:43

you can do what FelGutiCo said. Furthermore if you have trouble after a restart (ubuntu cannot find the resolution) you need to create an .xprofile file in your home directory with the two xrandr commands from above:

$ xrandr --newmode "1656x900_60.00"  122.25  1656 1752 1920 2184  900 903 913 934 -hsync +vsync
$ xrandr --addmode VGA1 1656x900_60.00

where 1656x900.. --> your desired resolution

| improve this answer | |

If you think the problem may be the VGA switch, why don't you try plugging the monitor in directly?

Also, there's a known problem with the video chipset on many netbooks, where the combined screensize cannot exceed 2048 pixels in any dimension. So if your laptop's is 1024 pixels wide, you can only add another display of up to 1024 pixels wide.

To check for this, open a terminal and use this command:


if you see "Intel Corporation: N10 Family Integrated Graphics Controller" then your system is affected by this problem.

This is caused by some driver limitations in Ubuntu, here's the bug report for this:


This is why, if you try to set a higher resolution, you'll get a message saying that you need to fit all monitors within 2048x2048 pixels. Unfortunately there's no real solution to this but I can suggest two workarounds:

  1. Arrange the monitors one on top of the other. Thus it's the vertical resolution that's limited, and 600+900=1500 which is lower than 2048, thus you'll be able to use both monitors.
  2. Use Unity-2d, I think the limitation does not affect it.

Note that if you try to set the resolutions via the commandline, you'll bypass the "protection" against setting an invalid resolution. This will not work and your system will become unusably slow. If this happens, just reboot it.

| improve this answer | |
  • This was an issue on my old laptop and I have successfully resolved it by putting external monitor logically above (instead of to the right) the built-in but this is not the problem with my newer laptop having Intel graphics of another generation (which lacks this bug but is much less stable unfortunately). – Ivan Apr 27 '15 at 0:03

The following command work for me on my Ubuntu 17.04 ,Lenovo Ideapad Z510 with Nvidia 1GB GPU

ubuntu@home-ideapad: xrandr --listmonitors

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.