GraphicalXConfiguration

Revision 16 as of 2006-10-31 02:43:57

Clear message

Summary

We need an easy way for people to edit their xorg.conf in a sane way, including enabling 3D acceleration, 2 monitors, etc.

AndreasSchildbach: Is auto-configuration (when (un-)plugging monitors) also in scope of this spec?

Rationale

This is being proposed to decrease the ["ListOfNGUIs"]; i.e. to make it possible to change video settings beyond screen resolution through the GUI. As it stands, configuring X involves the manual editing of a text-based configuration file, which is not particularly well-commented.

Use cases

Brian wants to add a second monitor. He has either a second graphics card or a video card with two video outputs. He goes to System>Administration>Video Settings (or similar) and clicks to add a new screen. A wizard guides him through setting graphical options and then prompts him to restart X (warning him about saving open documents). There is, however, and option to restart X later, much like the restart notification after a kernel upgrade.

Scope

Creating and packaging a graphical X configuration tool.

Design

<to-do>

Implementation

  • [http://www.cyskat.de/dee/progxorg.htm] is a fairly advanced effort to make such a tool. It does, however, carry inherent limitations which are described below. Concerted work needs to be done on addressing these issues, and this needs to find itself packaged into default desktop installations.

  • Sax2 [http://sax.berlios.de/] tool used by suse, has bindings for python, includes support for DualHead/ Multihead/ Autodetection/ Support for vendor specific drivers/ Tablet/ TouchScreen and lots more...

  • 'Advanced/failsafe' mode that triggers gksu dpkg-reconfigure xserver-xorg -f gnome ????

  • The guidance system tools already provide such a tool:
    • a xorg.conf parser and writer,
    • automatic detection of hardware,
    • an abstraction layer to manipulate the setup,
    • testing the new configuration
    • modesetting for monitors
    • a gamma correction system
    • Xinerama support

It's written modular, so it should be easy to write another (GTK-based) userinterface and share the backends. [http://www.simonzone.com/software/guidance webpage with screenshots], [http://websvn.kde.org/trunk/playground/base/guidance/displayconfig/ code]

Code

Available from above link. Work needs doing. See below.

Outstanding issues

Many. Unfortunately.

Various video cards have different options. There are hundreds of permutations of options, and they all need to be sanely documented, and schemas implemented (giving advice per card, per setup about whether to enable them). This tool is useless without taking into account the inherent complexity of X and xorg.conf. This needs to be a graphical solution, with easy-to-use wizards, of course, but it also needs to be a powerful admin tool.

You need to restart X for changes to take effect. This is a serious problem, and will apparently be fixed in a few versions' time of Xorg. This means not in time for Edgy.

Backups, backups, backups. If a user hoses something with this tool it is almost as bad for them as if they hosed the entire computer with Gparted. X failing to start should be caught and a backup restored, if the user wishes.

Auto-detection is apparently difficult, and not implemented in xorg-edit. This is crucial for ease-of-use, and perhaps borrowing an idea from Vista in this respect would not be a bad thing. Unfortunately, such autodetected changes require a restart of X. See above.

CategorySpec

Discussion

  • Killerkiwi - See the sax2 (the code used in SUSE) project http://sax.berlios.de/ for a xorg backend and a KDE front end (I dont think a GTK front end exists yet...), the ui should probably try and cover the most 'common' uses ie at the very least Dual Display Setup

  • It would be great to have a console based application to edit some config in xorg, if something goes wrong and the user cannot start X. Features: video driver choice, resolution choice, recovering xorg.conf to its original state, etc. This tool may run if X fail to start. -- SamGrandjean

  • If the above comment about needing a GTK re-write is about Xorg-Edit, then I don't really see why, as wxWidgets automatically defaults to GTK when used in a linux environment. Of course, this comment could have been easily about Sax, which appears to be QT. -- Derick_eisenhardt
  • Kubuntu already has an X config tool in kde-guidance (displayconfig), you could port this to GTK.
  • In order to deal with the numerous video card/driver options, perhaps a separate package, xorg-driver-#####-options, that would allow the options to be updated regularly would be of use. This way, well tested options are installed with the package and use by automated configuration tools. Other options are explored by those experienced and motivated to manually tweak their configurations. Once developers/tweakers have found reliable options, the can be integrated into the xorg-driver-#####-options package.