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.

See also:

Summary

See the Xorg, Ubuntu, Debian versions page for current status of merges on all the Xorg 7.3 pieces.

We wish to upgrade Ubuntu to Xorg 7.3 for the Gutsy release. 7.3 is scheduled for release in August, but since it is highly modularized now, we can begin upgrading most packages to their latest versions as soon as they become available. We should strive to do this, as it ensures we gain maximum time for testing.

One of the key features of Xorg 7.3 is better monitor autodetection. In integrating 7.3, we will attempt to leverage this capability for as many graphics cards as possible. For those cards that lack drivers with xrandr support, we will retain the current system.

Release Note

This release, Xorg 7.3, includes the following features:

Rationale

Xorg 7.3's new features promise to help us address some core complaints from users regarding monitor detection and other issues such as input hotplug. As well, keeping up with Debian and upstream releases is important for keeping up with fixes in general.

Use Cases

Assumptions

According to the Xorg developers, Xorg 7.3 is due out in August, but it is uncertain if this is a firm date. We assume that it will be released in time for Gutsy's feature freeze.

Current proposed release schedule is:

as stated in the following mail by Eric Anholt

Design

Merging the 7.3 components will be standard merge work. Much can simply be synced from Debian, however a number of components are currently merged from upstream Xorg, not from Debian. Debian is planning to do some package reorganization which may result in us being able to sync from them rather than carrying these separate components.

There are several changes that will affect drivers. Several drivers still lack xrandr support, so we cannot yet depend on this being available universally. For drivers that do advertise support, there still be some remaining issues that will need to be tracked. The -i810 and other intel drivers are unified into the -intel driver. The Xorg developers are confident that the -intel driver will provide all-around better results than the legacy drivers, however in the case that there are regressions, we should continue to ship the i810 driver; in any case we should encourage users to test and shift to the -intel driver whereever possible. The nouveau driver development has made good progress and may be worth including for experimentation purposes, but for Gutsy the -nv driver should be retained and the primary open source nvidia driver option.

For monitor auto-detection, a list of supportable drivers (and/or hardware) will be used to select when to use Xorg's new xrandr-based detection mechanisms. For hardware/driver combinations not on this list, the system will fall back to the existing xresprobe/ddcprobe infrastructure. Cases where the hardware configuration cannot be handled at all will be handled as per the bullet-proof-x specification.

Implementation

Package merging

  1. Create tool to track versions of Xorg components upstream, in Debian, and in Ubuntu
  2. Sync xserver 1.3 (and possibly xserver 1.4 if released in time) with debian
  3. Resolve all sync issues of xserver-xorg-* components in MoM/DaD
  4. Merge xrandr 1.2 from Xorg
  5. Merge additional xorg-provided packages in Ubuntu that are not provided by Debian
    • - Debian is working to split these out of their base package
  6. Merge mesa 6.5.3, and 7.0.0 after it has been released
  7. When Xorg announces the official Xorg 7.3 package, ensure we are shipping those versions.

Stabilization

Autoconfiguration support

  1. Assemble a whitelist of drivers, cards, and monitors that Xorg/xrandr is expected to be able to autodetect with no xorg.conf.
    • Also indicate if these are expected to support Compiz.
  2. Write script that checks if the current hardware config matches the known-good whitelist.
    • Use EDID and PCI IDs found by discover or a similar tool
    • Also check using xrandr --verbose
  3. If the system looks okay for Xorg autoconfiguration, during installation write an xorg.conf file that omits the monitor, graphic device, and screen sections. Other sections of the xorg.conf file will remain.
    • Include hook for allowing us to turn on Compiz by default (see CompositeByDefault)

    • (Current xorg in debian-unstable has removed the need for Modules and Fonts, rest is on the horizon.)
  4. Tools which need to override portions of xorg.conf (i.e. displayconfig-gtk) should be modified to cause a full xorg.conf to be written out before they add their overrides.
  5. In situations where information has been pre-seeded in debconf (such as when using Kickstart to do multiple-installs), the xorg.conf should be written out without using autodetection. (See https://help.ubuntu.com/7.04/installation-guide/i386/appendix-preseed.html)

Test Plan

For each driver (-vga, -vesa, -intel, -nv, -nvidia, -ati, -fglrx, others)

  1. Install on relevant hardware (both from whitelist and not on whitelist)
  2. Verify correct driver autodetection
  3. Verify server starts up
  4. Quick visual check: xpdf, OpenGL screensavers, etc.
  5. Run X test suite
  6. Run glean, OpenGL test and benchmark suite
  7. Test xrandr
  8. Run cairo test suite

Repeat some/all above tests with various modes together (composite, twinview, xinerama, xrandr, etc.)

Since xserver 1.4 will be released later in the Gutsy development cycle, we will need to be prepared to do testing of it swiftly.


CategorySpec

Xorg7.3Integration (last edited 2008-08-06 16:35:17 by localhost)