On Intel 855 graphic board that we can't use 1280x768 or 140x1050 mode because
they are not listed in the bios ?
A lot of people (me too write to intel) but nothing change and the problem
occure since a long time now.
Is xorg team can do something about this bugs ?
Thank you very much

Not really.
I have talked to Intel about that and Intel has claimed that their BIOS
development kit allows vendors to add these modes, however the vendors would
have to do this and provide an BIOS update that contains these modes. Presently
there is nothing we can do as the driver solely relies on the BIOS to set these
modes.
Sorry that there is no way we can help you at this time.

There is a utility by Alain Poirier at:
http://perso.wanadoo.fr/apoirier/
that is able to replace one of the available (in the vbios) modes by a new one
(not available). A lot of people reported that the utility works, to replace the
1024x768 (when available in the vbios) mode by higher ones. Could the technique
used by Alain be included inside the Xorg i810 server?
Anyway, I am not so happy. For me, Xorg only finds to modes: 800x600 and
640x480. After replacing the 800x600 mode by the 1024x768 one, and restarting
Xorg, I lost the 800x600 and can not get 1024x768.
Thanks for suggestions.
BTW: WinXP and the "Summit XiG X server" both can work in 1024x768 in my machine.

i dislike the idea of adding bios patching code to the server itself, it's the
sort of thing that's very likely to completely hose someone's machine.
perhaps the XP and XiG drivers are programming the modes directly? does the 855
doc give enough information for us to do this too?

(In reply to comment #6)
> *** Bug 1284 has been marked as a duplicate of this bug. ***
I didn't post my bug here because the 1024x768 mode I am attempting to set IS
listed in the bios, so the Alain Poirier's fix is useless for me. I tried anyway
but nothing changed. I think it's not a duplicate, but I'm not an expert...

(In reply to comment #7)
> (In reply to comment #6)
> > *** Bug 1284 has been marked as a duplicate of this bug. ***
>
> I didn't post my bug here because the 1024x768 mode I am attempting to set IS
> listed in the bios, so the Alain Poirier's fix is useless for me. I tried anyway
> but nothing changed. I think it's not a duplicate, but I'm not an expert...
from bug #1284:
(**) I810(0): Built-in mode "800x600"
(**) I810(0): Built-in mode "640x480"
I'm pretty sure the built-in modes on i810 are the ones supplied by the VBIOS.
Is this not the case?

That 855resolution utility only seems to work with the Intel 855 chipset. It
lists the video modes ok on my 865G, but is not able to overwrite any of the
modes. So any chipsets besides 855 that use the i810 driver (there are quite a
few) are still out of luck.
I agree that it would be great if this could be incorporated into the X server
and perhaps expanded to work with other chipsets? It is not permanently
modifying anything... a reboot returns the VBIOS to normal. It could maybe be
an advanced option or something too so people have to specifically turn it on.
I don't see how it could completely "hose someone's machine" but then again I'm
not the expert!

Similar problem on the i915G, for instance in Fujitsu Siemens Scaleo W620
(i915G) - its BIOS (1.06) supports only up to 1024x768, but lacks entries for
1280x1024. Older i845 based Scaleos _had_ 1280x1024 in the BIOS...
I've contacted FSC, asking for a new video BIOS, but to no avail so far.
The i810 driver is special in that it cannot program modes by itself but defers
this to the BIOS, and this makes the whole newer Intel chips rather useless for
CRT monitors.
Perhaps the i810 driver should be demoted to "experimental" and Intel chips be
removed from the supported cards list until this issue can be resolved, to put
some pressure and put Intel's Linux commitment to the test.

(In reply to comment #11)
> Similar problem on the i915G, for instance in Fujitsu Siemens Scaleo W620
> (i915G) - its BIOS (1.06) supports only up to 1024x768, but lacks entries for
> 1280x1024. Older i845 based Scaleos _had_ 1280x1024 in the BIOS...
Make that "Scenic", not Scaleo.

I've looked at the 855resolution & 915resolution programs and integrated them
into my current homepage driver for testing.
The syntax to override a BIOS resolution is...
Option "ForceBIOS" "1024x768=1400x1050"
would re-program the old 1024x768 to become a new 1400x1050 one.
I've quickly tested this on i915GM and things seem o.k., so I'll let you loose
on it to test out.

(In reply to comment #23)
> This didn't work here, but 855resolution didn't work with my card neither.
> (This is a 865G card, if this helps).
Try 915resolution. Email me the output. You can find 915resolution at
http://www.geocities.com/stomljen

Things are going far better with the newer driver. Now the new resolution is
being set, but it seems there is something going wrong with modelines.
I've fed it a custom modeline for 1400x1050 that i was using with the same
monitor and an nvidia card and the monitor complaints that the signal goes out
of range.
Then I tried lowering the refresh rate (to 60Hz), but nothing changed.
Moreover, other resolutions (1280x1024) are being shown at 60Hz while previously
(same xorg.conf) they were shown at 85Hz. Then if I set a custom modeline for
them (obtained running xvidtune->show with a previous driver) the signal goes
out of range.
Hope this helps.

Created attachment 2890[details]
patch to let pkg-config support variables containing whitespace
In this log only 1400x1050 resolution has a custom modeline present in
xorg.conf.
Btw, DRI is disabled as I'm running simultaneously another X session.

O.k. I've uploaded another driver which should fix the 60Hz to 85Hz problem, but
it won't fix the 1400x1050 @ 80Hz.
Try commenting out that modeline for 1400x1050, as the server does have one
internally and see if it works.

Created attachment 2891[details]
the crash-triggering file
Still not working. After commenting out the modeline for 1400x1050 X refuses to
use that mode, and I get signal out of range both for 1280x1024 and 800x600,
but not for 640x480. (I even tried rebooting to be sure previous tests haven't
driven the card crazy).

I've uploaded another test driver with some more debug output.
Your system is using BIOS Type 1 (but something funny is going on which
hopefully the new debug driver will show what's happening).
Whereas my 865G is Type 2, so I'm not seeing the same problems.
Having said that, I've also found that if I try to use some modes to force they
actually don't work properly. Using 640x480 to override to 1400x1050 doesn't
work, and neither did 1024x768 on my system. I had to use 1280x1024 to override,
and even 1600x1200 didn't work either.
It seems the patching tools are lacking a little knowledge of the Video BIOS yet.

Created attachment 2892[details][review]
Proposed patch
This is getting funny. With this driver 1400x1050 works* (after uncommenting my
modeline). However if I change the resolution (with xrandr or ctrl+alt++) the
signal goes out of range.
* A "minor" issue. Hope I'm able to explain myself. The left start of the
screen is being shown near the end of the right side.

Alan: I've tried your driver binary provided on your website with the recent
(20050618) snapshot for common and i915, and it works fine; no need for
915resolution any more. The laptop is a Samsung X20 with an i915GM chip running
under Suse 9.3.
I've also tried to use the suspend-to-disk and suspend-to-ram, and found a
somewhat funny behaviour:
The bios-patched version running at 1400x1050 (patched from 1280x1024) does the
suspend-to-disk fine. However, when suspending-to-ram, the laptob comes back
from suspend, but presents a new login screen; the old session is apparently lost.
On the other hand: running 915resolution before launching the xserver with a
1400x1050 resolution and the standard snapshot version results in a working
suspend-to-ram; the system returns nicely from the suspend. When
suspending-to-disk, the system does return, and the Xserver does run, but the
screen remains black. In the Xorg.0.log I have found warnings like these:
- Setting the original video mode instead of restoring the saved state
- Bios call 0x5f05 not supported, setting refresh with VBE3 method
- Open APM failed (dev/apm_bios) (No such device)
Daoes that make any sense?
Christian

Christian, I guess you are using xdm (or equivalent) which re-spawns the Xserver
when it crashes ??
If so, disable it, then use startx to bring up X. Then do the suspend/resume
action with the modified driver and see if it comes back. If not, then the log
file might give us a clue on why it crashed, so post that here.

I am happy to hear that 915resolution is being included with the i810 driver.
Alan and I had a hard time to my Dell X1 (i915GMS) not only use the internal
display, but also my external monitor with a resolution of 1920 x 1200 (Dell
2405fpw). Thanks again for your help, Alan!
It's finally working, but I had to use the latest version of 855resolution,
after 915resolution did not get the mode right (certainly caused by BIOS
anomalities of the X1). 855resolution v0.4 also supports the i915 chip and it
seems to be more "X1 compatible".
I don't know the differences between the two, but I would be happy the i810
driver to come (and the whole x.org) would be "Dell X1 compatible".
So, how can I help? The easiest thing for me to do is to test new Ubuntu Colony
Releases (their Live-CDs), which always includes a fairly recent x.org. I could
also take a patched i810_drv.o and put it in my current Ubuntu Hoary (making a
backup of the other patched driver first). Would that help?

So, instead of using 855resolution or 915resolution.
The modified driver at http://www.fairlite.demon.co.uk/intel.html should work if
you use the ForceBIOS option, as detailed earlier in this bug report.
Have you tried that ? If so, does it work just like 855resolution ?

> It's finally working, but I had to use the latest version of 855resolution,
> after 915resolution did not get the mode right (certainly caused by BIOS
> anomalities of the X1). 855resolution v0.4 also supports the i915 chip and it
> seems to be more "X1 compatible".
Which version of 915resolution are you using?

(In reply to comment #45)
> I was using 915resolution 0.2,
> then 855resolution 0.4,
> and now I am using the i810 driver with ForceBIOS option
>
Try version 0.4.2 available on the site. I'd be interested to see if you
still have problems.

Everyone is talking about the chips like the 855 and 915. Unfortunately, I have
an 815 based laptop (older Sony). Under Windows, it can run an external monitor
at 1280x1024, but it does not work under Linux. My understanding is that this is
the same problem as being discusssed here: the video BIOS does not list the mode
so the driver won't run at that resolution.
I tried the latest 855resolution (v0.4), but it does not recognize the VBIOS. I
also tried forcing the 3 types of VBIOS, but it was confused each time.
Is there any hope of decoding the VBIOS and pulling the same trick with th 815
chipset? I would be happy to help and test.
Thanks for the effort.

(In reply to comment #21)
> I've looked at the 855resolution & 915resolution programs and integrated them
> into my current homepage driver for testing.
>
> The syntax to override a BIOS resolution is...
>
> Option "ForceBIOS" "1024x768=1400x1050"
>
> would re-program the old 1024x768 to become a new 1400x1050 one.
>
> I've quickly tested this on i915GM and things seem o.k., so I'll let you loose
> on it to test out.
the combination of:
Option "ForceBIOS" "1024x768=1280x768"
-and-
driver (as of 20050911) from http://www.fairlite.demon.co.uk/intel.html
this _finally_ got me into 1280x768 on my notebook, thanks so much. i hope this
can be resolved within xorg soon. for the the search engines/everyone else, my
status:
1280x768/24bpp works on my sony vaio vgn-t350p (freebsd 5.4-release, xorg-6.8.2)
and requires neither the i855vidctl nor 915resolution ports. and for the record,
i was never able to get anywhere at all with either of the above ports.

(In reply to comment #32)
> I've also found that if I try to use some modes to force they
> actually don't work properly. Using 640x480 to override to 1400x1050 doesn't
> work, and neither did 1024x768 on my system. I had to use 1280x1024 to override,
> and even 1600x1200 didn't work either.
>
> It seems the patching tools are lacking a little knowledge of the Video BIOS yet.
I can second that observation. I had the goal of getting my external monitor to
work with a resolution of 1920x1200 and 60 Hz as exact as possible. This worked
only be overriding one single mode - trying other modes always yielded a refresh
rate far off. Even the working mode yields 57 Hz instead of 60 Hz - luckily my
monitor seems to tolerate this deviation.
Alan, do you know when the "ForceBIOS" extension is going to make its way into
official X.org?

I have the exact same situation as the guy in bug #1284. That being, with
Intel 855GM with the same Contrell board, the Bios reports having everything
set but Xorg.0.log shows all of the Bios with 0x0 except for the built-in mode
of 640x480. (One small diff: he had a built-in mode of 800x600, I don't though)
So vbios:
640x480
800x600
1024x768
1280x1024
etc...
whereas the Xorg log shows:
640x480
0x0
0x0
0x0
If I rewrite any of these with 855resolution or the new 810 driver, nothing
changes in Xorg. If I ForceBIOS 640x480 to 1024x768 (or whatever) then Xorg
shows ALL of the Modes: at 0x0.
So anyway, even with the new i810 driver and the ForceBios/855resolution, I'm
still stuck in 640x480 hell. Is this a solvable problem or should I just kill
myself now?

I have pretty much the same problem. I've got 2 DFPs (Dell 1701FP) connected
(using DVI and VGA), setup in a dualhead configuration and I can only get the
one connected via the VGA port to work correctly at 1280x1024 @ 60Hz (the native
resolution and to get that working I had to write a modeline as the driver was
trying to use 75Hz).
I've tried Alan's latest driver with the ForceBIOS option and so far no luck.
I'm attaching my xorg.conf and my Xorg.0.log, let me know if you need anything else.
- Mathieu

(In reply to comment #53)
> You are trying to use the ForceBIOS option with the stock driver. That won't work.
>
> You have to use my test driver from http://www.fairlite.demon.co.uk/intel.html
My bad, the logs are from the stock driver. I also tried with yours, no go...

(In reply to comment #56)
> (In reply to comment #53)
> > You are trying to use the ForceBIOS option with the stock driver. That won't
work.
> >
> > You have to use my test driver from http://www.fairlite.demon.co.uk/intel.html
>
> My bad, the logs are from the stock driver. I also tried with yours, no go...
Then I need logs with my test driver to be able to help.

(In reply to comment #58)
> (In reply to comment #54)
> >
> > in what may be a problem?
> > and Xorg.0.log in attach free6
>
> Your LCD panel is only 1024x768, and it can't so 1280x1024.
But win32 driver support better resolution.
May VESA VBE report lower than real resolution?

(In reply to comment #61)
> If your panel really is 1280x1024, then complain to your manufacturer to fix
the
> BIOS.
>
i already flashed last BIOS from vendor.
laptop not too old, therefore i think it _must_ work in resolution more that
1024x768. i will try to write support acer.
Thank you for comments.

hi,
i have the same problem here with my
00:02.0 VGA compatible controller: Intel Corporation 82915G/GV/910GL Express Chi
pset Family Graphics Controller (rev 04)
and my new dell 2005fpw tft (connected via dvi). i am not able to use the 1680 x
1050 resolution.
put the new i810 driver want work here.
if have tried:
ForceBios 1280x1024 1400x1050 | outputs 1024x768
ForceBios 1280x1024 1680x1050 | outputs 1024x768
ForceBios 1280x1024 1400x1050 | outputs 1024x768
if i disable the ForceBios option i can use the tft with 1280x1024.
any ideas how i could use an bigger resolution?
should i use the analog connector?

I have been using 855resolution with my Lifebook P7010 to get resolution
1280x768 with Fedora Core 4, with a little patch (against 0.4) to make the VBIOS
finding more accurate as it occasionally found something too early and that
caused it to fail. (If you want to see what I changed and some dumps that I used
to find the problem, just ask.)
Now I found that improved driver mentioned above and it works! Now I finally get
suspend-to-mem working too. (Suspend-to-disk did work as I had 855resolution in
initrd, I use Suspend2.)
I just would like to complain that it causes the ttys to change resolution too.

Sony PCG-TR5MP with i855gm / SuSE 9.3 / 6.8.2:
"ForceBIOS" "640x480=1280x768" works for me, but when I try to switch back to a
text console (e.g. <CTRL><ALT><1>) system hangs completly without any error
being logged to messages or Xorg.0.log.
Same with "ForceBIOS" "1600x1200=1280x768".
With 1280patch from http://nomadic.null.li/intel/1280patch.c switching between
xorg and text consoles works.

(In reply to comment #66)
> Sony PCG-TR5MP with i855gm / SuSE 9.3 / 6.8.2:
[...]
> With 1280patch from http://nomadic.null.li/intel/1280patch.c switching between
> xorg and text consoles works.
After some thought I tested again without 1280patch and an older driver version
using the ForceBIOS option. It works with version 1.5.157 of i810_drv.o . With
version 1.5.191 the computer freezes completly with a destroyed graphics display.

Ok, now i´m joining to the bug-list.
Guess what, i´m having problems configuring my notebook with it´s intel 852GM
video chipset.
Seriously, it´s the first time to me to configure this chipset, and all i get is
800x600. In WinXP it can 1024x768 and i wnat this.
I was reading this bug forum and along the web. This is what i tryed.
I´m on linux Debian Testing, with the i810_drv.o patched by Alan Hourihane
posted here (Option ForceBios 640x480=1024x768), with and without the 855patch
for the memory problem, but it just don´t work
tellme, whats the next step, what should i try?

Is there any way to force i810 driver to program video mode directly? May be
add an option to driver to use direct programming instead of vesa bios calls...
intelfb (kernel driver) programs video mode directly and it works fine
(1920x1200 mode initialized and using correct refresh rate, so my Acer AL2416W
(LCD) display it fine)... I have 865G integrated video card...

Hello, can anybody help. I have integrated intel 855 graphic, wide screen ACER
LCD monitor(1920x1200) and Mandrake 10.1. I have upgrated to xorg 6.8.2,
installed all drivers from intel, used 915resolution to change BIOS modes, but
still can not achieve the desired resolution 1900x1200 - monitor says signal
is out of range. Messuring externaly and comparing to what Windows gets, the
signal seems to set resolution 1920x1250 on 45Hz(should be 60Hz). I play with
modeline, but without result till now.

Modeline is calculated OK(I'm sure). Connecting CRT monitor, I can view what
parameters were set by xvidtune, and everything seems to be OK. Messuring the
signal externaly I'm quite sure, it doesn't correspond with parameters set by
Modeline and whit what showes xvidtune. Can it be caused by some bug in driver?

The problem is that vbe uses values stored in bios for the desired mode and
when 4F02 funtion called, it uses this values to set up mode (even if
VbeCRTCInfoBlock was supplied)...
There are two ways to resolve this:
1. Program modes directly;
2. Patch bios for desired mode not only for resolution, but other values also.
I've managed to get desired resolution (with desired refresh rate and so on)
with second way. I've changed '915resolution' program a bit to properly set up
htotal and vtotal offsets in bios and now everyting is fine (I have 865G and
bios type 1)...
If anyone is interested - mail me.

Thanks to Sergey I've just updated the ForceBIOS option to cater for BIOS type 1
to do this as well.
It's updated on my homepage at
http://www.fairlite.demon.co.uk/intel.html
So, it's 1.5.193 for X.Org 6.8 and 1.6.4 for X.Org 6.9/7.0

ForceBIOS option works well on a Dell X1 (i915, 1280x768) for initial boot but
doesn't survive resume from suspend to disk via swsusp. The graphics VT shows
only a blinking text underline cursor in the upper-left. There were no
messages in the system log that looked helpful. Please let me know if there's
a way I can generate some useful feedback.
Does the driver get any kind of notification during resume so it would know to
munge the VBIOS again? I can get suspend to disk resumes working with
suspend2, which runs a script very early in the resume process where I can
stuff an invocation of 915resolution.