I have done some more experimenting with the video driver and the "agpgart" kernel module.
By now, I am fairly sure that the BIOS is the main problem. More precisely, the BIOS refuses to use the VESA mode 0x0117 (ie, 1024x768x64k). This is obvious as mode = I830VESAGetModeInfo (pScrn, 0x0117); returns with mode->ModeAttributes & 1 *not* being set (ie, it indicates that this mode is not supported by the hardware). This is, of course, nonsense as Intel's i830M driver for Win98 doesn't have any problems using this mode on the same hardware. So, the only explanation that is left is that the BIOS assumes that with 1MB of stolen memory, the given mode cannot be supported (which makes some sense as the framebuffer needs to be about 1.5MB, but doesn't take into account the dynamically allocated video memory). I tried to trick the BIOS by adding (yet another exception) to I830VESASetVBEMode() and switch to 0x0117 using the legacy int10 BIOS call 0x0045. However, this didn't seem to help; the X server died with a "lockup" message somewhat later during initialisation. As the insufficient amount of stolen memory seems to be what prevents the BIOS from allowing VESA mode 0x0117, I tried to switch the GMCH into a mode where it steals 8MB instead of only one. This worked after booting Linux with an explicit "mem=..." boot parameter to leave enough room to steal seven more MB at the time when the agpgart kernel module is initialised. The I830_GMCH_CTRL register originally contains the value 0x34 (indicating 1MB of stolen memory), which I changed to 0x44 in intel_i830_configure(). Unfortunately, this didn't have any effect on what the BIOS regards as valid video modes; ie, it still didn't allow VESA mode 0x0117. In other words, the BIOS doesn't seem to inspect the GMCH control register, but instead seems to store the parameters of the current video configuration somewhere else. (This didn't surprise me too much, but it was worth a try.) To me, the question seems to be how Intel's driver using their Dynamic Video Memory http://developer.intel.com/design/chipsets/applnots/298638.htm convinces the BIOS to allow VESA mode 0x0117. Via a special BIOS function? Cheers, Manuel _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert