summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>2008-11-04 16:38:12 -0200
committerPaulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>2008-11-04 16:38:12 -0200
commit87a3cc0652666c1796fd56f00810834193f3eca0 (patch)
tree2e7b71e4dc8e4a1b158380c6301d168fe9551931 /src
parent1d7b9547e1d37601f14410857c22f256e5c74f14 (diff)
Allow setting modes larger then panel for secondary output.
Sample usage on sm502: $ DISPLAY=:0 xrandr --output VGA --newmode 1280x1024 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync $ DISPLAY=:0 xrandr --addmode VGA 1280x1024 $ DISPLAY=:0 xrandr --output VGA --mode 1280x1024 --pos 768x176 Last command assuming using XAA (with ``Virtual 2048 1024''), so that it will have panel in top-left, and crt in bottom-right.
Diffstat (limited to 'src')
-rw-r--r--src/smi_output.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/smi_output.c b/src/smi_output.c
index 43fe343..b26530c 100644
--- a/src/smi_output.c
+++ b/src/smi_output.c
@@ -51,8 +51,11 @@ SMI_OutputModeValid(xf86OutputPtr output, DisplayModePtr mode)
ENTER();
- if (pSmi->lcd &&
- (mode->HDisplay > pSmi->lcdWidth || mode->VDisplay > pSmi->lcdHeight))
+ /* FIXME LVDS currently have fixed height. But allow external crtc to
+ * have a smaller or larger size, even if only one monitor section
+ * exists in xorg.conf. */
+ if (output->name && strcmp(output->name, "LVDS") == 0 &&
+ (mode->HDisplay > pSmi->lcdWidth || mode->VDisplay != pSmi->lcdHeight))
RETURN(MODE_PANEL);
if (!(((mode->HDisplay == 1280) && (mode->VDisplay == 1024)) ||