General plans for Quetzal

Registered by Chris Halse Rogers

The biannual catch-all X discussion session. If you are involved in a project that directly depends on the X stack, or needs a particular feature from the stack, come along.

Blueprint information

Sebastien Bacher
Chris Halse Rogers
Chris Halse Rogers
Series goal:
Accepted for quantal
Beta Available
Milestone target:
milestone icon ubuntu-12.10-beta-1
Started by
Sebastien Bacher

Related branches



==== General planning blueprint for Ubuntu X team ====

This was mostly a planning session; the plans generated are:

Use X-server 1.13 if it hits in september and doesn't contain too many unstable changes

 Mesa: 8.1 release planned Aug 17th, 8.1.1 Sep 21th, 8.1.2 Oct 19th. On current trajectory will pull in mesa 8.1 from git after it's been branched, and update to point-releases as possible before Quantal release.

 libdrm: latest after the nouveau abi bump
 xf86-video-{ati,intel,nouveau}: pick the latest at a suitible period before release

Will stay with current 1.11/1.12 frankenserver in Quantal for longer than normal, to get additional testing, then 1.12, then (if suitable) 1.13.

== Other notes ==

The release testing really seems to be starting in earnest from -alpha2. We are expecting the x-server to release around September.

- Typically we would update to latest in 12.10 now
- Chris suggests keeping the current stack for longer (easier to test and verify)
- Not going to get the full combination we want until September/October, perhaps updating xorg later on (after testing) is perhaps a better plan
- From what statistics show, Alpha 2 is the best point to do calls for testing.

- Reserving LTS for stable versions and 18-month release for latest version

==== Specific goals ====

== Apport-integration reliability improvements ==
The X server needs to perform some clean up, even when it crashes. This interferes with apport/whoopsie's crash handling mechanism, resulting in poor bug reports. Our existing patch to fix this does not work reliably for the open-source graphics drivers.

Improve the apport integration patch to work reliably with the open-source input and video drivers.

=Test Plan=
A deliberately broken version of the xserver-xorg-video-intel and xserver-xorg-input-evdev drivers will be provided in a PPA. Using these should generate apport/whoopsie reports


bryce 2012-05-14: I've pasted in the work items set as postponed from last cycle's xorg blueprint. A number of these I don't grok what they're for, and am assuming the assignees still remember. A few look like maybe they're no longer really relevant any more. So please review and update the tasks.

Some tasks don't have an owner, and I've left them to the ubuntu-x-swat team. Please review and take tasks that you want or that pertain to your work. In a week or two whatever unassigned tasks that remain will be divvied out to folks.

raof 2012-05-22: The intel-gpu-hook for radeon appears to be not really feasible; after discussion with upstream (and with nouveau) there's a lot more state to dump and it's harder (possibly impossible) to dump.

mlankhorst 2012-05-22: Investigating X server 1.12 support, some patches that have been merged upstream dropped. Looking at possible solutions here for the nouveau font rendering glitches caused by upgrading cairo to 1.12: . Nouveau changes are currently blocked due to kernel rewrite
by maintainer. After this week it should be more stable again.

mlankhorst 2012-07-03: x1.12 has landed in quantal and is being uploaded to ubuntu-x-swat/q-lts-backport renamed, for testing rename scripts with precise again. I'm identifying feasability of updating libdrm and building libdrm-nouveau1a and libdrm-nouveau2 at the same time. For this I created a debian-experimental branch to libdrm which contains both, hopefully this will allow mesa to be built with the old nouveau drm and xf86-video-nouveau with new. nouveau kernel status seems unknown, I believe darktama is doing some work related to nouveau reliability which would help more than a gpu event.

RAOF 2012-07-24: Turns out that we can make the rethrow-signals patch substantially more robust by dropping it entirely and passing -core to Xorg, which will then dump core with SIGABRT. Or, at least, that's what's *meant* to happen. What *actually* happens is X somehow SIGSEGVs in vfprintf, but only if built with optimisations.

Either way, the useful backtrace is preserved above the signal handler, and apport picks it up perfectly in my tests. This could be improved by post-processing the backtrace in the apport hook (to generate a more appropriate title), but is an improvement right out of the box.


Work Items

Work items:
[mlankhorst] push 1.12.x to x-staging ppa: DONE
[mlankhorst] consider PPA per stable release 1.12.x 1.13.x: DONE
[mlankhorst] Figure out why x1.11 + ubuntu 10.3 patches were failing: POSTPONED
[raof] review ubuntu delta on x-server and drop redundant patches: INPROGRESS
[raof] review ubuntu delta on mesa and drop redundant patches: DONE
[raof] apport integration patch need to be fixed up to 'work reliably': DONE
[raof] Get lightdm to spawn Xservers with -core: DONE
[bryce] link key bugs to the blueprint: POSTPONED
[raof] review the upstream SIGIO patch kit to expedite it into the server: DONE
[bryce] review work items from last release, move remaining ones here: DONE
[raof] Set up a discussion about the "enable binary stuff" by default: TODO
[leannogasawara] add checkpoint for kernel on nvidia and fglrx: DONE
[tjaalton] nvidia/fglrx packaging health check: TODO
[mlankhorst] Finish nouveau VSync support: DONE
[ubuntu-x-swat] Detect gfx hardware changes (maybe by checking the modaliases?) and inform users about the change: TODO
[bryce] Implement dialog that pops up in Failsafe-X to suggest enabling driver for new hardware: POSTPONED
[ubuntu-x-swat] Complete X performance test plan: POSTPONED
[bryce] Consider offering a mechanism to file a bug from xdiagnose: POSTPONED
[albertomilone] Add a check (in nvidia-common) to require uninstalling Nvidia's driver when installing Ubuntu packages: TODO
[bryce] Create parsing routine which takes an Xorg.0.log and fills in the python class: DONE
[bryce] Create launchpadlib tool which uses xorg log parsing code and adds the information to the bug: INPROGRESS
[bryce] Identify "interesting" warnings and errors (i.e. exclude innocuous messages): DONE
[jbarnes] Collect screenshots and/or videos of several common classes of failures, identifying likely causes and components: TODO
[raof] Ensure apport scripts (kernel and xorg) capture needed MT debug data: TODO
[ubuntu-x-swat] Produce QA test plan for verifying MT input device functionality: TODO
[bryce] Organize online testing for nouveau: DONE
[apw] can we move i915 power etc configs to sysfs: POSTPONED
[bryce] From xdiagnose provide ways to blacklist drivers, turn off modesetting (for -ati), force dkms rebuilds/reinstalls of proprietary drivers, and other kernel overrides: POSTPONED
[bryce] Consolidate modesetting debugging logs from kernel, xorg, gnome to provide more straightforward way to debug resolution and output setup issues.: POSTPONED
[bryce] Add mechanism to move aside monitors.xml, .driconf, etc.: POSTPONED
[bryce] Investigate kvm autotest for doing testing of failsafe session: POSTPONED
[bryce] Diagnostic testing mode in failsafe-x to bring up different gfx options and prompt user to indicate if that works. Offer to set the corresponding options as default (and maybe report bug): POSTPONED
[bryce] Add mechanism to xdiagnose that will generate xorg.conf.d snippets (ala x-kit) for customizing input devices: POSTPONED
[bryce] Write blueprint for FriendlyGitBisect - "friendly-git-bisection" BP: DONE
[bryce] Write blueprint for RegressionRooter - "regression-rooter" BP: DONE
[bryce] add option from livecd (F6 menu) to boot directly into failsafe-x: POSTPONED
[bryce] Add failsafe-x mode to friendly recovery: POSTPONED
[tjaalton] Draft a method of getting relevant logs by just adding 'magic' to kernel cmdline, and save them for later use (or attach them to a bugreport, if possible): POSTPONED
[cjwatson] ensure that instead of clearing recordfail during rc2 state clear once the user logs in or explicitly shuts down: POSTPONED
[cjwatson] default to recovery mode when recordfail is set: POSTPONED
[sarvatt] Update kernels in xorg-edgers for better bug triaging: DONE
[raof] Investigate adding kernel event like Intel for GPU hangs on radeon: DONE
[mlankhorst] Investigate adding kernel event like Intel for GPU hangs on nouveau: POSTPONED
[mlankhorst] Deal with fallout from nouveau ddx update: DONE
[bryce] review all xserver patches and determine ones to drop, send upstream, retest, etc.: DONE
[bryce] send xserver patches filed as bugs to the xorg-devel list (at least patches 165, 200): TODO
[sarvatt] Switch on SNA for -intel in xorg-edgers for one week: DONE
[raof] Switch on SNA for -intel in quantal post-alpha2 once it's had a week to bake in -edgers: POSTPONED
[bryce] Forward SNA-related -intel bugs to Intel between alpha2 and alpha3: POSTPONED
[bryce] Evaluate shippability of SNA for -intel in quantal pre-alpha-3: DONE
[tjaalton] Drop libgl1-mesa-swx11 and 8bit/16bit osmesa packages from mesa post-alpha2: DONE
[tjaalton] Liaison with Debian-X regarding package changes to mesa: DONE
[tjaalton] Evaluate dropping libgl1-mesa-swx11 from mesa pre-alpha-3: DONE
[bryce] Coordinate with security team about CVE bugs open against X packages: DONE
[bryce] Enable vdpau (bug #1002224): DONE
[bryce] Evaluate whether to leave gallium vdpau on, by alpha-2: DONE
[bryce] Push #993427 patch to github and upload to quantal (unless tseliot gets to it first): DONE
[raof] Ask TB for MicroRelease Exception for mesa 8.0.3: DONE
[bryce] Set up PPA with 8.0.3 for testing ppa:bryce/mesa-803: DONE
[bryce] Request mesa 8.0.3 in relevant looking bug reports: DONE
[bryce] Run piglit on mesa 8.0.3 vs current mesa on several drivers: DONE
[raof] Recruit another SRU reviewer to review the 8.0.3 SRU: DONE
[mlankhorst] Discuss nouveau ddx snapshottability with darktama: DONE
[mlankhorst] Copy nouveau ddx from debian experimental: DONE
[mlankhorst] Identify feasibility of SRUing quantal's synaptics to precise: DONE
[mlankhorst] Write requisition request for hybrid hardware (optionally run by bryce for review): DONE

Dependency tree

* Blueprints in grey have been implemented.