Reputation: 16217
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
if the HDMI isn't plugged in:
xrandr: cannot find mode 1600x900
if the HDMI is plugged in, but DVI-I-1 is outside the light gray background box
XRandR failed: XRandR returned error code 1: 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
or the error in the image below (most common)
This works once in awhile, and either the laptop magically configures when everything's plugged in, or
arandr
looks like below (note how DVI-I-1 is outside the light gray background). After screwing around with it alot:
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!
Upvotes: 2
Views: 3493
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