XserverFailover

Summary

The graphic driver used by Xserver should be set automatically to "vesa" if the graphic card is not properly detected (Knoppix already does that).

That should happen at least in the following cases:

1) During the installation of Ubuntu (when using the "alternate installer")

2) When booting Ubuntu's live installer (and this is where Knoppix can be taken as an example).

3) On an already installed Ubuntu: the system should be able to switch to a working backup (using "vesa" driver) of the xorg.conf every time the Xserver fails.

4) When "dist-upgrading" the driver should be set to "vesa", in order to prevent crashes of the Xserver due to the lack of the restricted modules of a kernel, etc.

Rationale

Preventing the Xserver from crashing is a crucial feature (something similar can be found Windows) for any GNU/Linux distribution.

One of the main obstacles which prevents GNU/Linux widespread is hardware detection. As far as graphic cards are concerned, it is quite obvious that their support is not as good as in Windows because their manufacturers' main market is on Windows. For this reason drivers supporting the latest graphic cards are not available on Linux at the same time as they are on Windows.

The only thing which can be done for now is attempting to achieve the best compatibility which is possible with Xserver 7.x.x and the Linux kernel. The opensource drivers (e.g. "nv" and "ati") do not support as many graphic cards as their proprietary counterparts.

Very often, using vesa driver (until the installation of the proprietary drivers) is the only way to prevent the Xserver from crashing.

Even though proprietary drivers (such as ATI or Nvidia's) are not installed in Ubuntu by default, they can cause several problems when unexperienced or average experienced users try to install them. If the kernel is upgraded or if the graphic card needs some tweaking, etc. the xserver might crash and the users would be left alone with the command line (which many of them deem "alien"). The Xserver should be able to (automatically) restore a functioning backup of the xorg.conf and use a compatibility driver (such as "vesa").

Upgrading to the latest version of Ubuntu has caused so many problems also because of the proprietary drivers which were installed before the upgrade. Therefore setting the driver (automatically) to vesa after that kind of upgrade would not be a bad idea.

Use cases

Joe has an Nvidia graphics card that's not fully supported by the open source Nvidia drivers included with Ubuntu. He wants to install Ubuntu without having the X server crash, because a crashed X server forces him to use the command line.

Ubuntu accidentally publish a bugfix for Xorg that crashes some specific computers. The Ubuntu team wants Ubuntu to fail gracefully despite the major slip-up.

Scope

Design

Implementation

Code

Data preservation and migration

Outstanding issues

http://www.ubuntuforums.org/showthread.php?t=187177 "If Xserver crashes at boot, then this quick fix might do the trick for you"

BoF agenda and discussion

Comments

UbuntuDemon : The forum thread for feedback on this spec : http://www.ubuntuforums.org/showthread.php?t=201128

DanielStone: I wrote a mail about this a while ago: https://lists.ubuntu.com/archives/sounder/2005-March/001583.html

LukasFittl: As Daniel wrote in his mail, it would be good to have a fallback on fbdev, certain package updates could break the xserver as well, and not only it's configuration (please correct me if I am wrong).

UbuntuDemon : It would also be useful to be able to automatically revert to the last working xserver-xorg version if needed. I blogged about this spec here : http://ubuntudemon.wordpress.com/2006/08/22/xserverfailover

JohnMccabeDansted : Alternatively, if a menu appeared that provided an option to do an apt-get update & upgrade that would mean that if a fixed version of the xserver became availiable there would be an easy way to install that for people who do not like the CLI; this would also work if it was some other package that caused the xserver to fail. Also, if more options were required to repair the xserver, then we could update the menu package so that those options would appear after the user did the upgrade.

Motin: I was just about to write a similar spec, when I found yours. Glad you made it. I would like it to include a simple extra option though similar to the one of UbuntuDemon): automatic periodic backup of xorg.org (or initiated on every change) together with the ability to go back to a previos backup (ie last known good configuration) when stuck in failing Xserver start. The design could be so simple: "An error prevented the GUI to start. Do you want to display error-information to help identify problem or do you want to go back to last known good configuration?" Also, an option to run "dpgk-reconfigure xserver-xorg" from there would be worth it's bitweight in platina.


CategorySpec

XserverFailover (last edited 2008-08-06 16:25:00 by localhost)