I used linux for two years. I bought a new 4K Dell monitor, connected it to HDMI, booted into Windows, and it worked fine, then I booted into Ubuntu Linux and it just show no picture (the same thing happened in Elementary OS).
Then I booted into Fedora Linux and it also show no picture unless i got into settings and set it to 30 Hz (yes, I had a 60 Hz mode in it, it just did not work) - the same thing happened in Manjaro.
I could not get any picture at all in Ubuntu.
Notes:
I have secure boot disabled in my os because I disabled it for Manjaro installation..
Xorg drivers never worked for me, I always forced safe mode until I would not install Nvidia proprietary drivers..
I use AMD Ryzen 4th Gen mobile(laptop) processor, if it matters (I do not know how good is support for Ryzens in Linux)
I tried these solutions:
- Create an xorg mode with edid disabled and forced 60 Hz refresh rate,
- set a 60 Hz refresh rate, then I tried 54 Hz, and 50 Hz, nothing worked.
Then I just gave up after two days of trying.
It is possible that some of your hardware doesn't support 4K @ 60Hz.
Here are two examples...
Something is HDMI 1.4b: The bandwidth for the HDMI 1.4b specification only supports 4K resolution (4096x2160) at a max of 30Hz:
HDMI 2.0 and up support higher resolutions and faster refresh rates, like 4K @ 60Hz
You are limited by the cable or port that is the "weakest link". Make sure that everything actually supports HDMI 2.0 or higher. This includes the HDMI port on your laptop, the HDMI port on your monitor, the cable you're using, etc.
You are using an adapter in a way that doesn't support 4K @ 60Hz:
You could fill a small museum with the assortment of video cables and connectors that are still being used today. The different types of video cables and connectors don't have have the same specifications and standards as each other. To oversimplify, they speak various languages, and sometimes things can get lost or delayed in translation.
One dramatic example of this would be if you have a HDMI > VGA cable. HDMI is a digital format and VGA is analog. The conversion to VGA does cause some loss in quality.
With digital formats, there is not a loss in quality like what happens with digital to analog conversions.
"It either works... or it doesn't..."
So if there is some bottleneck that reduces the bandwidth of the connection below the requirements of 4K@60Hz, you will not be able to successfully use this resolution and refresh rate.
I recreated all of the monitor modes and recreated the 60 Hz mode using xrandr:
What you do is you just grab everything from output after the word "Modeline"
Creates a new modeline for a monitor with pixel width of 3840 and height of 2160 and refresh rate of 60..
You create a preset "mode" with name of 3840x2160_60.00 or however you'd have renamed it(the name is the first word in "" )
Then grab the output name of your 4k monitor..
Now we have the last step to do and there are two ways to do it, so if one for some reason do not works you can use another one..
1st way: go to settings and select new 60 Hz mode on your monitor..
2nd way through the terminal:
It just seems that all of the original modes are wrong.. EDIT: Everything suddendly stopped working.. as always reports
The issue is as basic as I would not have ever suspected. All OS packages are very outdated.
or if you're on Arch or any other Linux distro that has
pamac
instead of apt:After installing
linux-firmware
I noticed that the frame rate was improved, and I opened settings and there is by default 60 Hz, and it just works! There was another package that actually also "impacted the experience" of using a monitor, but I overlooked the name of it.