How can I permanently set the screen resolution?

First run these.

sudo ubuntu-drivers install


sudo apt install ubuntu-restricted-extras



I would also try another cable.. I assume you have a HDMI 2.1 cable to handle 4K-8K

I installed the ubuntu drivers and have rebooted. I still can't open the display in the terminal. I believe the cable is HDMI 2.0 but I will see if I can get a 2.1 cable but I'm not sure it would make a difference as the monitor is only 2.0. It's a Sony XBR55A8F for 2018.

Were you able to run ?

sudo ubuntu-drivers install

As for HDMI cable there are a few factors to consider, I will soon be making a tutorial on HDMI cables.

In short , From HDMI 1.0 cables to 2.1 are different quality of the wire used,

Yes HDMI 1.0 cable will run 4k but depending on Distance & quality you may only get 2K/4k @ 30Hz.

As you improve the cable, you improve the results..

This is overcome with a HDMI 2.1 cable even tho you have HDMI 2.0 Ports or lower.

Hope this enlightens the differences between the cables.

Conclusion: a HDMI 2.0 cable will work great under 10ft (3mtr) , over 10ft it will start to loss frequency/resolution.
There are inline boosters that can help.

Keep us informed.

You might try:
sudo apt install autorandr

Or set the resolution manually:

First, enumerate your displays:
xrandr -q

Mine looks like this (display names in bold):

Screen 0: minimum 320 x 200, current 1600 x 900, maximum 16384 x 16384
eDP connected primary 1600x900+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
1600x900 60.07*+ 40.05
1440x900 60.07
1280x800 60.07
1280x720 60.07
1024x768 60.07
800x600 60.07
640x480 60.07
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)

Set up a permanent setting:
sudo xrandr --addmode <Display Name> <Resolution and Frequency>

So for instance:
sudo xrandr --addmode eDP 1024x768_60.07

You might also try:
sudo xrandr --addmode eDP -s 1024x768 -r 60.07

Choose the display you want to change, then issue:
xrandr --output <Display Name> --mode <Resolution>

So, for instance, if I wanted to change my screen to 1024x768:
xrandr --output eDP --mode 1024x768

To learn more:
man xrandr

If you still can't get it to stick between reboots, you can use the code examples above and put the command in Zorin menu > System Tools > Startup Applications so the resolution switches to what you want on each boot.

You should also be able to go into Zorin menu > Settings > Displays and set the resolution of each monitor, and it should stick between reboots.

I assume you had the monitor plugged in, If not please plug-in the monitor & run xrandr again...

If you still have no output in " xrandr " this could be a faulty cable ,,,
You may need to check for firmware update on the monitor... ( goto the monitor's manufacturer webite )

Okay, changing the cable out made a difference even though both cables are only 6 feet long. When the monitor reboots the computer now selects 2840x2160 @ 30 Hz. I can manually set the resolution to 59.9 Hz and the monitor looks good if I use 2x scaling and mess with the font sizes. But as soon as I power cycle the monitor the computer changes back to 30 Hz which is a show stopper for me. I don't know if the second cable is a HDMI 2.1 compliant cable so I will see if I can buy one tomorrow.

I still can't get xrandr to work. I still get the same error. I even tried man xranr and received this reply.
pvr@pvr-MS-7C95:~$ man xtandr
No manual entry for xtandr

Yes, I did also install the unbuntu drivers.

Ops, typo alert, the screen resolution after rebooting the monitor is 3840x2160 @ 30 Hz.

So I got to wondering and tried to install xrandr onto the compter and this is what I saw.
Package xrandr is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source
However the following packages replace it:

E: Package 'xrandr' has no installation candidate

Is this because I'm using Zorin LIte?

Sorry for so many posts but I have figured out the xrandr issue. It's because I was using ssh. If I open a terminal on the computer then I get an output.

pvr@pvr-MS-7C95:~/Desktop$ xrandr
Screen 0: minimum 8 x 8, current 3840 x 2160, maximum 32767 x 32767
DVI-D-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 1220mm x 680mm
3840x2160 30.00 + 59.94* 50.00 29.97 25.00 23.98
4096x2160 59.94 50.00 24.00 23.98
1920x1080 60.00 59.94 50.00 29.97 23.98 60.00 50.04
1680x1050 59.95
1600x900 60.00
1280x1024 60.02
1280x720 60.00 59.94 50.00 29.97 23.98
1152x864 75.00
1024x768 60.00
800x600 60.32
720x576 50.00
720x480 59.94
640x480 59.94 59.93

Sorry. I'm not a Linux person.

Good work @RocketDestroyer ,
As per xrandr output, The " * " indicates the set default setting. that looks good.

As you see the setting has 2 choices 30 & 59.94Hz

To set this to 59.94Hz

so your command should be

sudo xrandr --addmode HDMI-0 3840x2160_59.94

Try this prior to buying a new cable, as your HDMI 2.0 at that length should be sufficient.

Run your checks & let us know .

When I try the xrandr addmode I get the following response...
xrandr: cannot find mode "3840x2160_59.94"
I have double checked that I type the command correctly.

Please try this way:

sudo xrandr --addmode HDMI-0 -s 3840x2160 -r 59.94

Run this with external monitor plugged in & set to 59.94Hz.

Here's a GUI front-end for xrandr:
sudo apt install arandr

1 Like

Okay, I have just the large monitor connected to the computer and the screen resolution is set to 3840x2160 @ 60Hz using the "Display" app in Zorin. When I run sudo xrandr --addmode HDMI-0 -s 3840x2160 -r 59.94 the computer responds with "unrecognized option '3840x2160'. Try 'xrandr --help' for more information.

1 Like

That resolution's already added, since it's the resolution you're using right now. Not sure if that's causing the error.

Try it without the -r flag... it should attempt to use a resolution that you've set up that's closest to the highest frequency capability of the monitor.

So for instance, say you wanted to set it to 1600x900:
sudo xrandr --output HDMI-0 --mode 1600x900
-- or --
sudo xrandr --output HDMI-0 --mode 1600x900 --rate 60
-- or --
sudo xrandr --output HDMI-0 --mode 1600x900 --refresh 60

I'm not sure if sudo is needed here, but if it's not, it shouldn't be a problem.

The --output flag has several sub-flags:

--output <output>
      --mode <mode>
      --pos <x>x<y>
      --rate <rate> or --refresh <rate>
      --reflect normal,x,y,xy
      --rotate normal,inverted,left,right
      --left-of <output>
      --right-of <output>
      --above <output>
      --below <output>
      --same-as <output>
      --set <property> <value>
      --scale <x>x<y>
      --scale-from <w>x<h>
      --transform <a>,<b>,<c>,<d>,<e>,<f>,<g>,<h>,<i>
      --crtc <crtc>
      --panning <w>x<h>[+<x>+<y>[/<track:w>x<h>+<x>+<y>[/<border:l>/<t>/<r>/<b>]]]
      --gamma <r>:<g>:<b>
      --brightness <value>

... so you can set brightness, gamma, positioning, rotation, screen mirroring, etc. as well as the resolution and refresh rate.

So, for instance, say you wanted to mirror HDMI-0 to be the same as your main screen, and let's say eDP is your main screen:
sudo xrandr --output HDMI-0 --mode 1600x900 --refresh 60 --same-as eDP

Or, let's say your HDMI-0 is physically located to the right of your eDP screen, and you wanted different outputs on each screen:
sudo xrandr --output HDMI-0 --mode 1600x900 --refresh 60 --right-of eDP

Now, when you move your mouse cursor off the right-hand edge of eDP, it'll move onto HDMI-0, and when you move it off the left-hand edge of HDMI-0, it'll move onto eDP.

Let's say you've physically rotated HDMI-0 to the left (counter-clockwise) so it's vertically taller and horizontally smaller (photograph mode, rather than landscape mode):
sudo xrandr --output HDMI-0 --mode 1600x900 --refresh 60 --rotate right

Now you'll see your screen properly oriented, but taller than it is wide.

Let's say you've got it all set up the way you want, but the HDMI-0 monitor's looking a little dark:
sudo xrandr --output HDMI-0 --brightness 1.1
1 is default.

1 Like

Thanks for the information Mr_Magoo. I can see that xrandr is very powerful. I successfully install arandr and it works fine. I can also use it to set the screen resolution but it also sets the refresh rate to 30 Hz when I choose 3840x2160 which is unfortunate.

1 Like

sudo xrandr --output HDMI-0 --refresh 60
If the monitor is correctly reporting its available resolutions and refresh rates, that should switch it to 60 Hz refresh rate, or the nearest rate to that.

If that doesn't work, get literal with it:
sudo xrandr --output HDMI-0 --refresh 59.94

1 Like

I just wanted to thank both of you for trying to help me. I have decided to go down a different path and I have installed LibreELEC. I have discovered that it allows me to choose the screen resolution that I want to use rather than all this auto setting stuff. The CPU just loafs along now and the picture looks fantastic.


Gday @RocketDestroyer
Glad to hear you fixed the issue.
Could you please 'Mark' your last post as "Solution".

This lets Others know they can find a solution here that may help them.

Solution pic

Thank you.
Zorin Forum Community.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.