Although it’s a rare problem, it’s also possible for your desktop to get stuck on the wrong resolution. This could happen because, for example, a bug in your GPU’s drivers doesn’t identify your monitor correctly. So if your desktop looks like a thumbnail in the center of your monitor, or you have to scroll around to see everything, you could try to set the resolution manually. Let’s see how you can change the resolution in Ubuntu.
The Display Settings
The resolution settings are found in the Display Settings. To access the Display Settings, right-click on the desktop and select “Display Settings.”
From there, click on the “Resolution” option and select your monitor’s native resolution.
Use XRandR
You can also set your resolution through the xrandr
command, which is included in most modern Linux distributions. Try typing xrandr
into your favorite terminal, press enter, and a bunch of information about your monitor and its resolutions will appear. The active resolution will have an asterisk next to it.
Note your monitor’s alias in the information appearing directly after the command but before the resolutions list. In our case, since we used VMware to capture the screenshots in our article, this was “Virtual1.”
To choose a different resolution, you can tell xrandr which monitor to target and what resolution to apply with:
xrandr --output MONITOR_ALIAS --mode SUPPORTED_RESOLUTION
You can choose any of the supported resolutions, even if it isn’t native to your monitor. Our command looked like:
xrandr --output Virtual1 --mode 1440x900
If the correct resolution wasn’t detected or you want to use a custom one for any reason, xrandr can help with that, too. You shouldn’t deviate from VESA standards, though, and cvt
is here to lend a helping hand.
Also available by default in most distributions, cvt can calculate VESA Coordinated Video Timing modes. Its use is simple: type cvt
followed by the desired horizontal and then vertical resolution. To calculate the parameters for a non-standard 1500×900 resolution, we entered:
cvt 1500 900
Select and copy to the clipboard everything from “Modeline” up to the end.
Then, use it to create a new resolution from scratch with xrandr:
xrandr --newmode CLIPBOARD_CONTENTS
Note that the “1504x900_60.00” in our case referred to the desired resolution and refresh rate of our (virtual) monitor but was a name that cvt generated automatically. You are free to change it to anything you wish for the sake of convenience. We used:
xrandr --newmode "MyMode" 111.00 1504 1592 1744 1984 900 903 913 934 -hsync +vsync
That’s not all since you also have to add the new mode as an option to the specific monitor. You can do that with:
xrandr --addmode MONITOR_ALIAS "NAME_OF_XRANDR-CREATED_MODE"
So, following on everything we saw up until now, our command looks like:
xrandr --addmode Virtual1 "MyMode"
After that, our new revolution is now selectable from the Display Settings.
If your desktop insists on remaining stuck on the wrong resolution, maybe it’s time you upgraded your GPU’s drivers.
Lastly, if your issue lies with the the text on the screen becoming very tiny on a high-resolution monitor, then you probably need to do a fractional scaling instead of changing the resolution.
Our latest tutorials delivered straight to your inbox