Re: i855GM: New BIOS breaks i810-driver
Craig Ringer writes: On Tue, 2004-02-24 at 22:55, Alan Hourihane wrote: We could leave the option in, but enable it by default, so that this information is displayed, and allow people to turn it off if it hangs. Additionally, why not print a log line like Some versions of this video BIOS have a bug that will cause XFree86 to hang. If you encounter this, try setting the BLAH option in your config file. It should save a bunch of questions on [EMAIL PROTECTED] Yes, this sounds like a good idea. It should be printed right before the offending call so people will see it. The system does not hang hard therefore people should be able to retreive their log. On the other hand they may not know how to do it in this case. Sill, such a message may be worthwhile. I will add it together with the changes Alan suggested. Egbert. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: i855GM: New BIOS breaks i810-driver
On Tue, Feb 24, 2004 at 01:37:27PM +0100, Egbert Eich wrote: Christian, thank you for the investigation. It proves that we are not to blame. It remains to see what should be done about it. Disabling the offending function by default for all future doesn't seem to be a good idea as the information retreived thru this function may be helpful when people send in their logs with their bug reports. I'd therefore suggest to enable it and provide information on the web and in the man page how the hang can be avoided if somebody encounters it. Egbert, We could leave the option in, but enable it by default, so that this information is displayed, and allow people to turn it off if it hangs. That might be better. Alan. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: i855GM: New BIOS breaks i810-driver
Christian Zietz writes: Hi, as I already pointed out some of the users affected by the problem don't want to or aren't able to build XFree86 out of the CVS sources. So I wrote a small hack which wraps around int 0x10 and prevents the function in question (ax=0x5f64, bx=0x0300) from being called. I'm aware that that's a much dirtier solution to the problem than the patched driver but nonetheless I think it might be useful for people who want to use the precompiled XFree86 that came with their distribution. Download URL for 855wrap: http://www.chzsoft.com.ar/855wrap.tar.gz I think it would be worthwhile to investigate the origin or the problem and report it to Intel to fix it in the BIOS - in case they have broken something. It looks like an endless loop to me. Since the problem appears both to happen inside the emulator and vm86 mode it points to the BIOS however we cannot say for sure. One may want to try to set up registers and execute this command from 'debug' inside DOS to see if this ends up in an endless loop also. Egbert. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: i855GM: New BIOS breaks i810-driver
Hi, I just forgot to say, that BIOS build 3197 is newer than the one installed on the new Dell machines (build 3066). So if it was an error by Intel they already fixed it. CU Christian ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: i855GM: New BIOS breaks i810-driver
Hi, Alan Hourihane schrieb: Is there a string 'DELL' or similar in the BIOS that we can use the function xf86ReadBIOS() to detect this buggy BIOS and skip using this function call in this case ? No, there is no reference to Dell in the BIOS. I'm not even sure if they configure the BIOS. I just know that there is the possibility to do so and that the faulty table is in an area where some values can be configured by the OEM. So it doesn't need to be a bug introduced by Dell, it's just one possible explanation. But I suppose that all computers made by Dell affected by this bug use BIOS build 3066. So you could scan for 3066Intel(r), although I don't think this would be a good idea. Dell could release a BIOS update or other computers from other companies with a different build number could be affected, too. So, why not continue to use a configuration option? I don't see any problems caused by not calling this particular function. CU Christian PS: Some video BIOS developer must be a fan of Star Wars. A string I found in all BIOS versions I had a look at was Use the force Luke. ;-) -- Christian Zietz - CHZ-Soft - [EMAIL PROTECTED] WWW: http://chzsoft.com.ar/ - Fido: Christian [EMAIL PROTECTED]:2437/74.9 PGP-Key auf Anfrage oder ueber http://wwwkeys.de.pgp.net (Port 11371) ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: i855GM: New BIOS breaks i810-driver
On Mon, Feb 23, 2004 at 07:29:32PM +0100, Christian Zietz wrote: Hi, Alan Hourihane schrieb: Is there a string 'DELL' or similar in the BIOS that we can use the function xf86ReadBIOS() to detect this buggy BIOS and skip using this function call in this case ? No, there is no reference to Dell in the BIOS. I'm not even sure if they configure the BIOS. I just know that there is the possibility to do so and that the faulty table is in an area where some values can be configured by the OEM. So it doesn't need to be a bug introduced by Dell, it's just one possible explanation. No, but currently we've only had reports of people with a Dell BIOS complain of problems. But I suppose that all computers made by Dell affected by this bug use BIOS build 3066. So you could scan for 3066Intel(r), although I don't think this would be a good idea. Dell could release a BIOS update or other computers from other companies with a different build number could be affected, too. Right, so a combination of the build number and something else would nail it down furthur. So, why not continue to use a configuration option? I don't see any problems caused by not calling this particular function. I don't mind leaving the option in, but it's nice to be able to print out the detected monitor information for those BIOS' that actually work. Alan. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: i855GM: New BIOS breaks i810-driver - solved
Le vendredi 20 Février 2004 01:33, Alan Hourihane a écrit : Alain, Can you try the int10 emulator ? To do this, (re)move this file out of the way. /usr/X11R6/lib/modules/linux/libint10.a Then XFree86 will use /usr/X11R6/lib/modules/libint10.a Which is the emulator. Does it still lockup with that BIOS call ? I tried and got the exact same lockup. - Section Module Loaddbe SubSection extmod Option omit xfree86-dga EndSubSection Loadtype1 Loadfreetype Loadglx Loaddri Loadsynaptics EndSection Section Files RgbPath /usr/X11R6/lib/X11/rgb #FontPath /usr/X11R6/lib/X11/fonts/local FontPath/usr/X11R6/lib/X11/fonts/misc FontPath/usr/X11R6/lib/X11/fonts/75dpi:unscaled FontPath/usr/X11R6/lib/X11/fonts/100dpi:unscaled FontPath/usr/X11R6/lib/X11/fonts/Type1 #FontPath /usr/X11R6/lib/X11/fonts/CID #FontPath /usr/X11R6/lib/X11/fonts/Speedo FontPath/usr/X11R6/lib/X11/fonts #FontPath /usr/X11R6/lib/X11/fonts/truetype FontPath/usr/X11R6/lib/X11/fonts/TTF FontPath/usr/local/share/fonts/TTF EndSection Section InputDevice Identifier Keyboard Driver keyboard Option AutoRepeat500 30 Option XkbRules xfree86 Option XkbModel pc105 Option XkbLayout fr #Option XkbVariantfr-latin1 EndSection Section InputDevice Identifier Mouse Driver mouse Option Protocol ImPS/2 #Option Device/dev/input/mice Option Device/dev/misc/psaux Option Emulate3Buttons Option ZAxisMapping 4 5 EndSection Section Monitor Identifier LCD EndSection Section Device Identifier Device Driver i810 #VideoRam 32768 VideoRam8192 #Option hw cursor off #Option no_accel EndSection Section Screen Identifier Screen Device Device Monitor LCD DefaultDepth 24 SubSection Display Depth 24 Modes 1280x1024 EndSubsection EndSection Section ServerLayout Identifier Main Layout Screen Screen InputDevice Mouse CorePointer InputDevice Keyboard CoreKeyboard EndSection Section DRI Mode0666 EndSection - This is a pre-release version of XFree86, and is not supported in any way. Bugs may be reported to [EMAIL PROTECTED] and patches submitted to [EMAIL PROTECTED] Before reporting bugs in pre-release versions, please check the latest version in the XFree86 CVS repository (http://www.XFree86.Org/cvs). XFree86 Version 4.3.0.1 Release Date: 15 August 2003 X Protocol Version 11, Revision 0, Release 6.6 Build Operating System: Linux 2.6.3-love1 i686 [ELF] Build Date: 20 February 2004 Before reporting problems, check http://www.XFree86.Org/ to make sure that you have the latest version. Module Loader present Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: /var/log/XFree86.0.log, Time: Sat Feb 21 12:20:10 2004 (==) Using config file: /etc/X11/XF86Config (==) ServerLayout Main Layout (**) |--Screen Screen (0) (**) | |--Monitor LCD (**) | |--Device Device (**) |--Input Device Mouse (**) |--Input Device Keyboard (**) Option AutoRepeat 500 30 (**) Option XkbRules xfree86 (**) XKB: rules: xfree86 (**) Option XkbModel pc105 (**) XKB: model: pc105 (**) Option XkbLayout fr (**) XKB: layout: fr (==) Keyboard: CustomKeycode disabled (WW) `fonts.dir' not found (or not valid) in /usr/X11R6/lib/X11/fonts. Entry deleted from font path. (Run 'mkfontdir' on /usr/X11R6/lib/X11/fonts). (**) FontPath set to /usr/X11R6/lib/X11/fonts/misc,/usr/X11R6/lib/X11/fonts/75dpi:unscaled,/usr/X11R6/lib/X11/fonts/100dpi:unscaled,/usr/X11R6/lib/X11/fonts/Type1,/usr/X11R6/lib/X11/fonts/TTF,/usr/local/share/fonts/TTF (**) RgbPath set to /usr/X11R6/lib/X11/rgb (==) ModulePath set to /usr/X11R6/lib/modules Using vt 7 (--) using VT number 7 (WW) Open APM failed (/dev/apm_bios) (No such file or directory) (II) Module ABI versions: XFree86 ANSI C Emulation: 0.2 XFree86 Video Driver: 0.6 XFree86 XInput driver : 0.4 XFree86 Server Extension : 0.2 XFree86 Font Renderer : 0.4 (II) Loader running on linux (II) LoadModule: bitmap (II) Loading /usr/X11R6/lib/modules/fonts/libbitmap.a (II) Module bitmap: vendor=The XFree86 Project compiled for 4.3.0.1, module version = 1.0.0 Module class: XFree86 Font Renderer ABI class: XFree86 Font Renderer, version 0.4 (II) Loading font Bitmap (II) LoadModule: pcidata (II) Loading /usr/X11R6/lib/modules/libpcidata.a (II) Module pcidata: vendor=The XFree86 Project compiled for 4.3.0.1, module
Re: i855GM: New BIOS breaks i810-driver - solved
On Fri, Feb 20, 2004 at 12:33:41PM +0100, Alain Poirier wrote: Le vendredi 20 Février 2004 01:33, Alan Hourihane a écrit : Alain, Can you try the int10 emulator ? To do this, (re)move this file out of the way. /usr/X11R6/lib/modules/linux/libint10.a Then XFree86 will use /usr/X11R6/lib/modules/libint10.a Which is the emulator. Does it still lockup with that BIOS call ? I tried and got the exact same lockup. O.k. Thanks. I committed a patch which turns this BIOS call off by default and it can be turned back on again with the option DisplayInfo. Alan. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: i855GM: New BIOS breaks i810-driver - solved
Hi, Thank you Alain for sorting out this problem and Alan for commiting a patch. Would it be possible to offer binaries or a small, easy to build source package? I think many of the users affected by that problem can't build or don't want to build the whole XFree86 from source. CU Christian ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: i855GM: New BIOS breaks i810-driver
Christian Zietz writes: Hi, as developer of 855patch I get a lot of feedback from people using XFree86 on computers with i855GM graphics. It seems like new notebooks by Dell feature a new video BIOS from Intel (iirc Build 3066) which finally implements the int 0x10 0x5f11 function to set the amount of video RAM and thus making 855patch obsolete. But the i810-driver refuses to work on systems with that BIOS version. I had several independent reports of users who just get a completely green screen when starting XFree86. I had a look on a log file and found nothing unusual. The XFree86 VESA driver however works but just in low resolutions/color depths as there is no way to allocate more video RAM there. As I've been absent of this list: Is this already a known issue? I haven't heared anyting about this issue yet. The first question that comes to my mind is: What happens if a low resolution mode that works with VESA is set on the i8xx driver? Egbert. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: i855GM: New BIOS breaks i810-driver]
Christian Zietz writes: Hi, as developer of 855patch I get a lot of feedback from people using XFree86 on computers with i855GM graphics. It seems like new notebooks by Dell feature a new video BIOS from Intel (iirc Build 3066) which finally implements the int 0x10 0x5f11 function to set the amount of video RAM and thus making 855patch obsolete. But the i810-driver refuses to work on systems with that BIOS version. I had several independent reports of users who just get a completely green screen when starting XFree86. I had a look on a log file and found nothing unusual. The XFree86 VESA driver however works but just in low resolutions/color depths as there is no way to allocate more video RAM there. As I've been absent of this list: Is this already a known issue? I haven't heared anyting about this issue yet. The first question that comes to my mind is: What happens if a low resolution mode that works with VESA is set on the i8xx driver? Egbert. Hi, I have the Dell Latitude D505 in question. It runs latest BIOS (v2) as posted by Dell on their web site. The video chipset is Intel 82852/855GM. I installed XFree86 4.4 RC3 with RH 9 kernel 2.4.20-30.9 (although I believe that the same problem occurs with XF86 4.3, but I didn't investigate in detail before upgrading). The monitor is XGA, capable of 1024x768 at 60 Hz. The symptoms are following; * 892 kB of video memory are reported by BIOS * vesa driver takes that amount and can run 1024x768x8 * i810 driver negotiates with BIOS for extra memory (the actual amount seems to depend on video modes specified in XF86Config, anywhere from 8-32 MB) * i810 driver freezes with green screen and the last line of log is; (II) I810(0): 2 display pipes available. Soft reboot seems like the only way to regain the control of console (ALT-F1, etc. doesn't work, although keyboard seems responsive) By changing video modes I tried to convince i810 driver not to request extra video memory, but even for 640x400x8 (4 and 1 bit depth seem not to be supported by i810) it tries to allocate at least 8 MB. I'm attaching the logs (successful vesa and frozen i810) and config file (where I onlt toggle between driver in question). I hope this helps, -- ~ Predrag Miocinovic Section ServerLayout Identifier XFree86 Configured Screen 0 Screen0 0 0 InputDeviceMouse0 CorePointer InputDeviceKeyboard0 CoreKeyboard EndSection Section Files RgbPath /usr/X11R6/lib/X11/rgb ModulePath /usr/X11R6/lib/modules FontPath /usr/X11R6/lib/X11/fonts/misc/ FontPath /usr/X11R6/lib/X11/fonts/TTF/ FontPath /usr/X11R6/lib/X11/fonts/Speedo/ FontPath /usr/X11R6/lib/X11/fonts/Type1/ FontPath /usr/X11R6/lib/X11/fonts/CID/ FontPath /usr/X11R6/lib/X11/fonts/75dpi/ FontPath /usr/X11R6/lib/X11/fonts/100dpi/ EndSection Section Module Load extmod Load dbe Load dri Load glx Load record Load xtrap Load speedo Load type1 EndSection Section InputDevice Identifier Keyboard0 Driver keyboard EndSection Section InputDevice Identifier Mouse0 Driver mouse Option Protocol auto Option Device /dev/mouse Option Emulate3Buttons EndSection Section Monitor Identifier Monitor0 VendorName Dell ModelNameDell Laptop Display 1024x768 HorizSync31.5-48.5 VertRefresh 59-75 EndSection Section Device ### Available Driver options are:- ### Values: i: integer, f: float, bool: True/False, ### string: String, freq: f Hz/kHz/MHz ### [arg]: arg optional #Option NoAccel # [bool] #Option SWcursor # [bool] #Option ColorKey # i #Option CacheLines# i #Option Dac6Bit # [bool] #Option DRI # [bool] #Option NoDDC # [bool] #Option ShowCache # [bool] #Option XvMCSurfaces # i #Option PageFlip # [bool] Identifier Card0 #Driver i810 Driver vesa VendorName Intel Corp. BoardName 82852/855GM Integrated Graphics Device BusID PCI:0:2:0 EndSection Section Screen Identifier Screen0 Device Card0 MonitorMonitor0 DefaultDepth 8 Subsection Display Depth 8 #Modes 1280x1024 1024x768 800x600 640x480 Modes 1024x768 800x600 640x480 ViewPort0 0 EndSubsection #Subsection Display #
Re: i855GM: New BIOS breaks i810-driver - solved
Hi, Christian Zietz writes: Hi, as developer of 855patch I get a lot of feedback from people using XFree86 on computers with i855GM graphics. It seems like new notebooks by Dell feature a new video BIOS from Intel (iirc Build 3066) which finally implements the int 0x10 0x5f11 function to set the amount of video RAM and thus making 855patch obsolete. But the i810-driver refuses to work on systems with that BIOS version. I had several independent reports of users who just get a completely green screen when starting XFree86. I had a look on a log file and found nothing unusual. The XFree86 VESA driver however works but just in low resolutions/color depths as there is no way to allocate more video RAM there. As I've been absent of this list: Is this already a known issue? I haven't heared anyting about this issue yet. The first question that comes to my mind is: What happens if a low resolution mode that works with VESA is set on the i8xx driver? Egbert. I've got this problem with the new Dell 510m model : with the normal i810 driver, we've got only a total green screen. The problem comes from the call to INT 10h, 0x5f64 in the GetDisplayInfo() function. It never returns. As this function is only informative, I commented out its call in I830DetectDisplayDevice() (XFree86 4.3.0.1) : ... static Bool I830DetectDisplayDevice(ScrnInfoPtr pScrn) { I830Ptr pI830 = I830PTR(pScrn); int pipe, n; DisplayType i; #if 0 for (i = 0; i NumKnownDisplayTypes; i++) { if (GetDisplayInfo(pScrn, 1 i, pI830-displayAttached[i], pI830-displayPresent[i], pI830-displaySize[i].x2, pI830-displaySize[i].y2)) { xf86DrvMsg(pScrn-scrnIndex, X_INFO, Display Info: %s: attached: %s, present: %s, size: (%d,%d)\n, displayDevices[i], BOOLTOSTRING(pI830-displayAttached[i]), BOOLTOSTRING(pI830-displayPresent[i]), pI830-displaySize[i].x2, pI830-displaySize[i].y2); } } #endif pI830-configuredDevices = GetDisplayDevices(pScrn); if (pI830-configuredDevices == -1) { xf86DrvMsg(pScrn-scrnIndex, X_INFO, Failed to detect active display devices\n); return FALSE; } ... Now all is working fine (except the fact that the 1500x1040 resolution is still not reconized by the bios). I hope this help. Regards PS : not more need to use 855Patch with this bios. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: i855GM: New BIOS breaks i810-driver - solved
On Thu, Feb 19, 2004 at 11:17:03PM +0100, Alain POIRIER wrote: Hi, Christian Zietz writes: Hi, as developer of 855patch I get a lot of feedback from people using XFree86 on computers with i855GM graphics. It seems like new notebooks by Dell feature a new video BIOS from Intel (iirc Build 3066) which finally implements the int 0x10 0x5f11 function to set the amount of video RAM and thus making 855patch obsolete. But the i810-driver refuses to work on systems with that BIOS version. I had several independent reports of users who just get a completely green screen when starting XFree86. I had a look on a log file and found nothing unusual. The XFree86 VESA driver however works but just in low resolutions/color depths as there is no way to allocate more video RAM there. As I've been absent of this list: Is this already a known issue? I haven't heared anyting about this issue yet. The first question that comes to my mind is: What happens if a low resolution mode that works with VESA is set on the i8xx driver? Egbert. I've got this problem with the new Dell 510m model : with the normal i810 driver, we've got only a total green screen. The problem comes from the call to INT 10h, 0x5f64 in the GetDisplayInfo() function. It never returns. As this function is only informative, I commented out its call in I830DetectDisplayDevice() (XFree86 4.3.0.1) : ... static Bool I830DetectDisplayDevice(ScrnInfoPtr pScrn) { I830Ptr pI830 = I830PTR(pScrn); int pipe, n; DisplayType i; #if 0 for (i = 0; i NumKnownDisplayTypes; i++) { if (GetDisplayInfo(pScrn, 1 i, pI830-displayAttached[i], pI830-displayPresent[i], pI830-displaySize[i].x2, pI830-displaySize[i].y2)) { xf86DrvMsg(pScrn-scrnIndex, X_INFO, Display Info: %s: attached: %s, present: %s, size: (%d,%d)\n, displayDevices[i], BOOLTOSTRING(pI830-displayAttached[i]), BOOLTOSTRING(pI830-displayPresent[i]), pI830-displaySize[i].x2, pI830-displaySize[i].y2); } } #endif pI830-configuredDevices = GetDisplayDevices(pScrn); if (pI830-configuredDevices == -1) { xf86DrvMsg(pScrn-scrnIndex, X_INFO, Failed to detect active display devices\n); return FALSE; } Alain, That's good to know. This call to GetDisplayInfo isn't strictly needed, but it's useful information to find out about the attached displays. It's probably wise if we make this an option in the driver and turn it off by default. Alan. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: i855GM: New BIOS breaks i810-driver - solved
Alain, Can you try the int10 emulator ? To do this, (re)move this file out of the way. /usr/X11R6/lib/modules/linux/libint10.a Then XFree86 will use /usr/X11R6/lib/modules/libint10.a Which is the emulator. Does it still lockup with that BIOS call ? Alan. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel