PLEASE CC any answers to [EMAIL PROTECTED] as I'm not subscribed to the list.
first, my problem as summarized by David H. Dawes:
It appears that some 855GM-based laptops only pre-allocate 1MB of video
memory, and don't provide any BIOS configuration options for increasing
this. Although the XFree86 driver will allocate more (if the correct
agpgart kernel support is present), the mechanism used to inform the
video BIOS of the additional allocation doesn't seem to be implemented
on these laptops. This results in the video BIOS refusing to program
video modes that require more than 1MB (actually 832KB).
As far as I know there hasn't been any solution for this. So I spent my
day digging through Intel datasheets and disassembling the Video BIOS
and came up with a hack that works for me:
The Video BIOS stores the memory size it thinks it is allocated at a
certain location in RAM. This location is write-protected by default but
can me made writable by setting the appropiate chipset registers. That's
what I do and then I can set the memory size so XFree86 works with
higher resolutions and color depths.
Since I don't have the XFree86 sources to patch, I implemented this hack
in a separate program called 855patch. It takes the desired video memory
size in KB as argument. Note that it only tells the BIOS what memory
size to expect but does NOT actually allocate the memory. So you'll have
to set the VideoRAM option in the XF86Config Device section to at least
the size you used when calling 855patch (more is fine) or your system
will probably crash.
The hack works nicely on my Dell Inspiron 500m laptop (Intel Video BIOS
version 2945) and the mechanism I described is also implemented in
version 2973 I downloaded from Intel.com. So I suggest you try it, if
you have the problem described above. I'd be very glad if this snippet -
if it works on other systems - found it's way to XFree86 sources.
Disclaimer: Obviously I can't guarantee that it'll work for you. So
don't blame me if something bad happens.
Christian Zietz, now able to run XFree86 in 1024x768x16bpp
Devel mailing list