How to set a custom resolution?











up vote
61
down vote

favorite
35












I tried to use xrandr to set 1680x1050 as a new mode to VGA output, but it says:



 sudo xrandr --addmode VGA-0 1680
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 35
Current serial number in output stream: 36









share|improve this question




























    up vote
    61
    down vote

    favorite
    35












    I tried to use xrandr to set 1680x1050 as a new mode to VGA output, but it says:



     sudo xrandr --addmode VGA-0 1680
    X Error of failed request: BadMatch (invalid parameter attributes)
    Major opcode of failed request: 140 (RANDR)
    Minor opcode of failed request: 18 (RRAddOutputMode)
    Serial number of failed request: 35
    Current serial number in output stream: 36









    share|improve this question


























      up vote
      61
      down vote

      favorite
      35









      up vote
      61
      down vote

      favorite
      35






      35





      I tried to use xrandr to set 1680x1050 as a new mode to VGA output, but it says:



       sudo xrandr --addmode VGA-0 1680
      X Error of failed request: BadMatch (invalid parameter attributes)
      Major opcode of failed request: 140 (RANDR)
      Minor opcode of failed request: 18 (RRAddOutputMode)
      Serial number of failed request: 35
      Current serial number in output stream: 36









      share|improve this question















      I tried to use xrandr to set 1680x1050 as a new mode to VGA output, but it says:



       sudo xrandr --addmode VGA-0 1680
      X Error of failed request: BadMatch (invalid parameter attributes)
      Major opcode of failed request: 140 (RANDR)
      Minor opcode of failed request: 18 (RRAddOutputMode)
      Serial number of failed request: 35
      Current serial number in output stream: 36






      display-resolution xrandr






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Feb 9 '17 at 21:16









      Nickolai Leschov

      3,16493468




      3,16493468










      asked Nov 16 '13 at 13:24









      user216356

      306143




      306143






















          4 Answers
          4






          active

          oldest

          votes

















          up vote
          99
          down vote













          First generate a "modeline" by using cvt

          Syntax is: cvt width height refreshrate



          cvt 1680 1050 60


          this gives you:



          # 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
          Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync


          Now tell this to xrandr:



          xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync


          Then you can now add it to the table of possible resolutions of an output of your choice:



          xrandr --addmode VGA-0 1680x1050_60.00


          The changes are lost after reboot, to set up the resolution persistently, create the file ~/.xprofile with the content:



          #!/bin/sh
          xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
          xrandr --addmode VGA-0 1680x1050_60.00





          share|improve this answer



















          • 19




            The connected device might not be VGA-0. If you get the message xrandr: cannot find output "VGA-0", try running the following command: xrandr | grep -e " connected [^(]" | sed -e "s/([A-Z0-9]+) connected.*/1/" (source: xrandr on ArchWiki). The output of that command should be the correct device identifier.
            – thirdender
            Jul 9 '14 at 6:25








          • 8




            You do not need sudo with xrandr
            – Panther
            Oct 12 '15 at 18:14






          • 1




            I would like to add that I have the same error - and the above does not solve the problem at all
            – TellMeWhy
            Oct 13 '15 at 9:35






          • 2




            If you're on a VM, the display is usually Virtual1 instead of VGA-0.
            – CyberEd
            Mar 22 '16 at 22:37






          • 2




            You need to replace VGA-0 with your monitor connection. Use xrandr --listmonitors. See How to fix error 'xrandr: cannot find output “VGA1”'?
            – Hooman
            Mar 7 at 5:27


















          up vote
          12
          down vote













          How to set a custom resolution previously specified. After executing the other steps defined to create the resolution, run:



          xrandr -s 1680x1050





          share|improve this answer






























            up vote
            2
            down vote













            How to set a custom resolution previously specified when running multiple monitors. After executing the other steps defined to create the resolution, run:



            xrandr --output DVI-0 --mode 1680x1050



            Replace DVI-0 with your device-id, e.g. VGA-0






            share|improve this answer




























              up vote
              1
              down vote













              Thanks to thom and thirdender this is basically a single command configuration based on the most voted answer.



              RES="1920 1200 60" && 
              DISP=$(xrandr | grep -e " connected [^(]" | sed -e "s/([A-Z0-9]+) connected.*/1/") &&
              MODELINE=$(cvt $(echo $RES) | grep -e "Modeline [^(]" | sed -r 's/.*Modeline (.*)/1/') &&
              MODERES=$(echo $MODELINE | grep -o -P '(?<=").*(?=")') &&
              cat > ~/.xprofile << _EOF
              #!/bin/sh
              xrandr --newmode $MODELINE
              xrandr --addmode $DISP $MODERES
              _EOF


              The above command will generate the desired ~/.xprofile file. Just make sure you use the resolution (i.e. the RES variable) of your liking. More info here.






              share|improve this answer






















                protected by Community Jun 15 at 18:24



                Thank you for your interest in this question.
                Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



                Would you like to answer one of these unanswered questions instead?














                4 Answers
                4






                active

                oldest

                votes








                4 Answers
                4






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes








                up vote
                99
                down vote













                First generate a "modeline" by using cvt

                Syntax is: cvt width height refreshrate



                cvt 1680 1050 60


                this gives you:



                # 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
                Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync


                Now tell this to xrandr:



                xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync


                Then you can now add it to the table of possible resolutions of an output of your choice:



                xrandr --addmode VGA-0 1680x1050_60.00


                The changes are lost after reboot, to set up the resolution persistently, create the file ~/.xprofile with the content:



                #!/bin/sh
                xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
                xrandr --addmode VGA-0 1680x1050_60.00





                share|improve this answer



















                • 19




                  The connected device might not be VGA-0. If you get the message xrandr: cannot find output "VGA-0", try running the following command: xrandr | grep -e " connected [^(]" | sed -e "s/([A-Z0-9]+) connected.*/1/" (source: xrandr on ArchWiki). The output of that command should be the correct device identifier.
                  – thirdender
                  Jul 9 '14 at 6:25








                • 8




                  You do not need sudo with xrandr
                  – Panther
                  Oct 12 '15 at 18:14






                • 1




                  I would like to add that I have the same error - and the above does not solve the problem at all
                  – TellMeWhy
                  Oct 13 '15 at 9:35






                • 2




                  If you're on a VM, the display is usually Virtual1 instead of VGA-0.
                  – CyberEd
                  Mar 22 '16 at 22:37






                • 2




                  You need to replace VGA-0 with your monitor connection. Use xrandr --listmonitors. See How to fix error 'xrandr: cannot find output “VGA1”'?
                  – Hooman
                  Mar 7 at 5:27















                up vote
                99
                down vote













                First generate a "modeline" by using cvt

                Syntax is: cvt width height refreshrate



                cvt 1680 1050 60


                this gives you:



                # 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
                Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync


                Now tell this to xrandr:



                xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync


                Then you can now add it to the table of possible resolutions of an output of your choice:



                xrandr --addmode VGA-0 1680x1050_60.00


                The changes are lost after reboot, to set up the resolution persistently, create the file ~/.xprofile with the content:



                #!/bin/sh
                xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
                xrandr --addmode VGA-0 1680x1050_60.00





                share|improve this answer



















                • 19




                  The connected device might not be VGA-0. If you get the message xrandr: cannot find output "VGA-0", try running the following command: xrandr | grep -e " connected [^(]" | sed -e "s/([A-Z0-9]+) connected.*/1/" (source: xrandr on ArchWiki). The output of that command should be the correct device identifier.
                  – thirdender
                  Jul 9 '14 at 6:25








                • 8




                  You do not need sudo with xrandr
                  – Panther
                  Oct 12 '15 at 18:14






                • 1




                  I would like to add that I have the same error - and the above does not solve the problem at all
                  – TellMeWhy
                  Oct 13 '15 at 9:35






                • 2




                  If you're on a VM, the display is usually Virtual1 instead of VGA-0.
                  – CyberEd
                  Mar 22 '16 at 22:37






                • 2




                  You need to replace VGA-0 with your monitor connection. Use xrandr --listmonitors. See How to fix error 'xrandr: cannot find output “VGA1”'?
                  – Hooman
                  Mar 7 at 5:27













                up vote
                99
                down vote










                up vote
                99
                down vote









                First generate a "modeline" by using cvt

                Syntax is: cvt width height refreshrate



                cvt 1680 1050 60


                this gives you:



                # 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
                Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync


                Now tell this to xrandr:



                xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync


                Then you can now add it to the table of possible resolutions of an output of your choice:



                xrandr --addmode VGA-0 1680x1050_60.00


                The changes are lost after reboot, to set up the resolution persistently, create the file ~/.xprofile with the content:



                #!/bin/sh
                xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
                xrandr --addmode VGA-0 1680x1050_60.00





                share|improve this answer














                First generate a "modeline" by using cvt

                Syntax is: cvt width height refreshrate



                cvt 1680 1050 60


                this gives you:



                # 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
                Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync


                Now tell this to xrandr:



                xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync


                Then you can now add it to the table of possible resolutions of an output of your choice:



                xrandr --addmode VGA-0 1680x1050_60.00


                The changes are lost after reboot, to set up the resolution persistently, create the file ~/.xprofile with the content:



                #!/bin/sh
                xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
                xrandr --addmode VGA-0 1680x1050_60.00






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited May 21 at 5:04









                miyalys

                1156




                1156










                answered Nov 16 '13 at 13:42









                thom

                4,60721624




                4,60721624








                • 19




                  The connected device might not be VGA-0. If you get the message xrandr: cannot find output "VGA-0", try running the following command: xrandr | grep -e " connected [^(]" | sed -e "s/([A-Z0-9]+) connected.*/1/" (source: xrandr on ArchWiki). The output of that command should be the correct device identifier.
                  – thirdender
                  Jul 9 '14 at 6:25








                • 8




                  You do not need sudo with xrandr
                  – Panther
                  Oct 12 '15 at 18:14






                • 1




                  I would like to add that I have the same error - and the above does not solve the problem at all
                  – TellMeWhy
                  Oct 13 '15 at 9:35






                • 2




                  If you're on a VM, the display is usually Virtual1 instead of VGA-0.
                  – CyberEd
                  Mar 22 '16 at 22:37






                • 2




                  You need to replace VGA-0 with your monitor connection. Use xrandr --listmonitors. See How to fix error 'xrandr: cannot find output “VGA1”'?
                  – Hooman
                  Mar 7 at 5:27














                • 19




                  The connected device might not be VGA-0. If you get the message xrandr: cannot find output "VGA-0", try running the following command: xrandr | grep -e " connected [^(]" | sed -e "s/([A-Z0-9]+) connected.*/1/" (source: xrandr on ArchWiki). The output of that command should be the correct device identifier.
                  – thirdender
                  Jul 9 '14 at 6:25








                • 8




                  You do not need sudo with xrandr
                  – Panther
                  Oct 12 '15 at 18:14






                • 1




                  I would like to add that I have the same error - and the above does not solve the problem at all
                  – TellMeWhy
                  Oct 13 '15 at 9:35






                • 2




                  If you're on a VM, the display is usually Virtual1 instead of VGA-0.
                  – CyberEd
                  Mar 22 '16 at 22:37






                • 2




                  You need to replace VGA-0 with your monitor connection. Use xrandr --listmonitors. See How to fix error 'xrandr: cannot find output “VGA1”'?
                  – Hooman
                  Mar 7 at 5:27








                19




                19




                The connected device might not be VGA-0. If you get the message xrandr: cannot find output "VGA-0", try running the following command: xrandr | grep -e " connected [^(]" | sed -e "s/([A-Z0-9]+) connected.*/1/" (source: xrandr on ArchWiki). The output of that command should be the correct device identifier.
                – thirdender
                Jul 9 '14 at 6:25






                The connected device might not be VGA-0. If you get the message xrandr: cannot find output "VGA-0", try running the following command: xrandr | grep -e " connected [^(]" | sed -e "s/([A-Z0-9]+) connected.*/1/" (source: xrandr on ArchWiki). The output of that command should be the correct device identifier.
                – thirdender
                Jul 9 '14 at 6:25






                8




                8




                You do not need sudo with xrandr
                – Panther
                Oct 12 '15 at 18:14




                You do not need sudo with xrandr
                – Panther
                Oct 12 '15 at 18:14




                1




                1




                I would like to add that I have the same error - and the above does not solve the problem at all
                – TellMeWhy
                Oct 13 '15 at 9:35




                I would like to add that I have the same error - and the above does not solve the problem at all
                – TellMeWhy
                Oct 13 '15 at 9:35




                2




                2




                If you're on a VM, the display is usually Virtual1 instead of VGA-0.
                – CyberEd
                Mar 22 '16 at 22:37




                If you're on a VM, the display is usually Virtual1 instead of VGA-0.
                – CyberEd
                Mar 22 '16 at 22:37




                2




                2




                You need to replace VGA-0 with your monitor connection. Use xrandr --listmonitors. See How to fix error 'xrandr: cannot find output “VGA1”'?
                – Hooman
                Mar 7 at 5:27




                You need to replace VGA-0 with your monitor connection. Use xrandr --listmonitors. See How to fix error 'xrandr: cannot find output “VGA1”'?
                – Hooman
                Mar 7 at 5:27












                up vote
                12
                down vote













                How to set a custom resolution previously specified. After executing the other steps defined to create the resolution, run:



                xrandr -s 1680x1050





                share|improve this answer



























                  up vote
                  12
                  down vote













                  How to set a custom resolution previously specified. After executing the other steps defined to create the resolution, run:



                  xrandr -s 1680x1050





                  share|improve this answer

























                    up vote
                    12
                    down vote










                    up vote
                    12
                    down vote









                    How to set a custom resolution previously specified. After executing the other steps defined to create the resolution, run:



                    xrandr -s 1680x1050





                    share|improve this answer














                    How to set a custom resolution previously specified. After executing the other steps defined to create the resolution, run:



                    xrandr -s 1680x1050






                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited Dec 27 '15 at 8:23









                    Eric Leschinski

                    1,38111319




                    1,38111319










                    answered Apr 25 '15 at 0:20









                    GuiRitter

                    22124




                    22124






















                        up vote
                        2
                        down vote













                        How to set a custom resolution previously specified when running multiple monitors. After executing the other steps defined to create the resolution, run:



                        xrandr --output DVI-0 --mode 1680x1050



                        Replace DVI-0 with your device-id, e.g. VGA-0






                        share|improve this answer

























                          up vote
                          2
                          down vote













                          How to set a custom resolution previously specified when running multiple monitors. After executing the other steps defined to create the resolution, run:



                          xrandr --output DVI-0 --mode 1680x1050



                          Replace DVI-0 with your device-id, e.g. VGA-0






                          share|improve this answer























                            up vote
                            2
                            down vote










                            up vote
                            2
                            down vote









                            How to set a custom resolution previously specified when running multiple monitors. After executing the other steps defined to create the resolution, run:



                            xrandr --output DVI-0 --mode 1680x1050



                            Replace DVI-0 with your device-id, e.g. VGA-0






                            share|improve this answer












                            How to set a custom resolution previously specified when running multiple monitors. After executing the other steps defined to create the resolution, run:



                            xrandr --output DVI-0 --mode 1680x1050



                            Replace DVI-0 with your device-id, e.g. VGA-0







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Jul 3 '17 at 7:32









                            pokkie

                            336




                            336






















                                up vote
                                1
                                down vote













                                Thanks to thom and thirdender this is basically a single command configuration based on the most voted answer.



                                RES="1920 1200 60" && 
                                DISP=$(xrandr | grep -e " connected [^(]" | sed -e "s/([A-Z0-9]+) connected.*/1/") &&
                                MODELINE=$(cvt $(echo $RES) | grep -e "Modeline [^(]" | sed -r 's/.*Modeline (.*)/1/') &&
                                MODERES=$(echo $MODELINE | grep -o -P '(?<=").*(?=")') &&
                                cat > ~/.xprofile << _EOF
                                #!/bin/sh
                                xrandr --newmode $MODELINE
                                xrandr --addmode $DISP $MODERES
                                _EOF


                                The above command will generate the desired ~/.xprofile file. Just make sure you use the resolution (i.e. the RES variable) of your liking. More info here.






                                share|improve this answer



























                                  up vote
                                  1
                                  down vote













                                  Thanks to thom and thirdender this is basically a single command configuration based on the most voted answer.



                                  RES="1920 1200 60" && 
                                  DISP=$(xrandr | grep -e " connected [^(]" | sed -e "s/([A-Z0-9]+) connected.*/1/") &&
                                  MODELINE=$(cvt $(echo $RES) | grep -e "Modeline [^(]" | sed -r 's/.*Modeline (.*)/1/') &&
                                  MODERES=$(echo $MODELINE | grep -o -P '(?<=").*(?=")') &&
                                  cat > ~/.xprofile << _EOF
                                  #!/bin/sh
                                  xrandr --newmode $MODELINE
                                  xrandr --addmode $DISP $MODERES
                                  _EOF


                                  The above command will generate the desired ~/.xprofile file. Just make sure you use the resolution (i.e. the RES variable) of your liking. More info here.






                                  share|improve this answer

























                                    up vote
                                    1
                                    down vote










                                    up vote
                                    1
                                    down vote









                                    Thanks to thom and thirdender this is basically a single command configuration based on the most voted answer.



                                    RES="1920 1200 60" && 
                                    DISP=$(xrandr | grep -e " connected [^(]" | sed -e "s/([A-Z0-9]+) connected.*/1/") &&
                                    MODELINE=$(cvt $(echo $RES) | grep -e "Modeline [^(]" | sed -r 's/.*Modeline (.*)/1/') &&
                                    MODERES=$(echo $MODELINE | grep -o -P '(?<=").*(?=")') &&
                                    cat > ~/.xprofile << _EOF
                                    #!/bin/sh
                                    xrandr --newmode $MODELINE
                                    xrandr --addmode $DISP $MODERES
                                    _EOF


                                    The above command will generate the desired ~/.xprofile file. Just make sure you use the resolution (i.e. the RES variable) of your liking. More info here.






                                    share|improve this answer














                                    Thanks to thom and thirdender this is basically a single command configuration based on the most voted answer.



                                    RES="1920 1200 60" && 
                                    DISP=$(xrandr | grep -e " connected [^(]" | sed -e "s/([A-Z0-9]+) connected.*/1/") &&
                                    MODELINE=$(cvt $(echo $RES) | grep -e "Modeline [^(]" | sed -r 's/.*Modeline (.*)/1/') &&
                                    MODERES=$(echo $MODELINE | grep -o -P '(?<=").*(?=")') &&
                                    cat > ~/.xprofile << _EOF
                                    #!/bin/sh
                                    xrandr --newmode $MODELINE
                                    xrandr --addmode $DISP $MODERES
                                    _EOF


                                    The above command will generate the desired ~/.xprofile file. Just make sure you use the resolution (i.e. the RES variable) of your liking. More info here.







                                    share|improve this answer














                                    share|improve this answer



                                    share|improve this answer








                                    edited Nov 20 at 11:18

























                                    answered Oct 8 at 13:15









                                    Tanasis

                                    22115




                                    22115

















                                        protected by Community Jun 15 at 18:24



                                        Thank you for your interest in this question.
                                        Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



                                        Would you like to answer one of these unanswered questions instead?



                                        Popular posts from this blog

                                        Biblatex bibliography style without URLs when DOI exists (in Overleaf with Zotero bibliography)

                                        ComboBox Display Member on multiple fields

                                        Is it possible to collect Nectar points via Trainline?