X fails to use GEODE and reverts to VESA on a host without any xorg.conf
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xorg-server (Ubuntu) |
Fix Released
|
High
|
Bryce Harrington | ||
Hardy |
Fix Committed
|
High
|
Unassigned | ||
Intrepid |
Fix Released
|
High
|
Bryce Harrington |
Bug Description
In its current form, X fails to match Geode LX hardware with the corresponding "geode" X driver, instead reverting to the "vesa" driver, on hosts launching without any xorg.conf, or whose xorg.conf omits the Driver statement in the Device section.
This has been verified on various Geode LX -based hardware featuring BIOS from a variety of vendors.
Suspicion is that patching hw/xfree86/
---
1. Impact: The bug is a failure to match the graphics hardware that is built into Geode chipset with the corresponding X driver.
a) On desktop hosts, the result is that running X without any xorg.conf or with an xorg.conf that omits the driver name will have X revert to the VESA driver. This produces sub-optimal performance and an unability to use chipset-specific features that are present in the "geode" driver.
b) On LTSP hosts, which uses a different method for configuring X, this fails for a completely different reason, because X core follows a different method for producing an xorg.conf using "Xorg -configure" than for configuration-less chipset matching.
2. How it's addressed:
a) The desktop case is fixed with the enclosed patch, by adding the PCI ID for the Geode LX to hw/xfree86/
b) Fixing the LTSP case will require further investigation.
3. The patch for the desktop case is attached to this bug.
4. To reproduce this issue, launch X (e.g. using "startx") from console, on a Geode LX -based desktop host without any xorg.conf present. Then, examining the X log, we notice that the VESA driver was used by X. After the patch has been applied, repeating the test produces an X log that correctly shows that X used the "geode" X driver.
5. The patch cannot introduce any regression. Rather, it introduces positive PCI ID matching in a situation where it was not existent.
description: | updated |
Changed in xorg-server: | |
status: | Fix Committed → In Progress |
Actually, this bug is not necessarily a duplicate of #219630: while we suspect that adding the PCI ID might help for some things, we already noticed with test packages in my PPA that this doesn't solve everything.