Michael Cole
Michael Cole

Reputation: 16217

xrandr / arandr RRSetScreenSize and RRSetCrtcConfig errors

I'm trying to get X to use 3 external monitors from my laptop.

TLDR; It works 10% of the time. arandr shows a light gray box that contains the monitors (see image). When the monitors don't all fit, I get errors.

What is the light gray background box called in X's configuration (see image)? How can I set the size of the light-gray box?

This works 10% of the time:

Here's the script arandr built (added linebreaks for readibility).

#!/bin/sh
xrandr --output VIRTUAL1 --off 
--output eDP1 --primary --mode 1920x1080 --pos 0x1080 --rotate normal 
--output HDMI1 --mode 1600x900 --pos 1920x1080 --rotate normal 
--output VGA1 --off --output DVI-I-1 --mode 1920x1080 --pos 1920x0 --rotate normal 
--output DVI-I-2 --mode 1920x1080 --pos 0x0 --rotate normal

The issue seems to be the HDMI monitor and it's odd resolution 1600x900. When x tries to auto-configure it, it makes the width 1920+1600 instead of 1920+1920. See image below.

The script gives errors

This works once in awhile, and either the laptop magically configures when everything's plugged in, or

  1. the USB or HDMI monitors don't work or
  2. the screen buffers get corrupted and I have to ctrl-alt-backspace or
  3. random effect roll a d20 (mirroring, etc).

arandr looks like below (note how DVI-I-1 is outside the light gray background). After screwing around with it alot:

  1. It NEVER works when the light gray background doesn't fit the monitors.
  2. It ALWAYS works when the light gray background fits the montiors.
  3. It SOMETIMES works when I plug the HDMI monitor in last, but not reliably.

If I run this xrandr (no HDMI), I get an error:

☀  ./3up.sh 
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  21 (RRSetCrtcConfig)
  Value in failed request:  0x780
  Serial number of failed request:  53
  Current serial number in output stream:  53

michael@mc-desktop ~
☔  cat 3up.sh 
#!/bin/sh
xrandr --output VIRTUAL1 --off \
  --output eDP1 --primary --mode 1920x1080 --pos 0x1080 --rotate normal \
  --output VGA1 --off \
  --output DVI-I-1 --mode 1920x1080 --pos 1920x0 --rotate normal \
  --output DVI-I-2 --mode 1920x1080 --pos 0x0 --rotate normal \
  --output HDMI1 --off

I'm using Linux Mint 18 on a System76 Laptop.

Thanks!

enter image description here

Upvotes: 2

Views: 3493

Answers (1)

Michael Cole
Michael Cole

Reputation: 16217

I tracked this down to an issue with the intel chip resizing the display improperly.

I upgraded to ubuntu GNOME 16.04 (from Mint 14.04) and it worked. I think it upgraded the intel driver. Anyways, its not perfect, but more stable.

Upvotes: 2

Related Questions