On Mon, 3 Nov 2003, Kipp Cannon wrote: >This is a request for help with an i830 video interface in a >Gateway laptop (Solo 1450). Everything had been working happily >in this system until I "upgraded" my BIOS. This laptop has some >power management difficiencies I hoped would be addressed in the >BIOS update. Anyway... the BIOS update has changed the laptop's >video BIOS somehow so that it now thinks there's only 1MB of >video ram installed when infact there's 8. That is a common problem with a lot of Dell laptops. >I have been back and forth with Gateway on this asking them to >provide me with the earlier BIOS so that I can revert the >laptop. They *insist* it's impossible for the BIOS to be >responsible for this (which is pure lunacy) and don't provide me >with an earlier version. They are always very careful with >their language: they never actually refuse my request for the >earlier BIOS, instead they tell me this can't be the problem and >that I must solve it some other way. The BIOS determines the default amount of system memory which is stolen for use by the integrated graphics hardware. The BIOS is supposed to allow the end user to change the default amount in the CMOS setup screen as per Intel documentation, however some manufacturers hard code this amount in the BIOS and do not allow the user to change it. Unfortunately their BIOS default is usually something rediculous like 1Mb. Please check your CMOS settings and ensure if there is an option to change the amount of stolen memory for video to something higher. If not, then you'll have to rely on the video driver to do it. >Why they are not allowing me to pursue this remedy is beyond me >but while I fight about it with them, I need to start >investigating other options. I'm sick of working with 8 bit >colour. It's not surprising that a vendor would only want to support their most recent BIOS image. It's up to the user to make a backup of their BIOS before flashing in order to allow them to go back if something doesn't work. In fact all documentation and software for flashing warns the user of this, at least in my experience. Why didn't you back up your existing BIOS first? >So. This system has an i830M chipset in it and in the past has >suffered from the "892 kB stolen memory" problem that prevents >either X or the BIOS (I don't understand which is responsible >for what with this driver) from switching to the 1024x768 24-bit >mode the LCD display is supposed to be capable of. Version >4.3.0 of XFree86 includes some sort of work-around that allows >these chipsets to switch to higher modes despite the apparent >lack of video ram. Until my BIOS "upgrade" this work-around >seemed to be working. The work around is to use the VideoRAM option in the config file, which should override the BIOS default. To my knowledge however, that only works for certain Intel video hardware though, and not all hardware supported by the driver. >Now I'm back to the pre-4.3.0 behaviour of the video BIOS or X >or whatever thinking it doesn't have enough video ram to switch >to a high resolution, high colour-depth mode. Does anybody have >an idea about this? Something to try? Also, if a graphics >hardware guru could go on record for me saying "this is a BIOS >problem caused by the manufacturer's broken update" that might >help in my dealings with Gateway 'cause right now I can't, >honestly, guarantee them their BIOS needs fixing: maybe it >*was* broken, is now fixed, and the work-around in X is what's >really broken... Well, ultimately if you can't change the videoram size via the BIOS CMOS setup screen, the manufacturer is violating Intel's specifications, at least to my knowledge from when this problem initially was discovered a year and a half or so ago. Intel had a statement to that effect on developer.intel.com somewhere although I can't find it now. >Section "Device" > Identifier "Videocard0" > Driver "i810" > VendorName "Gateway" > BoardName "Intel 830M" > VideoRam 8192 >EndSection >(II) Reloading /usr/X11R6/lib/modules/linux/libint10.a >(II) I810(0): initializing int10 >(WW) I810(0): Bad V_BIOS checksum >(II) I810(0): Primary V_BIOS segment is: 0xc000 >(II) I810(0): VESA BIOS detected >(II) I810(0): VESA VBE Version 3.0 >(II) I810(0): VESA VBE Total Mem: 832 kB >(II) I810(0): VESA VBE OEM: Almador Graphics Chip Accelerated VGA BIOS >(II) I810(0): VESA VBE OEM Software Rev: 1.0 >(II) I810(0): VESA VBE OEM Vendor: Intel Corporation >(II) I810(0): VESA VBE OEM Product: Almador Graphics Controller >(II) I810(0): VESA VBE OEM Product Rev: Hardware Version 0.0 >(II) I810(0): Integrated Graphics Chipset: Intel(R) 830M >(--) I810(0): Chipset: "i830" >(--) I810(0): Linear framebuffer at 0xE8000000 >(--) I810(0): IO registers at addr 0xE0080000 >(II) I810(0): detected 892 kB stolen memory. >(II) I810(0): I830CheckAvailableMemory: 206844 kB available >(**) I810(0): DRI is disabled because it runs only at depths 16 and 24. >(II) I810(0): Will attempt to tell the BIOS that there is 8128 kB VideoRAM ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(WW) I810(0): Extended BIOS function 0x5f11 not supported. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Looks like your BIOS update may have perhaps removed support for this? Do you have an XFree86 log from an old startup with the old BIOS image? >(II) I810(0): Before: SWF1 is 0x00000001 >(II) I810(0): After: SWF1 is 0x00000008 >(II) Loading sub module "int10" >(II) LoadModule: "int10" >(II) Reloading /usr/X11R6/lib/modules/linux/libint10.a >(II) I810(0): initializing int10 >(WW) I810(0): Bad V_BIOS checksum >(II) I810(0): Primary V_BIOS segment is: 0xc000 >(II) I810(0): VESA BIOS detected >(II) I810(0): VESA VBE Version 3.0 >(II) I810(0): VESA VBE Total Mem: 832 kB >(II) I810(0): VESA VBE OEM: Almador Graphics Chip Accelerated VGA BIOS >(II) I810(0): VESA VBE OEM Software Rev: 1.0 >(II) I810(0): VESA VBE OEM Vendor: Intel Corporation >(II) I810(0): VESA VBE OEM Product: Almador Graphics Controller >(II) I810(0): VESA VBE OEM Product Rev: Hardware Version 0.0 >(II) I810(0): BIOS now sees 832 kB VideoRAM >(--) I810(0): Pre-allocated VideoRAM: 892 kByte >(**) I810(0): VideoRAM: 8192 kByte >(==) I810(0): video overlay key set to 0x101fe >(--) I810(0): Maximum frambuffer space: 8040 kByte Although here it shows you do have 8192. Your X configuration is configured to 8bit depth however.. ick. >(--) I810(0): A non-CRT device is attached to pipe A. > No refresh rate overrides will be attempted. >(--) I810(0): Maximum space available for video modes: 832 kByte Indeed, looks like there is a huge problem here. >(II) I810(0): Allocated 64 kB for the scratch buffer at 0x7fce000 >(II) I810(0): Updated framebuffer allocation size from 1536 to 2048 kByte Hmm, this seems whacky to me, but I don't know a heck of a lot about this particular driver's operation. Perhaps someone who works actively on the driver or someone from Intel can comment. If all you've changed since it worked properly is the BIOS however, and the BIOS CMOS setup is configured properly, I can't see how this could be a driver bug. A flash of the BIOS would generally wipe out whatever configuration settings the CMOS was set to, requiring you to reconfigure it manually first, but if that isn't the problem, I'd consider this a newly introduced BIOS bug. -- Mike A. Harris _______________________________________________ XFree86 mailing list XFree86@xxxxxxxxxxx http://XFree86.Org/mailman/listinfo/xfree86