Aimlessly Going Forward

blog by Tomas Sedovic

3 monitor setup on Linux with Intel Core i7-6700K + HD Graphics 530

Summary: it works! \o/ (on Fedora 23 at least) but you need to install the OS updates and potentially enable multi-screen in your motherboard's BIOS. And have 3+ monitor ports, obviously.


After my over-a-decade-old PC started acting up, I decided to get a new one. When the old one was bought I was still using Windows so I'd put little thought into the Linux driver support. Since then, I've completely switched to Linux and so wanted to pick hardware that would run without problems.

The old hardware was mostly fine, actually, but the graphics card was having issues (the free drivers were buggy with OpenGL and I've never managed to get the nonfree ones working properly either). This has been further complicated with the fact that I'm using three monitors and I want to keep it that way.

I wanted to pick an Intel CPU with its HD Graphics integrated chip, because our laptops at work use them and they were always working perfectly. Plus it seems that Intel acts all right when it comes to free & open source drivers.

Unfortunately, the particular CPU+GPU in my laptop is getting a bit old and I wanted something beefier. In the end, I settled on Intel Core i7-6700K + HD Graphics 530. The CPU specs claim a 3-monitor support, a 60Hz 4K (I do want to switch to that once the displays get a bit cheaper, so this played a big role as well). That's brilliant, but is all that going to work under Linux?

There are a few Phonorix articles on HD Graphics 530 (e.g. this one) as well as some forum posts that made me reasonably sure that it should work at least with a single display (needing a little bit of work maybe), but I could not find anything on a multi-monitor setups. Hence this post :p

For completeness, the motherboard I ended up with is Asus Z170 PRO GAMING since it had 3 video outputs (including DisplayPort) and a support for the Intel GPU.

When booting up the Fedora 32 Workstation image however, only two monitors lit up and they stayed on the 1024x768 resolution no matter what I did.

So I installed the distro, booted it up and got the same result. Here's what it took to get to get all three monitors working on their native resolution:

  1. The BIOS had the graphics output set to a setting that cloned the output to all displays. I had to change it to a "multi-monitor" one. I did not expect this so it took me a while to figure out.
  2. Update the installed OS packages (i.e. sudo dnf update) -- this pulled in the newest intel drivers.

After that, everything started working properly.

The PC has been put to light use over the week and so far has been wonderful. No crashes, no graphics issues, both Dose Response and the Rust port of the Python roguelike tutorial (both based on libtcod) compile and work correctly. Even though it's not a gaming rig, I downloaded Invisible Inc. yesterday and it works perfectly, too.

Gnome 3 is a bit sluggish and the windows show a bit of tearing when moved around, but I'm not even sure that's not Gnome's fault to be honest.

So yeah, I'm quite happy with HD Graphics 530 and if you have a recent-enough kernel, you'll probably be too.

Tomas Sedovic on 14 March, 2016