Bug 3262

Summary: xorg server "no mode of this name" for 800x600 or lower resolution
Product: xorg Reporter: Jörg Höhle <Joerg-Cyril.Hoehle>
Component: Driver/intelAssignee: Alan Hourihane <alanh>
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: high    
Version: 6.8.2   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.0.log showing "no mode of this name", using new i810_drv.o none

Description Jörg Höhle 2005-05-10 10:25:20 UTC
I'm using xorg from the Hoary April 2005 Ubuntu Debian distribution.
X Window System Version 6.8.2 (Ubuntu 6.8.2-10 20050405154308
 root@terranova.warthogs.hbd.com)

On my Fujitsu/Siemens lifebook C1110 laptop, xorg was unable to make
good use of the 800x600 and 640x480 resolutions and only used
1024x768. It just said "no mode of this name" in the log. This caused
strange panned windows upon programs (games) asking for 800x600, some
of them without black borders but remains from the desktop around
their small window amid in the center of the 1024x768 display.

Although these 3 modes are reported in /var/log/Xorg.0.log, a later
message reports "no mode of this name":

*Mode: 50 (640x480)
*Mode: 52 (800x600)
*Mode: 54 (1024x768)
[...]
(II) I810(0): Laptopbildschirm: Using hsync range of 43.89-48.51 kHz
(II) I810(0): Laptopbildschirm: Using vrefresh value of 60.00 Hz
(**) I810(0): *Built-in mode "1024x768"
(II) I810(0): Not using mode "800x600" (no mode of this name)

I tried out http://www.fairlite.demon.co.uk/intel.html
(II) LoadModule: "i810"
(II) Loading /usr/X11R6/lib/modules/drivers/i810_drv.o
(II) Module i810: vendor="X.Org Foundation"
	compiled for 6.8.99.3, module version = 1.5.85
that was no improvement and somewhat even weird, because it showed
(in the log) much more modes as available than the laptop's display
can handle:
*Mode: 52 (800x600)
*Mode: 52 (800x600)
*Mode: 54 (1024x768)
*Mode: 56 (1024x600)  --??
*Mode: 58 (1280x1024) --??
*Mode: 5a (1600x1200) --??
*Mode: 5c (1920x1440) --??
(II) I810(0): Laptopbildschirm: Using hsync range of 43.89-48.51 kHz
(II) I810(0): Laptopbildschirm: Using vrefresh value of 60.00 Hz
(II) I810(0): Not using mode "800x600" (no mode of this name)
(II) I810(0): Not using mode "640x480" (no mode of this name)
(--) I810(0): Virtual size is 1024x768 (pitch 1024)
(**) I810(0): *Built-in mode "1024x768"
So I reverted to the original driver from Ubuntu.

Note that Poirier's "855resolution -l" also shows these resolutions
>1024. I never installed 855resolution because I was sure my problem
was not about changing BIOS settings or making use of unlisted high
resolutions -- XFree86 worked (in Warty Ubuntu) and the resolutions I
wanted were listed and marked with a star.


I found a work-around: I edited /etc/X11/xorg.conf and added the
following two H/V frequency entries, copied from the Warty October
2004 Ubuntu distribution in /etc/X11/XF86Config-4, because xfree86
worked there.

Section "Monitor"
	Identifier	"Laptopbildschirm"
	# HorizSync und VertRefresh taken from Warty XF86Config
	HorizSync	28-49
	VertRefresh	43-72
	Option		"DPMS"
EndSection

and of course added all modes for every depth:
Section "Screen"
	Identifier	"Default Screen"
	Device		"Intel Corporation 82852/855GM Integrated Graphics Device"
	Monitor		"Laptopbildschirm"
	DefaultDepth	24
	SubSection "Display"
		Depth		1
		Modes		"1024x768" "800x600" "640x480"
	[...]

I have no idea whether these refresh values are fake or real for the laptop's
display, but they do the job. Xorg.0.log now says:
(II) I810(0): Laptopbildschirm: Using hsync range of 28.00-49.00 kHz
(II) I810(0): Laptopbildschirm: Using vrefresh range of 43.00-72.00 Hz
(--) I810(0): Virtual size is 1024x768 (pitch 1024)
(**) I810(0): *Built-in mode "1024x768"
(**) I810(0): *Built-in mode "800x600"
(**) I810(0): *Built-in mode "640x480"

Then the hardware nicely scales games asking for 800x600 to the full
laptop display size.

Why did xorg (or debian's dpkg-reconfigure xserver-xorg?) not
auto-detect the monitor refresh frequency? What did Xfree86 detect differently
so as to provide refresh entries in XF86Config-4?

If would be very appreciated could the error message point to some
helpful reasons or explanations for the "(no mode of this name)"
message.  Adding refresh frequencies is such a trivial fix, yet it
took me three days to figure out (filtering out several false paths,
like 855resolution, new driver etc. found via Google or the bugtracker).

FWIW, I also filed an Ubuntu bug item:
http://bugzilla.ubuntu.com/show_bug.cgi?id=10593

Maybe this part of the log is relevant as well?
(II) I810(0): VESA VBE DDC supported
(II) I810(0): VESA VBE DDC Level none
(II) I810(0): VESA VBE DDC transfer in appr. 0 sec.
(II) I810(0): VESA VBE DDC read failed
(--) I810(0): A non-CRT device is attached to pipe B.
	No refresh rate overrides will be attempted.

Regards
Comment 1 Alan Hourihane 2005-05-10 13:31:14 UTC
Without a full log I can't say what's going on.
Comment 2 Jörg Höhle 2005-05-11 00:35:10 UTC
Created attachment 2656 [details]
Xorg.0.log showing "no mode of this name", using new i810_drv.o

This log file was generated using the i810_drv.o from
http://www.fairlite.demon.co.uk/intel.html and shows
both "no mode of this name" for 800x600 and 640x480 and the additional
high-resolution modes not present in the Hoary version that I'm sure this
laptop's built-in display does not support. But maybe it's right that the
driver detects these modes if the card supports them since I could disable the
built-in display and connect a larger one?
Comment 3 Alan Hourihane 2005-05-11 01:15:19 UTC
Well, it looks like Ubuntu's fault for putting H/V sync values into the config
file. It need not have done and it would work without them. But as it added them
I'm not sure what tool is used to insert these values in that distro.

It's worth leaving the bug opened in Ubuntu, but it's not a driver problem.
Comment 4 Jörg Höhle 2005-05-11 04:18:22 UTC
I'm sorry I badly expressed myself. It's *me* who added the two horizsync +
vertrefresh lines as a work-around. The applications would not properly switch
resolutions *without* these two. These two lines were not present in the
original Hoary/Xorg distribution (I copied them from the older Warty/XFree86
distribution).
Thus I'm sorry to reopen the bug.
Comment 5 Alan Hourihane 2005-05-11 04:31:49 UTC
O.k. Now I understand what you are saying.

The driver automatically defaults to the size of the panel and rejects other
modes if EDID failed as there's no guarantee that the panel can do anything
other than it's reported size which in your case is 1024x768.

Adding H/V values is the only solution if you want to use other modes.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.