xrandr --panning: problem with non-typical(?) use

Andriy Gapon avg at icyb.net.ua
Fri Nov 6 06:30:44 PST 2009


First, my hardware:
Intel G33 graphics
DELL TFT monitor with 1680x1050 native resolution connected to DVI
LG TFT monitor with 1280x1024 native resolution connected to VGA

Second, my software:
xorg-server 1.6.1
xf86-video-intel 2.7.1
RandR 1.3 seems to be supported (no complaints from xrandr)

Now, my goal:
I want to use the dual head configuration, I want to have both monitors at native
resolution and I _don't_ want to lose DRI.

As you know, older Intel hardware (G33 included) has a 2048x2048 limitation for
DRI.  Thus, I can not define FB size to anything larger than that.  So, arranging
monitors side by side is very obviously not an option, because 1680 + 1280 > 2048.
 Vertical arrangement seems to be problematic too: 1050 + 1024 = 2074 > 2048.
On the other hand, with vertical arrangement maximum size is exceeded only by 26
pixels.  So I decided to try to sacrifice those in order to achieve my goal.

Thus, what I am trying to do is to set FB size to 2048x2048, set native modes for
the monitors, position the smaller monitor below the larger one, and clip screen
of the smaller monitor by 26 pixels to size of 1280x998.

I came up with these commands:
$ xrandr --output TMDS-1 --primary ## only for my convenience
$ xrandr --output TMDS-1 --auto ## was actually a nop
$ xrandr --output VGA --mode 1152x864 --pos 0x1050 ## vertical arrangement
$ xrandr --fb 2048x2048 --output VGA --mode 1280x1024 --panning 1280x998
xrandr: specified screen 2048x2048 not large enough for output VGA (1280x1024+0+1050)
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  149 (RANDR)
  Minor opcode of failed request:  29 (RRSetPanning)
  Serial number of failed request:  26
  Current serial number in output stream:  26

First, the good news: the last command did exactly what I wanted - the monitors
have native resolution, there is a black unusable area at the bottom of the
VGA-connected monitor and monitors are positioned vertically.

Now some concerns:
1. Without intermediate --mode 1152x864 step the last command didn't work.
2. xrandr should be smart enough to see what the end configuration would be and
not complain that the screen is not large enough.
3. I am not sure what that failed request means - what exactly failed and what
(bad) consequences that could have.

Thank you very much in advance for any ideas and help!
-- 
Andriy Gapon



More information about the xorg mailing list