RadeonXaaToExa

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

The open source -radeon / -ati driver still uses XAA by default in Intrepid. For Jaunty, evaluate changing to the new EXA.

Release Notes

The open source driver for ATI hardware, xserver-xorg-video-ati, now uses the EXA acceleration method by default. This change resolves a number of rendering and display issues when using XAA, and promises high performance on many ATI chipsets. The XAA acceleration method is still supported and can be switched to in the xorg.conf configuration file.

Use Cases

  • Bradford found that artifacts appeared on screen with the -ati driver in the past, and used to manually turn on EXA in order to make them go away. Now he finds this works by default and no longer needs to perform the extra configuration step.
  • Cynthia has used -ati for a long time on her hardware with no issue. Unfortunately, the switch to EXA by default has caused a slight problem to appear. She is able to turn it back to XAA by specifying it in her xorg.conf. She files a bug report about this problem, and is happy to see it is quickly resolved.

Assumptions

  • The quantity and severity of issues with using XAA now outweigh the quantity and severity of issues with EXA. This assumption seems to be strongly backed up from the findings of bug reporters in launchpad.
  • Upstream continues to focus on fixing EXA bugs, such that remaining issues will get addressed in adequate time.

Design

While as a new technology EXA may not be 100% stable yet, neither is XAA without problems. And lately we're noticing a pattern where -ati users with problems in XAA see them disappear when switching to EXA. However, much of this data is anecdotal. Even so, upstream is also encouraging switching to EXA by default, and may be doing this themselves soonish.

For Jaunty, we should change to EXA by default for -ati / -radeon for community testing. Extra efforts should be put into getting EXA issues forwarded upstream. Existing XAA bugs marked "Needs EXA" should not be closed prior to Alpha-3.

At Alpha-5 we will revert back to XAA unless the following criteria are met:

  • No critical bugs specific to EXA are open against xserver-xorg-video-ati
  • All High-importance EXA -ati issues are either forwarded upstream or have a patch in the works on our end
  • The number of regression bug reports with EXA is equal to or less than the number of bugs which got fixed by switching to EXA

Implementation

Pretty trivial really:

diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index d414854..233d62b 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -1983,7 +1983,7 @@ static Bool RADEONPreInitAccel(ScrnInfoPtr pScrn)
        info->accel_state->has_tcl = TRUE;
     }
 
-    info->useEXA = FALSE;
+    info->useEXA = TRUE;
 
     if (info->ChipFamily >= CHIP_FAMILY_R600) {
        xf86DrvMsg(pScrn->scrnIndex, X_DEFAULT,

This patch has been confirmed as correct by upstream, and will be applied post-Alpha-2.

Most of the effort will revolve around testing and bug management.

Outstanding Issues

None


CategorySpec

X/Blueprints/RadeonXaaToExa (last edited 2008-12-20 03:36:03 by pool-71-117-208-23)