Xorg.conf Options Editor

Registered by Bryce Harrington on 2008-05-16

Xorg's automatic configuration technology has done away with the need for modifying xorg.conf for the most part. You no longer need to set up modelines or resolutions for monitors. With the new Screen Resolution you don't need to do projector or dual-screen configuration in xorg.conf anymore either.

However, on rare occasions users need to set driver options. For instance, they may need to adjust the Virtual option for dual-screen configs, or may wish to test experimental parameters.

Unfortunately most GUI configuration tools available now, were implemented primarily for doing display configuration, and actually do too much.

What we need is a very simple GUI (nothing fancier than a registry editor) for adding/removing/adjusting device options. It's extremely rare for users to need to fiddle with device options so this need not be anything sophisticated. Also, as bugs get fixed and as Xorg evolves the available options will change, so this should strive to provide a general purpose interface.

Blueprint information

Bryce Harrington
Alberto Milone
Needs approval
Alberto Milone
Series goal:
Accepted for jaunty
Milestone target:
Started by
Alberto Milone on 2008-06-10
Completed by
Alberto Milone on 2009-03-13


2008-05-27 bryce: Discussed at UDS Intrepid in Prague, Alberto Milone volunteered to take ownership of development. We'll collaborate on writing the spec. There are two phases to this: 1. Enable gnome-display-properties to set the Virtual option when needed; this functionality is high priority for Intrepid and maybe worth backporting to Hardy. 2. General purpose option editing; this is the bulk of the work but lower priority and could be postponed to Intrepid+1 if other priorities take precedence.

2008-05-30 tseliot: this project will likely rely on a new xorg parser (which is almost complete) and on a program which will try to make sense of the content of xorg.conf (e.g. which screen is used by which card, etc.). After the parser is completed it will be possible to implement phase 1 as suggested by Bryce.

2008-06-02 tseliot: the first release of the parser is available

2008-06-03 tseliot: the parser is complete (0.2) and phase 1 (the Python part) is complete too.

2008-07-24 tseliot: minor fixes to the parser (0.3) and phase 2 (the Python part) is almost complete.

2008-08-26 bryce: Phase 1 is code complete and in process of being deployed (first to universe, then main). Needs wider testing, and perhaps some polish, but the functionality is there and working properly.

2008-12-09 bryce: Discussed Phase 2 at UDS San Jose, got feedback on design goals. Recovery and contingency operation received a lot of questions and should be a focus of the development effort; anything the user can set with the tool needs to be reversible without requiring special technical knowledge.

2008-12-15 pitti: Alberto, would you like to integrate the UDS notes into the (already excellently written and detailed) spec? Bryce, would you review and approve this afterwards? Thanks!

2008-12-18 bryce: I've incorporated the review commentary into the spec. We talked a lot at UDS about Recovery/Backup, and I've elaborated on how we can solve that in quite some depth. The Recovery/Backup bits are probably going to be distinct from the xorg.conf options editor tool proper - perhaps the tools can live in the xorg package rather than with the python code, so they'll be more easily accessible to bulletproof-x and other tools involved in recovery or backup. Anyway, I think the spec is nearly ready for approval now, but would like Alberto to read through it once more before we call it done.

2009-02-13 tseliot: Xorg Options Editor works correctly and is ready for inclusion in Jaunty (in universe). It's too late for the UI cleanup suggested by mpt which therefore will be postponed to Jaunty+1.

2009-02-13 bryce: Uploaded to universe for Jaunty.

2009-03-13 tseliot: This spec is marked as "implemented" now. I have filed a bug report (assigned to myself) about the UI:


Work Items

Dependency tree

* Blueprints in grey have been implemented.