2008-05-14 23:16:35 |
Bryce Harrington |
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/common/xf86AutoConfig.c to add the PCI ID for Geode LX would fix this. A patch is attached towards this effect. |
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/common/xf86AutoConfig.c to add the PCI ID for Geode LX would fix this. A patch is attached towards this effect.
---
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/common/xf86AutoConfig.c.
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.
|
|