RandR + i915 (HD 4600 / Haswell) -- Cannot switch from internal to 3x external

Nathan Schulte nmschulte at gmail.com
Tue Jun 16 08:40:17 PDT 2015

I am running Debian Sid on a laptop machine with an Intel Haswell CPU 
with Intel HD 4600 graphics.

> $ Xorg -version
> X.Org X Server 1.17.1
> Release Date: 2015-02-10
> X Protocol Version 11, Revision 0
> Build Operating System: Linux 3.16.0-4-amd64 x86_64 Debian
> Current Operating System: Linux desmas-l 4.0.0-1-amd64 #1 SMP Debian 4.0.2-1 (2015-05-11) x86_64
> Kernel command line: BOOT_IMAGE=/vmlinuz-4.0.0-1-amd64 root=UUID=f5ba8b5c-63aa-4a67-a07c-dd8d3297b2d3 ro quiet
> Build Date: 04 May 2015  11:22:06PM
> xorg-server 2:1.17.1-2 (http://www.debian.org/support)
> Current version of pixman: 0.32.6
> 	Before reporting problems, check http://wiki.x.org
> 	to make sure that you have the latest version.

When using RandR (xrandr, arandr), I am unable to re-configure my 
displays from the one integrated in the machine (eDP1), to three 
external displays (in this case, HDMI1 (DP -> DVI via DP++), HDMI2 (HDMI 
-> DVI), HDMI3 (miniDP -> DVI); the machine has three external 
connectors).  I haven't played with DP and multi-stream transport, but I 
expect it would behave similarly (that is, annoyingly).

> xrandr: cannot find crtc for output HDMI

My work-around is to issue two RandR requests, with the first one 
enabling an external display, and the second one disabling the internal 
display and enabling the rest.  This is rather annoying and conflicts 
with some of the scripts I use to automatically configure my displays 
based upon context and hot-plug (autorandr).

The internal display is 1920x1080, and the three external displays are 
identical monitors with 1920x1200 resolution.  I believe this is key, 
and has to do with the number of available PLLs (2) and encoders (3) in 
the Intel hardware.

I've attached an strace (xrandr.log) of the xrandr command:

> xrandr \
>     --output DP2 --off \
>     --output DP1 --off \
>     --output HDMI3 --mode 1920x1200 --pos 3120x0 --rotate left \
>     --output HDMI2 --mode 1920x1200 --pos 1920x0 --rotate left \
>     --output HDMI1 --primary --mode 1920x1200 --pos 0x410 --rotate normal \
>     --output eDP1 --off \
>     --output VGA1 --off

Any help resolving this issue is greatly appreciated.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: xrandr.log
Type: text/x-log
Size: 32342 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20150616/027c5465/attachment-0001.bin>

More information about the xorg mailing list