Bug 6751

Summary: linux ROM reading is broken badly by X.
Product: xorg Reporter: Dave Airlie <airlied>
Component: Server/DDX/XorgAssignee: Adam Jackson <ajax>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: high CC: alexdeucher, eich, idr
Version: gitKeywords: patch
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 5041    
Attachments:
Description Flags
patch to fix Linux BIOS none

Description Dave Airlie 2006-04-26 19:43:58 UTC
X.org breaks on newer Linux kernels as it re-writes BARs behind the kernels back
when attempting to read the ROMs, this causes crashes and hangs on dual-card
systems.
Comment 1 Dave Airlie 2006-04-26 19:45:49 UTC
Created attachment 5483 [details] [review]
patch to fix Linux BIOS

Add a patch to call the Linux code, the other domain crap still used the code
that modifies the BARs, so add an OS hook and call to use sysfs. If you don't
get anything in sysfs it falls back to the old ways.
Comment 2 Dave Airlie 2006-04-26 21:43:06 UTC
ajax: you might want to consider this for stable, dual-card gets really broken
by later Linux kernels, you have to use this interface on them.
Comment 3 Egbert Eich 2006-04-26 21:45:27 UTC
Good solution! Thanks!
Comment 4 Adam Jackson 2006-04-29 01:04:02 UTC
looks good to me, i'll pop this in for RC2.
Comment 5 Adam Jackson 2006-04-29 08:29:09 UTC
applied, thanks!
Comment 6 Ashley 2006-06-10 16:58:39 UTC
Can confirm that this fixed the problem for me too.  Thank you very much!!

Using an Intel i810 (notoriously difficult to run in dualhead), I had to set the
i810 to be primary display in my BIOS (which is the opposite of what Windows
needs), otherwise X would hang.  However that is how things had worked all the
way up until the problematic new VBIOS code was introduced, so I'm totally happy
to run the i810 as primary display if it means I get dualhead again :-)

Is there an approximate date for when the next stable version of X.org will
include this path?

Also, would it be viable to backport this patch to earlier, stable versions of
X.org?  This has hit Ubuntu Dapper Drake, and probably other distros, and it
would be nice not to have to package and release an entirely new X.org version
if it can be avoided.  The patch looks fairly simple, so I hope so.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.