How to set the monitor to its native resolution which is not listed in the resolutions list?

53,969

Solution 1

Native resolution for Samsung SyncMaster B2030 is 1600 * 600 60 Hz

  1. Generate the modeline using cvt:

    cvt 1600 900 60
    

    which will be:

    # 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz
    Modeline "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
    
  2. Get the name of the output to which your display is connected:

    xrandr
    

    This outputs among other things:

    Screen 0: minimum 320 x 200, current 1600 x 900, maximum 8192 x 8192
    VGA1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
    

    In this example the name of the output is VGA1.

  3. Create the new modeline (with the values from the output of cvt):

    xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
    

    Note:

    • the above should be in a single line
    • make note of x in 1600 x 900_60.00
  4. Add the above created modeline:

    xrandr --addmode VGA1 1600x900_60.00
    
  5. If everything went well xrandr will list your newly added resolution.

  6. Test the newly added resolution:

    xrandr --output VGA1 --mode 1600x900_60.00
    

The resolution you set with the above commands will not persist across sessions. Until Ubuntu 11.04 you can add the following lines at the beginning of your /etc/gdm/Init/Default to set the resolution automatically every time you log in:

xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
xrandr --addmode VGA1 1600x900_60.00
xrandr --output VGA1 --mode 1600x900_60.00

This question describes other ways to make xrandr customizations permanent.

Solution 2

First type in xrandr in your terminal and see which is the connected device. It maybe VGA1 as it is in this case. If not then replace VGA1 by your connected device in the commands below. Then create a new document and name it eg:- "yourname.sh" Type in:

xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
xrandr --addmode VGA1 1600x900_60.00
xrandr --output VGA1 --mode 1600x900_60.00
unity --replace

and save it in your home folder (this is for resolution 1600x900). Make it executable by:

chmod a+x ~/yourname.sh

open startup applications and click "ADD". Give a name and type in the command line

bash /home/yourname/yourname.sh

click save. The change appears after you log out and log in

Solution 3

If you don't want to go through the bother of running all the commands as instructed in other answers, you can use ResolutionX. This is a tool that does it all for you:

  • executes the cvt command
  • executes the newmode, addmode and output commands
  • creates a startup file that executes the above upon login.
Share:
53,969

Related videos on Youtube

Riyaz Mohammed Ibrahim
Author by

Riyaz Mohammed Ibrahim

Android developer SOreadytohelp

Updated on September 17, 2022

Comments

  • Riyaz Mohammed Ibrahim
    Riyaz Mohammed Ibrahim over 1 year

    After installing Ubuntu 10.04 with my Samsung SyncMaster B2030, native resolution (1600X900) is not found in the list of resolutions.

  • Scooter
    Scooter over 9 years
    I did this for my Viewsonic G790 (1600x1280_76.00 native resolution) and got an error: xrandr --newmode "1600x1280_76.00" 223.00 1600 1728 1896 2192 1280 1283 1290 1339 -hsync +vsync xrandr: Failed to get size of gamma for output default X Error of failed request: BadName (named color or font does not exist) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 16 (RRCreateMode) Serial number of failed request: 19 Current serial number in output stream: 19
  • Sam Watkins
    Sam Watkins over 8 years
    I like this method because it is fairly generic.
  • ntc2
    ntc2 over 6 years
    Thanks for showing how to use cvt! I've been seeing these mode lines for years and never knew how to calculate one.
  • Bharat Khatri
    Bharat Khatri about 6 years
    With modern LCDs, you'd need reduced blanking with cvt -r.