document updated 12 years ago, on Apr 17, 2012
When your monitor's resolution isn't automatically detected properly, here are instructions for fixing it.
This has worked for me in Ubuntu Unity, Gnome 2, lots of places.
try to read the monitor's EDID
force it to use an unlisted resolution
Use xrandr for this. An example that I use for dual-heads on my laptop:
# A wrapper around 'xrandr --newmode', to make it more literate.
#
# All arguments are passed to http://man.cx/cvt, and are generally:
# <width> <height> [<refresh>]
function xrandr_newmode {
eval "xrandr --newmode $( cvt "$@" | perl -nle 'print if s/^\s*Modeline //' )"
cvt "$@" | perl -F'"' -nale 'print $F[1] if /^\s*Modeline /' # return the name of the new mode
}
# Setup VGA1 (1920x1080) to the left of LVDS1 (1280x800).
function 1080p {
local mode_1080p=$(xrandr_newmode 1920 1080 50)
xrandr --addmode VGA1 $mode_1080p
xrandr --output VGA1 --mode $mode_1080p
xrandr --output LVDS1 --mode "1280x800"
xrandr --output VGA1 --left-of LVDS1
}
GUI tools that can be used for this: arandr (deb), grandr, gnome-randr-applet, zarfy, lxrandr
make the change permanent
Xrandr makes changes dynamically, so it's useful if you frequently plug/unplug a monitor. If you want to make things permanent, use xorg.conf.
try this first
Specifying the resolution for individual monitors in xorg.conf:
modeline calculators
- cmd-line
- web-based
- http://www.arachnoid.com/modelines/index.html
- http://amlc.berlios.de/