Features/OneSecondX

From FedoraProject

Jump to: navigation, search

Contents

One Second X

Summary

X takes too long to start up, even on reasonable hardware. We should be able to get from exec to ready to accept clients in under one second. X server shutdown should be similarly fast.

Owner

Current status

Good progress has been made over the Fedora 9 cycle. Didn't quite get to 1 second, but quite close, and quite a big improvement. Detailed results still needed, but improvement should already be seen on every platform.

Detailed Description

X does some dumb things during startup and shutdown that take far longer than is reasonable. Some of them have already been fixed, some still need addressing.

Things already fixed

Things still to do

Benefit to Fedora

Faster bootup means happier users. There are secondary effects in that it makes fast user switching (and slow user switching, i.e. logout) faster as well.

Scope

Small changes but over many packages, at least initially. Some problems may require architectural changes, like the xkbcomp disaster.

Test Plan

The reference machine is a Thinkpad T42 with an ATI Radeon Mobility M7 chip. Not fast, therefore a good target for tuning. Secondary testing with the vast pile of video cards in my cubicle.

Currently the reference machine starts and stops X in about 3.5 seconds. Radeon memory map setup is unfortunately quite finicky to solve properly without kernel support. XXX compare this time with F8.

A "pogo" option has been added to the X server to skip the dispatch loop entirely, meaning, just initialize and then immediately shut down. This allows rapid performance testing and easy timing comparison between configurations. The target is under one second for combined initialization and teardown.

To test this for yourself, run time X -pogo from text mode. Unfortunately there's no corresponding option in F8, yet. Dear ajax: fix that in an update please?

User Experience

"Huh, feels faster for some reason."

Dependencies

X is rebasing to (what will eventually be) xserver 1.5 anyway. This pulls in some fixes for free, but does require that every driver be updated for the new PCI infrastructure.

Most changes are small and easy to merge with upstream as we go.

Contingency Plan

Since this is a collection of fixes, each one can be managed individually. In the worst case none of them make it in and X stays slow to launch.

Documentation

Not yet.

Release Notes

Fedora 9 features a number of changes designed to make X faster in starting and shutting down. Noticeable improvements have been made in Fedora 9. Full details of the project can be found through this feature page:

http://fedoraproject.org/wiki/Features/OneSecondX