2560x1440@60 Hz mode stopped working over HDMI

I was successfully running my Dell U2711 display over HDMI (1.4) at 2560x1440 @ 60 Hz resolution with my laptop’s GT220M using the NVIDIA driver from the Ubuntu 12.04 release (295.33). The resolution stopped working when the driver was upgraded to a newer version. With any newer versions than 295.33 the display just goes blank as if it didn’t get signal.

After I identified the problem, I tried installing the latest version (319.17; approximately a month or two ago) directly from the NVIDIA website but the resolution didn’t work. Then I installed the version 295.33 from NVIDIA website and the resolution started working again.

However, as I upgraded Ubuntu to 13.04, I cannot use the version 295.33 anymore because the kernel module fails to compile. Therefore, I’m currently limited to the full HD resolution.

As my laptop only has HDMI and VGA outputs, I have to run the display via HDMI. I got the resolution working originally by writing a custom X.org configuration file where I included all options from the NVIDIA driver readme that seemed to be related to EDID or other resolution checks as the display only advertises full HD resolution over HDMI.

Was there a change in the driver after the version 295.33 that prevents driving displays over HDMI at the 2560x1440@60 Hz resolution? If so, could the change be reverted to enable using higher resolutions over HDMI? This could be enabled e.g. with a configuration option.

Or are there any configuration options that I have missed that are required by newer driver versions to get the resolution working? Please advice if I can modify my X.org configuration somehow to get the resolution to work again.

Output of nvidia-bug-report.sh attached from both the
working setup: http://ubuntuone.com/5EzfQackMHpHbaMlWBohHJ
problematic setup: http://ubuntuone.com/2NdMAcl6CBwruCSTypnrXb

I can still use the 2560x1440@60 resolution in Windows 7 on the same laptop over HDMI by using a custom resolution that I have created with the NVIDIA configuration utility. See the attached screenshots for driver version and custom resolution configuration.

This issue is similar to the one reported by kosh81 in the post https://devtalk.nvidia.com/default/topic/528241/linux/can-39-t-use-2560x1440-55hz-over-hdmi-under-linux-win7-works-/post/3733827/#3733827


It worked on 295.33? Thanks for the good info!

AFAIK nvidia drivers were borked for > 165 Mhz pixelclock over HDMI making HDMI 1.3/1.4 not possible due to the driver not supporting it.

Nvidia finally added support for HDMI 1.4 in their 319.23 drivers but but this was limited to Kepler based graphics cards which was fine for my home system but I just ordered another 4k monitor for my workstation and that one has gtx 460’s so I will have to give that driver version a try to see if I can keep from buying new video cards.

Good luck man. Honestly if the old drivers work I would just stick to them.

Well thanks for actually letting me know >165 Mhz pixelclock over HDMI ever worked for anyone with the older drivers. Your post causing me to re-visit this issue just saved me from spending $300+ on new video cards on my machine at work to drive my 39 inch 4k display that I ordered and hasn’t arrived yet.

Anyway I found something very odd with nvidia drivers… I am using even an older driver on my workstation:

270.41.06

At first I thought it suffered from the same issue as before. Starting X with my >165 Mhz modes just gave me a blank screen; however, with more testing I found that if I gave it a 165 Mhz modeline in the mix of the 297Mhz+ modelines that once the driver actually outputted the 165Mhz one it would correctly output all my other ones:

3840x2160@31/30/25/24 Hz
1920x1080@120Hz
1280x720@240Hz

So this means I can probably workaround this issue on my machine at work without having to 1) update drivers which I did not want to do or 2) buy new video cards.

If I give it all the high pixelclock modes and the low pixelclock mode at the end of the modes it literally wont work (using control + alt -/+) until I get to the 17Hz mode and then they all start working. A weird bug. Now I can’t believe the weeks I ran at crappy refresh rates on my 4k display while I waited for nvidia to implement a fix.

Btw I also tested upgrading to the 295.33 drivers and I had the exact same issue I had on the 270 ones. I have to first output a <= 165.00 Mhz modeline first before the >165 Mhz pixelclock modelines will work.

Op maybe what I was able to do will work for you. Try adding this additional modeline:

ModeLine “2560x1440_41” 165.00 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync

And then change your metamodes:

Option “metamodes” “DFP-1: 2560x1440_41 +0+0; DFP-1: 2560x1440_60 +0+0; DFP-1: 1024x768_60 +0+0”

Your monitor may not accept 41Hz (my catleap q270 will) but even if it doesn’t the driver will probably still output that mode and then try switching to the higher Hz mode with control + alt + -

The control alt +/- have to use the numpad ones or via ssh with DISPLAY environment variable set you could also try using xrandr instead if you don’t have access to the numpad keys.

[i]>> 2) if I gave it a 165 Mhz modeline in the mix of the 297Mhz+ modelines that once the driver actually outputted the 165Mhz one it would correctly output all my other ones:

3840x2160@31/30/25/24 Hz
1920x1080@120Hz
1280x720@240Hz

If I give it all the high pixelclock modes and the low pixelclock mode at the end of the modes it literally wont work (using control + alt -/+) until I get to the 17Hz mode and then they all start working. A weird bug.
I have to first output a <= 165.00 Mhz modeline first before the >165 Mhz pixelclock modelines will work.

Op maybe what I was able to do will work for you. Try adding this additional modeline:

ModeLine “2560x1440_41” 165.00 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync

And then change your metamodes:

Option “metamodes” “DFP-1: 2560x1440_41 +0+0; DFP-1: 2560x1440_60 +0+0; DFP-1: 1024x768_60 +0+0”

Your monitor may not accept 41Hz (my catleap q270 will) but even if it doesn’t the driver will probably still output that mode and then try switching to the higher Hz mode with control + alt + -

The control alt +/- have to use the numpad ones or via ssh with DISPLAY environment variable set you could also try using xrandr instead if you don’t have access to the numpad keys. [/i]

houkouonchi, Thanks for reporting this issue. Could you please provide nvidia bug report and reproduction steps (setp-by-step) so we can duplicate this issue in house for investigation ?

sandipt unfortunately a bug report from a machine that is actually hitting the issue would have to wait for a few days atleast as I can’t really downgrade the drivers at this time on this machine.

I was the one who contacted you guys to implement > 165 Mhz pixelclock over HDMI like two months ago.

Anyway thanks to the OP in this thread I found out that not only could older drivers do 4k at the full refresh rate of hdmi 1.4 bandwidth but it could even do it on hardware not supported by the new driver (gtx 470).

With the newer driver that added 4k support (319.23) I can no longer use this work-around however it did work on 270 and 290 series drivers.

Your guys 4k implementation seemed really weird to me because:

  1. It depends on EDID. (WTF?)
  2. Its only on Kepler hardware. Why? gtx 400 and 500 series should support it as well.

If you don’t believe me on 1) You can look at my bug report. The relevent Xorg.log is Xorg.2.log. Anyway using the xorg.conf in the bug report file making only one change by uncommenting this line:

Option “UseEDID” “False”

Will make no other modes except the 15Hz one (165 Mhz pixel clock) work on my gtx 670. I am using hard-set modelines already so completely disabling EDID should make no difference unless your guys implementation depends on it for some reason and I don’t see why it should. I actually couldn’t run the monitor at all at good refresh rate when I was plugged into one of the other HDMI ports and the computer could not read the EDDID info.

Anyway with 319.23 the workaround does not work period. I can see the 15 hz mode but using control alt +/- to switch betrween modes will result in ‘no signal’ on the display.

With older drivers I can use the exact same Xorg.conf (with edid disabled) and I will get ‘no supprot’ until I use control alt +/- to switch the the 3840x2160_15 mode. Once that mode is active doing control alt +/- again to switch through all the modes works.

http://box.houkouonchi.jp/hdmi_issue/nvidia-bug-report.log.gz

Ok here is the bug report log:

http://box.houkouonchi.jp/hdmi_issue/nvidia-bug-report-work.log.gz

This is on my triple monitor machine at work. As you can see from this picture the display is running at 30Hz.

I have a 17 Hz mode (3840x2160_15) modeline that I use when X starts to get a picture and then dynamicall switch to 30Hz using control alt - which switches to the 297 Mhz pixel clock mode and works. If I just have the 30Hz mode it does not work at all.

houkouonchi & sandipt - I also had the issue that > 165 MHz pixel clock modes wouldn’t work before outputting a < 165 MHz pixel clock mode. This was the very reason why I had the 1024x768 mode in my metamodes, and I used to do ctrl-alt-+ twice in the Ubuntu login screen in order to first get from the initial (non-working / no-signal) 2560x1440@60Hz mode to 1024x768 and then again back to 2560x1440@60Hz.

The bug reports linked in my original post show this problem too. The (same) configuration included in both reports produces the problem on my hardware, and at least the logs from the working setup should show that I’m switching the modes at start-up to get the 2560x1440@60Hz mode working.

This was just an inconvenience though so I didn’t mention it in my original post.

Hence, adding a < 165 MHz pixel clock mode doesn’t help me, and I’m stuck with just the full HD resolution because the version 295.33 doesn’t install (compilation failure) on Ubuntu 13.04 and I don’t want to downgrade to older versions of Ubuntu either.

P.S. I’m on vacation and hence following the topic only now and then.

P.P.S. Now I’m not going to upgrade the Windows drivers either just to make sure that I won’t loose 2560x1440@60Hz in Windows too. There it’s even more important as I’m doing my photo processing in Lightroom.

I posted this in another thread dealing with a similar issue – it’s a ‘patch’ to remove the 400MHz pixel clock limit on Linux: https://github.com/CFSworks/nvlinpatch

Perhaps it can help halo+ and sandipt

Is this still a problem? I tried connecting Dell U2715H over HDMI (to Nvidia GTX 620), and maximum I get is 2048x1152, while the monitor supports 2560x1140. I’m using a proper HDMI cable (capable of such resolutions). Is it a driver issue, or limitation is somewhere in the card or the monitor?