On Wednesday, July 16, 2003 10:55 am, Sal Valente wrote:
> I'm using an IBM NetVista with a video controller that Windows claims is
> "Intel 82845G/GL/GE/PE/GV Graphics Controller".
>
> I installed RedHat 9 with XFree86 4.3.0-2.  The RedHat installer claims
> the video is "Intel 845".
>
> When I run X, the only mode it will use is 640x480.  How can I fix
> this?  I'll attach my XF86Config and XFree86.0.log.

After examining the logs and groping* around the source code for i810 (the 
i810 driver also covers the i845), VBE, and other common stuff, it looks like 
only mode 41 (640x480, 16bpp) gets added to the mode pool.  Heh, duh, I 
should have known that just because it was the only line in the mode list 
with an asterisk and also the only mode not rejected, but I didn't catch on 
until I saw the code actually responsible for printing said asterisk.

My guess is the following test is what kicks all the other modes out of the 
running:

#define VBE_MODE_SUPPORTED(m)   (((m)->ModeAttributes & 0x01) != 0)

This appears to fail for all 16bpp modes except 640x480.  It works for several 
more 8bpp modes.  It fails for all 32bpp modes.

SAL VALENTE: try 8bpp mode and see if you can get any higher resolutions.  If 
I'm reading the log right, you should be able to go up to 1024x768 that way.

Here's a quote from i810's README:

   In order to use most resolutions, it is necessary to install the
   'agpgart.o' module which accompanies this server.  You will probably
   have to compile the module yourself (see the notes in the module).

I wonder if this has anything to do with the problem at hand.

Also, I'm a little concerned about how the i810 and descendents use system RAM 
as video RAM.  Maybe it's not grabbing enough memory?

(allowed) 640x480x16bpp = 614,400 bytes (600 KiB).
(allowed) 1280x768x8bpp = 786,432 bytes (768 KiB).
(not allowed) 800x600x16bpp = 960,000 bytes (937.5 KiB).
(not allowed) 1280x1024x8bpp = 1,310,720 bytes (1.25 MiB).

It could be that it's only prepared to take between 768 KiB and 937 KiB of 
system RAM, or at least that's what the BIOS mode list's ModeAttributes's 
MODE_SUPPORTED field suggests.

ACK!  Oh, crud, all that work and now I see it.

> (--) I810(0): Maximum space available for video modes: 832 kByte

Bletch.  If I had seen that line a couple hours ago I would have saved 
myself... a couple hours!  So how do we increase this limit?

*** Footnotes appearing in the node "Andy is an amateur" ***

* groping is vainly grepping through vast swathes of never-before-seen code.  
I really want to help, but maybe I should leave this to the pros.

-- 
Andy Goth  |  [EMAIL PROTECTED]  |  http://ioioio.net/
Engineers love to change things.

_______________________________________________
XFree86 mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xfree86

Reply via email to