I had an issue with my external HD monitor which started flickering and the rows of pixels were unaligned with each other a bit so the picture was kind of blurry. I tried everything from changing some settings to a different kernel and nothing worked.

9 Answers 9


Finally a simple change of resolution from 1920 x 1080i to 1920 x 1080 (at Settings - Devices - Displays - [choose the problematic display] Resolution) worked.

Just putting it out there if someone ever stumbled upon this problem.


I've similar problems with my monitor&Ubuntu18(laptop). After some investigation, I fixed this problem and found the root cause in my environment.

My problem's root cause is in the HDMI signal quality, and the HDMI signal poor quality has two root causes:

  1. The HDMI cable;
  2. The HDMI cable doesn't plug into the socket closely;

My final solutions are as:

  1. Re-plugin the cable with your PC and monitor, and secure them carefully;
  2. Buy and use a new high-end HDMI cable(above 20$, seller should claim it support 4K or 8K);
  3. If you couldn't do the 2nd solution, and the problem still exists, lower your display configuration just like the solutions provided by others in this issue, e.g. lower the display resolution to 720P, or lower the display frequency. These lower resultion doesn't require high signal quality transferring capability in your cable, so they could work without problem.
  • 1
    Had to blow into the HDMI socket of my laptop since it had not been used in ages to get rid of dust etc
    – coder123
    Feb 4 at 12:08

I had this problem with a Samsung curve screen external monitor on Ubuntu 18.04.3 LTS

To solve it I tried with different resolution aspect ratio. Specifically it was 16:9 for external and I changed it to 16:10. After that, it worked fine, and no need to restart the machine in my case.


Make sure your monitor refresh rate and settings match.

Go to Settings > Devices > Displays

Check your monitor maximum Hz (do not include freesync or other support only base maximum Hz.)

Make it same for example if your monitor supports max 60Hz and 75Hz with freesync, then go to settings and make it 60Hz.


What worked for me was to change the frequency to 60Hrtz. Somehow it had changed to 30Hrtz after a restart.


Assign the same refresh rate to both monitors.

settings --> display --> select the 1st monitor --> Refresh Rate --> 60Hz

Again, select the 2nd monitor --> Refresh Rate --> 60Hz


I'm using a 4k external monitor and this is what worked for me: I tried lowering Refresh Rate for my external monitor from 60Hz to 50Hz.

My assumption is that the HDMI cable can't deliver 4k 60Hz. Using a displayport cable should solve the issue without lowering the refresh rate.


sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=4"

sudo update-grub


  • 2
    Some reference and more details would be nice.
    – David
    Feb 22 at 5:40

Try lowering your maximum resolution one level.

From Your Max Resolution: 1366 x 768 (16:9) 
To One Level Less: 1280 x 720 (16:9)


  • any insights why it doesnt work on the highest resolutions?
    – f4him
    Aug 1, 2021 at 15:44
  • @f4him Try another cable or another monitor failing that. But the most probable thing is that the video card is not giving the maximum performance that it should give on a second screen, so much can not be done. Aug 1, 2021 at 16:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.