Display clamping with HP w19 and i915

Juho-Mikko Pellinen jpelline at lut.fi
Wed Nov 14 16:20:22 PST 2007


I have a laptop with i915 graphics adapter and I have been quite happy
with the recent progress with intel driver.

My system is Gentoo with xorg-server, xrandr 1.2.2 and
x11-drivers/xf86-video-i810 2.1.1 .
Everything is from package repository, mostly stable packages.

I recently began configuring my system to accommodate dual-monitor setup.
Local flat panel supports 1280x800 (LVDS) while external HP w19 supports
1440x900 (VGA) and I'm using virtual screen 1440x1704 so I can have DRI
with dual monitors.
I have few problems to which I'm yet to find a good solution.

1. I haven't yet succeeded starting up X while the external monitor is
connected. LVDS turns black and VGA displays sign "Input not supported".
My guess is that X is trying to use mode 1280x800 with external display,
but the display does not support it.
I have used "PreferredMode" in xorg.conf, but that has not helped.

I can go around the problem by unplugging external display while
starting up X, plugging the monitor in and running xrandr.

2. If I use probed mode for 1440x900 VGA displays desktop, but does not
resize correctly. I end up having black are on the right side of screen
about 15% of width.

Again I found a way to correct that problem.
By executing following lines I can add correct mode for w19 and have it
automatically resize and use whole panel. Still these changes do not
carry over restarts.
$ --output LVDS --auto
$ xrandr --output VGA --auto
$ xrandr --output VGA --below LVDS
$ xrandr --newmode "1440x900 at 61" 111.17 1440 1472 1888 1920 900 918 927 946
$ xrandr --addmode VGA "1440x900 at 61"
$ xrandr --output VGA --mode "1440x900 at 61"

I found the correct mode by doing some brute force testing.

I could make a script which would execute during restarts, but that is
not actually "good" solution. I tried to define mode lines in xorg.conf,
but 2.0-series ignore those.

I know that this particular monitor is quite picky with modes. I had
same problems also with windows.

Will the virtual-screen-limitation be removed in the future or do I have
to use "below/above"-trick to keep DRI working?

Below are my xorg.conf .
Xorg.0.log is far too big to be included here so I uploaded it to
http://jumi.lut.fi/~jpelline/Xorg.0.log .

	-Juho-Mikko Pellinen

--- xorg.conf ---

# $XdotOrg: xc/programs/Xserver/hw/xfree86/xorgconf.cpp,v 1.2 2004/04/23
19:20:02 eich Exp $

Section "Files"
    # For XFS, uncomment this and comment the others
    # FontPath	"unix/:-1"
    FontPath	"/usr/share/fonts/misc/"
    FontPath	"/usr/share/fonts/75dpi/:unscaled"
    FontPath	"/usr/share/fonts/100dpi/:unscaled"
    FontPath	"/usr/share/fonts/Type1/"
    FontPath    "/usr/share/fonts/TTF/"
    FontPath	"/usr/share/fonts/75dpi/"
    FontPath	"/usr/share/fonts/100dpi/"

Section "Module"
    Load	"dbe"
    Load 	"dri"
    Load 	"extmod"
    Load 	"type1"
    Load 	"freetype"
    Load 	"glx" # 3D layer
    Load 	"GLcore"
    Load 	"synaptics"
    SubSection	"extmod"
Section "DRI"
    Mode 0666

Section "ServerFlags"
#    Option	"blankTime"	"10"	# 10 minutes
#    Option	"StandbyTime"	"20"
#    Option	"SuspendTime"	"30"
    Option	"OffTime"	"10"
    Option	"Xinerama"	"false"

Section "InputDevice"

    Identifier	"Keyboard1"
    Driver	"kbd"
    Option	"AutoRepeat"	"500 5"
    Option	"XkbModel"	"pc105"
    Option	"XkbLayout"	"fi"

Section "InputDevice"
  Driver        "synaptics"
  Identifier    "Touchpad"
  Option        "Device"        "/dev/psaux"
  Option        "Protocol"      "auto-dev"
  Option        "LeftEdge"      "1900"
  Option        "RightEdge"     "5400"
  Option        "TopEdge"       "1400"
  Option        "BottomEdge"    "4500"
  Option        "FingerLow"     "25"
  Option        "FingerHigh"    "30"
  Option        "MaxTapTime"    "180"
  Option        "MaxTapMove"    "220"
  Option        "VertScrollDelta" "100"
  Option        "MinSpeed"      "0.02"
  Option        "MaxSpeed"      "0.18"
  Option        "AccelFactor" "0.0010"
  Option        "SHMConfig"     "on"

Section "InputDevice"
    Identifier	"USBMouse"
    Driver	"mouse"
    Option	"Device"	"/dev/input/mice"
    Option	"Protocol"	"Auto"
    Option 	"ZAxisMapping" "4 5"
    Option	 "SendCoreEvents" "true"

Section "Monitor"
    Identifier	"Local Flat Panel"
    Option	"dpms"
    Option	"PreferredMode"	"1024x768"

#Section "Monitor"
#   Identifier "HP w19"
#   Option "dpms"
#   Option	"RightOf"	"Local Flat Panel"
#   Option	"PreferredMode"	"1440x900"
#   Option 	"Ignore"	"true"

Section "Device"
    Identifier	"i915"
    Driver	"i810"
    BusID	"PCI:0:2:0"
    Option 	"DPMS"
#    Option	"Monitor-VGA"	"HP w19"
    Option	"Monitor-LVDS"	"Local Flat Panel"
#    Option	"MonitorLayout"	"CRT,LFP"
#    Option	"Clone"	"true"
#    Option	"LinearAlloc"	"8160"
    Option	"XAANoOffscreenPixmaps" "true" #AIGLX
    Option	"DRI"	"true"	#AIGLX

Section "Screen"
    Identifier	"Screen Local"
    Device	"i915"
    Monitor	"Local Flat Panel"
    DefaultDepth 24

    SubSection "Display"
        Depth		24
	Modes		"1280x800" "1024x768"
        Virtual 	1440 1704
#        ViewPort	0 0

#Section "Screen"
#    Identifier  "Screen Ext"
#    Device      "i915"
#    Monitor     "HP w19"
#    DefaultDepth 24
#    SubSection "Display"
#        Depth           24
#        Modes           "1440x900" "1024x768"
#        ViewPort	0 0
#	Virtual 	2720 1704
#    EndSubsection

Section "ServerLayout"
    Identifier	"Main Layout"
    InputDevice	"Touchpad"	"AlwaysCore"
    InputDevice	"USBMouse"	"CorePointer"
    InputDevice "Keyboard1" 	"CoreKeyboard"
    Screen 0	"Screen Local" 0 0
#    Screen 1	"Screen Ext" RightOf "Screen Local"
#  Option  "BlankTime"  "5"  # Blank the screen after 5 minutes (Fake)
#  Option  "StandbyTime"  "10"  # Turn off screen after 10 minutes (DPMS)
#  Option  "SuspendTime"  "20"  # Full suspend after 20 minutes
  Option  "OffTime"  "8"  # Turn off after half an hour
  Option  "AIGLX"	"true"

Section "Extensions"
    Option "Composite" "Enable"

--- xorg.conf ---

More information about the xorg mailing list