my monitor gives a black screen when I change the refresh rate

Hello everyone,
I am very new to Linux and last week I switched from Windows 11 to Zorin OS and am facing an issue setting a 180Hz refresh rate on my external monitor using HDMI. Here's a detailed description of my setup and the problem:

System Specs:

Laptop: ASUS TUF Dash F15 FX516PM (NVIDIA RTX 3060)

OS: Zorin OS 17.3

Desktop Environment: Tested both Wayland and X11

GPU Driver: NVIDIA 570.133.07 (latest version for now)

Connection: HDMI cable (180Hz working perfectly on Windows with the same hardware)

Issue Description:
When I select the 180Hz refresh rate, my external monitor immediately goes black and says no signal after 3 seconds. After a few seconds, it automatically reverts to 60Hz or lower refresh rates. The highest stable refresh rate I can achieve on Zorin OS is 119.88Hz. Any refresh rate above this value (120Hz, 144Hz, 165Hz, 180Hz) results in a black screen.

I've tested multiple solutions including:

Installing the latest NVIDIA 570.133.07 driver

Switching between Wayland and X11 sessions

Generating and manually adding Modelines with xrandr

Temporarily trying KDE Plasma (Wayland) with similar outcomes.

Additional Notes:

My HDMI cable and monitor both support 180Hz, confirmed by stable performance in Windows.

My laptop doesn't have a DisplayPort only HDMI.

I suspect this could be an issue related to how Zorin OS or the NVIDIA Linux driver handles HDMI signals at higher refresh rates.

Has anyone experienced a similar issue, or can anyone offer additional troubleshooting steps?

Thanks in advance for your help!

Welcome to the Forum!

First I would suggest that You stay on Xorg because of Your Nvidia Graphics.

  • Could You post the Output of xrandr in the Terminal?
  • Because of Your HDMI Cable: How long is it?
  • What other Nvidia Driver did You tried?
  • Is Your Monitor a Monitor only or is it a TV Screen?
Screen 0: minimum 16 x 16, current 1920 x 1080, maximum 32767 x 32767
XWAYLAND1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 530mm x 300mm
   1920x1080    119.77*+
   1440x1080    119.82  
   1400x1050    119.78  
   1280x1024    119.71  
   1280x960     119.86  
   1152x864     119.77  
   1024x768     119.59  
   800x600      119.49  
   640x480      119.52  
   320x240      117.34  
   1680x1050    119.80  
   1440x900     119.81  
   1280x800     119.68  
   720x480      119.65  
   640x400      119.64  
   320x200      117.55  
   1600x900     119.83  
   1368x768     119.67  
   1280x720     119.67  
   1024x576     119.56  
   864x486      119.69  
   720x400      119.54  
   640x350      119.24  

The cable is 1.5 meters long. The HDMI cable I’m using came directly in the box with the monitor.

I currently live in a university dormitory, and just now I tested the exact same setup using my friend’s Windows laptop. The monitor was instantly recognized and ran smoothly at 180Hz without any issues.

In Zorin OS, I tried all available proprietary NVIDIA drivers listed under “Software & Updates” one by one.

Before switching to a different driver, I made sure to completely clean up the previous one using purge, autoremove, and clean commands.

My monitor is an Aryond A24 V2 180Hz Gaming Monitor, sold under the Monster brand.

Is your monitor's 180Hz an overdrive setting on the monitor itself? If it is, this could explain why you can't see it right now, and need to manually set it in the monitor's OSD first and then it should hopefully work.

Windows can control some of these settings through the OS, such as Overdrive or Freesync, so the user may not realize what controls that. For example, my monitor is 144Hz freesync, but 144 is technically an overdrive I have to set on the panel, and so is freesync, so by default I can only set it to 120hz and if I manually turn on freesync (which I don't for my monitor because it causes a horrible flicker that I can't stand).

My issue is finally resolved! :tada:
But honestly, I’m not exactly sure how I fixed it.

As I mentioned earlier in the thread, I tried a lot of different things throughout the day. After restarting my computer (with little hope), I tried switching to 180Hz again — and surprisingly, it worked without any issues.

I wish I could give a clear, step-by-step solution, but I really can't pinpoint what exactly solved it. For anyone facing a similar problem though, here’s what I can confirm:

:white_check_mark: I'm now running NVIDIA driver version 550.120
:white_check_mark: 180Hz over HDMI is working flawlessly

Thanks again to everyone who helped — especially to those who offered suggestions and workarounds. I hope this helps someone else down the line!

2 Likes

:white_check_mark: [FIXED] Black screen on external monitor at 120Hz+ with NVIDIA 550+ Linux drivers (Zorin OS)

If you're using NVIDIA drivers version 550 or newer on Linux (e.g., Zorin OS, Ubuntu-based systems) and your external monitor shows a black screen or "no signal" when selecting 120Hz or higher, this guide will help you fix it.


:bullseye: Problem

  • Monitor works fine at 60Hz
  • But going to 120Hz, 144Hz or higher causes:
    • Black screen
    • No signal
    • Monitor remains powered but displays nothing

:brain: Cause

Starting with version 550, the NVIDIA Linux driver enables HDMI DeepColor (hdmi_deepcolor=1) by default via the nvidia-modeset kernel module.

This can cause issues with:

  • Some HDMI monitors
  • Certain HDMI cables
  • HDMI 2.0 connections that don't support high color depths and high refresh rates simultaneously

:white_check_mark: Solution: Disable HDMI DeepColor via kernel boot parameter

We'll add the following parameter to GRUB:

nvidia-modeset.hdmi_deepcolor=0

This disables DeepColor and allows 120Hz+ modes to work reliably.


:hammer_and_wrench: Step-by-step instructions

:package: 1. Backup your GRUB config

sudo cp /etc/default/grub /etc/default/grub.bak

:memo: 2. Edit the GRUB file

sudo nano /etc/default/grub

Look for this line:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Change it to:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-modeset.hdmi_deepcolor=0"

If you have other parameters there (e.g. acpi=off, nouveau.modeset=0), just add this one at the end with a space.


:floppy_disk: 3. Save and exit

  • Press CTRL + O, then Enter to save
  • Press CTRL + X to exit nano

:counterclockwise_arrows_button: 4. Update GRUB

sudo update-grub

:repeat_button: 5. Reboot

sudo reboot

:white_check_mark: Expected result

  • Your external monitor should now work correctly at 120Hz, 144Hz or higher.
  • No more black screen when switching to high refresh rates over HDMI.

Tested and confirmed working on Zorin OS with NVIDIA 555 and 570 drivers.


:counterclockwise_arrows_button: Optional: Revert the change

If you want to undo it later:

sudo cp /etc/default/grub.bak /etc/default/grub
sudo update-grub
sudo reboot

1 Like