Why can't I get the right screen resolution in Ubuntu?

11,768

Solution 1

Due to buggy hardware or drivers, your monitor's correct resolutions may not always be detected. For example, the EDID data block queried from your monitor may be incorrect.

If the mode already exists, but just isn't associated for the particular output, you can add it like this:

$ xrandr --addmode S-video 800x600

If the mode doesn't yet exist, you'll need to create it first by specifying a modeline:

$ xrandr --newmode

You may create a modeline using the gtf or cvt utility. For example, if you want to add a mode with resolution 800x600, you can enter the following command: (The output is shown following.)

$ cvt 800 600 # 800x600 59.86 Hz (CVT 0.48M3) hsync: 37.35 kHz; pclk: 38.25 MHz Modeline "800x600_60.00" 38.25 800 832 912 1024 600 603 607 624 -hsync +vsync

Then copy the information after the word "Modeline" into the xrandr command:

$ xrandr --newmode "800x600_60.00"
38.25 800 832 912 1024 600 603 607 624 -hsync +vsync

After the mode is entered, it needs to be added to the output using the --addmode command as explained above.

Source: https://wiki.ubuntu.com/X/Config/Resolution

Solution 2

I just ran into same problem and solved by following steps:

1.. Find configuration for desired resolution and add it to xrandr:

$ gtf 1920 1080 60

  # 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
  Modeline "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

$ xrandr --newmode "1920x1080" 172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync
$ xrandr --addmode VGA1 1920x1080

2.. then this new mode can be used:

$ xrandr --output VGA1 --mode 1920x1080
Share:
11,768

Related videos on Youtube

Searock
Author by

Searock

Github Gist

Updated on September 17, 2022

Comments

  • Searock
    Searock over 1 year

    My screen resolution in windows and previous version of ubuntu (9.04) was 1152 x 864.

    But in Ubuntu 10.04 it gives me an option of 1024 x 786 and 1360 x 786, how can I change it to 1152 x 864 ?

    Is there any way I can change my screen resolution to 1152 x 864 ?

    Thanks.

    Edit : I am sorry I forgot to mention my graphic card details.
    It's Intel(R) 82945G Express Chipset Family.

    Edit 1 : This is what I have tried according to Matan Eldan.

    searock@searock-desktop:~$ cvt 1152 864

    1152x864 59.96 Hz (CVT 1.00M3) hsync: 53.78 kHz; pclk: 81.75 MHz Modeline "1152x864_60.00" 81.75 1152 1216 1336 1520 864 867 871 897 -hsync +vsync

    searock@searock-desktop:~$ xrandr --newmode "1152x864_60.00" 81.75 1152 1216 1336 1520 864 867 871 897 -hsync +vsync

    searock@searock-desktop:~$ xrandr --addmode S-video 1152x864
    xrandr: cannot find output "S-video"

    Then I tried executing xrandr command and it displays the resolution but I think I can't add it to the output.

    searock@searock-desktop:~$ xrandr
    Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
    VGA1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
    1360x768 59.8
    1024x768 60.0*
    800x600 60.3 56.2
    848x480 60.0
    640x480 59.9 59.9
    1152x864_60.00 (0x124) 81.0MHz
    h: width 1152 start 1216 end 1336 total 1520 skew 0 clock 53.3KHz
    v: height 864 start 867 end 871 total 897 clock 59.4Hz

    Edit 2 : Thanks to Matan Eldan and Lord.Quackstar, my problem is solved. This is what I have tried.

    searock@searock-desktop:~$ cvt 1152 864

    1152x864 59.96 Hz (CVT 1.00M3) hsync: 53.78 kHz; pclk: 81.75 MHz Modeline "1152x864_60.00" 81.75 1152 1216 1336 1520 864 867 871 897 -hsync +vsync

    searock@searock-desktop:~$ xrandr --newmode "1152x864_60.00" 81.75 1152 1216 1336 1520 864 867 871 897 -hsync +vsync

    searock@searock-desktop:~$ xrandr --addmode S-video 1152x864
    xrandr: cannot find output "S-video"

    searock@searock-desktop:~$ xrandr
    Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
    VGA1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
    1360x768 59.8
    1024x768 60.0*
    800x600 60.3 56.2
    848x480 60.0
    640x480 59.9 59.9
    1152x864_60.00 (0x124) 81.0MHz
    h: width 1152 start 1216 end 1336 total 1520 skew 0 clock 53.3KHz
    v: height 864 start 867 end 871 total 897 clock 59.4Hz

    searock@searock-desktop:~$ xrandr --addmode VGA1 1152x864_60.00

    • Apache
      Apache almost 14 years
      First of all before everyone starts answering stupid things, please tell us what kind of VGA have you got. Without that, we can't tell a (normal) solution.
    • Apache
      Apache almost 14 years
      Then the xrandr way should work. It would be much easier with an NVidia card... :) Basically on Linux the Intel driver is problematic. (There is even a wiki page for it: wiki.ubuntu.com/X/Troubleshooting/IntelPerformance)
  • Searock
    Searock almost 14 years
    I will give a try.
  • Searock
    Searock almost 14 years
    It's not working, I don't know why? but it gives me error when I try to execute xrandr --addmode S-video 1152x864
  • Matan Eldan
    Matan Eldan almost 14 years
    What error it gives you?
  • Searock
    Searock almost 14 years
    xrandr: cannot find output "S-video". You can find what I have tried above.
  • HiFi
    HiFi almost 14 years
    Erm... that should be xrandr --addmode VGA1 800x600