4K/UHD resolutions on Linux with Intel HD graphics over HDMI

Ever since I got my UHD TV I wanted to get the native resolution to work with my Linux-based media center (Kodi). Unfortunately the graphics integrated into my Ivy Bridge CPU (Intel HD 4000) did not detect the native resolution, so I was stuck with Full HD resolution over HDMI. I first thought this was a limitation of my motherboard (ASUS P8H77-I), but I figured that this is due to limitations of the HDMI pixel clock.

The maximum pixel clock of the Intel HD4000 is 225Mhz, which normally is too much for 4K resolutions, even with low framerates. That's probably why 3840x2160 was not offered as a resolution by the driver. But it is still possible! By using reduced blanking you can get up to 25Hz with UHD resolution, which roughly equals a pixel clock of 220MHz. The following modelines should give you UHD resolutions with reduced blanking on an Intel HD4000 graphics:

# 3840x2160 @ 24.000 Hz Reduced Blank (CVT) field rate 24.000 Hz; hsync: 52.656 kHz; pclk: 210.62 MHz
Modeline "3840x2160" 210.62  3840 3888 3920 4000  2160 2183 2188 2194 +hsync -vsync
# # 3840x2160 @ 25.000 Hz Reduced Blank (CVT) field rate 25.000 Hz; hsync: 54.850 kHz; pclk: 219.40 MHz
Modeline "3840x2160" 219.40  3840 3888 3920 4000  2160 2183 2188 2194 +hsync -vsync
# # 3840x2160 @ 23.980 Hz Reduced Blank (CVT) field rate 23.980 Hz; hsync: 52.612 kHz; pclk: 210.45 MHz
Modeline "3840x2160" 210.45  3840 3888 3920 4000  2160 2183 2188 2194 +hsync -vsync

Just add these modes to the Monitor section in a /etc/X11/xorg.conf.d/ config file and you are set.

These modelines have been calculated with the excellent CVT v1.2 calculator, which should help you adding more desired modes.

Valid CSS! Valid XHTML 1.1