Bug 186905

Summary: problems displaying 1600x1200 on a dell 2001FP monitor with dell X1 laptop.
Product: [Fedora] Fedora Reporter: Wes Armour <wes.armour>
Component: xorg-x11-drv-i810Assignee: X/OpenGL Maintenance List <xgl-maint>
Status: CLOSED CANTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 5   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-05-19 04:43:05 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Wes Armour 2006-03-27 11:33:30 UTC
Description of problem:

I have a dell X1 notebook (1280x768) and a dell 2001FP (1600x1200) monitor.
If I boot the machine with the monitor connected I find I cannot get the
resolution higher than 1280x1024. If I set it to 1600x1200 I get some sort of
virtual screen/expansion. 
If I try to switch over after I have booted the machine I still get the same
problem.
If I 
1) connect the monitor,
2) switch to it using the function keys of the laptop
3) disconect it
4) press enter at the grub screen so the machine boots
5) reconnect the monitor *after x has started* 

All is ok I get 1600x1200.

*Once I log in I get back to the virtual screen expansion*

*If I log in blind then connect the monitor I get 1600x1200!!!*

Seems every time X starts it over rides the settings. It seems to want to drive
the monitor at 75Hz even though I've set 60.0-60.0 in my /etc/xorg.conf.

I also had to use the 855resolution to get the 1280x768 working and add a
modeline to my xorg.conf file.

Here is a copy:

# Xorg configuration created by system-config-display

Section "ServerLayout"
	Identifier     "single head configuration"
	Screen      0  "Screen0" 0 0
	InputDevice    "Keyboard0" "CoreKeyboard"
	InputDevice    "Synaptics" "CorePointer"
	InputDevice    "Mouse0" "AlwaysCore"
EndSection

Section "Files"

# Multiple FontPath entries are allowed (they are concatenated together)
# By default, a font server independent of the X server is
# used to render fonts.
	FontPath     "unix/:7100"
EndSection

Section "Module"
	Load  "dbe"
	Load  "extmod"
	Load  "fbdevhw"
	Load  "glx"
	Load  "record"
	Load  "freetype"
	Load  "type1"
	Load  "synaptics"
	Load  "dri"
EndSection

Section "InputDevice"

# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
#	Option	"Xleds"		"1 2 3"
# To disable the XKEYBOARD extension, uncomment XkbDisable.
#	Option	"XkbDisable"
# To customise the XKB settings to suit your keyboard, modify the
# lines below (which are the defaults).  For example, for a non-U.S.
# keyboard, you will probably want to use:
#	Option	"XkbModel"	"pc102"
# If you have a US Microsoft Natural keyboard, you can use:
#	Option	"XkbModel"	"microsoft"
#
# Then to change the language, change the Layout setting.
# For example, a german layout can be obtained with:
#	Option	"XkbLayout"	"de"
# or:
#	Option	"XkbLayout"	"de"
#	Option	"XkbVariant"	"nodeadkeys"
#
# If you'd like to switch the positions of your capslock and
# control keys, use:
#	Option	"XkbOptions"	"ctrl:swapcaps"
# Or if you just want both to be control, use:
#	Option	"XkbOptions"	"ctrl:nocaps"
#
	Identifier  "Keyboard0"
	Driver      "kbd"
	Option	    "XkbModel" "pc105"
	Option	    "XkbLayout" "gb"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "IMPS/2"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5"
	Option	    "Emulate3Buttons" "yes"
EndSection

Section "InputDevice"
	Identifier  "Synaptics"
	Driver      "synaptics"
	Option	    "Device" "/dev/input/mice"
	Option	    "Protocol" "auto-dev"
	Option	    "Emulate3Buttons" "yes"
EndSection

Section "Monitor"

 ### Comment all HorizSync and VertSync values to use DDC:
 ### Comment all HorizSync and VertSync values to use DDC:
 ### Comment all HorizSync and VertSync values to use DDC:
 ### Comment all HorizSync and VertSync values to use DDC:
 ### Comment all HorizSync and VertSync values to use DDC:
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "LCD Panel 1600x1200"
	DisplaySize  410	310
 ### Comment all HorizSync and VertSync values to use DDC:
	HorizSync    31.5 - 90.0
	VertRefresh  60.0 - 60.0
	ModeLine     "1280x768" 111.7 1280 1336 1616 1728 768 770 782 808
	Option	    "dpms"
EndSection

Section "Device"
	Identifier  "Videocard0"
	Driver      "i810"
	VendorName  "Videocard vendor"
	BoardName   "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Videocard0"
	Monitor    "Monitor0"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     16
		Modes    "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes    "1600x1200" "1400x1050" "1280x960" "1280x768" "1152x864" "1024x768"
"800x600" "640x480"
	EndSubSection
EndSection

Section "DRI"
	Group        0
	Mode         0666
EndSection



Version-Release number of selected component (if applicable):

latest


How reproducible:

Always

Steps to Reproduce:

As above
  
Actual results:

get a virtual desktop, i.e. can scroll around the screen, e.g. actual screen
displays 1024x768 pixels, virtual screen is made up of 1600x1200 pixels (ati
graphics cards do this)

Expected results:

plug monitor in and get 1600x1200

Additional info:

I have installed the 855resolution package.

Comment 1 Mike A. Harris 2006-05-19 04:43:05 UTC
The i810 video driver uses the video BIOS for all mode setting (VBE) as the
driver does not contain any code to set the video mode directly to the
hardware.  This is due to programming information being unavailble to
do this in the open source drivers properly.

As a result, the driver is limited to using the video modes that the
video BIOS provides.  There are a number of Dell laptops and personal
computers, as well as computers from other vendors, which use Intel
video hardware but unfortunately they do not all program their video
BIOS mode tables properly to include the mode for the native LCD panel
size in many laptops, or which is used by many DFPs nowadays.

The unfortunate result of this is that many users will be unable to
run their LCD or DFP at its native resolution, in particular with
widescreen displays.  This is a driver limitation caused by broken
video BIOSes.

Intel has begun working on next generation video support, which may
be available in the near future which can directly program video
modes with some of the more recent Intel video hardware, however that
support is currently an experimental work in development currently.

Users of Fedora Core 5 and earlier OS releases may or may not be
able to use the i8xxresolution or i9xxresolution utilities floating
around the net to hack around this problem.  These utilities rely on
the video BIOS being shadowed into RAM, and then overwrite the mode
tables in shadow RAM with new video modes.  The result of this is
that sometimes you can coax the BIOS into displaying the proper native
video mode of your LCD/DFP.

The downside is that it is not guaranteed to work, and since it is
only an ugly hack, there may be various problems that occur as a
result, which may include instabilities, or corruption or other
problems.

You already indicated that you have been using the i855resolution
utility, so there is nothing more that can be done about this at this
point in time, until the new Intel video driver is available, which
has native modesetting support - assuming that it supports your
particular chipset.

You may wish to follow the new driver's development by joining the
xorg.org mailing list, and reading the archives.
The new driver effort is lead by Eric Anholt.

Setting status to CANTFIX.