DisplayConfigGtk

Revision 4 as of 2008-05-08 11:40:54

Clear message

displayconfig-gtk is deprecated in Hardy, but has not been dropped yet because it is still used for Bulletproof-X mode. It also remains available for use with drivers that still use Xinerama and have not been updated to use Xrandr.

Background

A common complaint by Ubuntu users in Feisty and before was the lack of a simple GUI way to configure X. displayconfig-gtk (derived from KDE's guidance / displayconfig toolset) provided an excellent solution to this problem and was a welcomed addition to Ubuntu at the time.

displayconfig-gtk was designed and developed for the old-style Xorg, where the user was required to fully configure their hardware including resolutions, refresh rates, and sometimes even modelines. It contains databases of every video card, driver, and monitor with the particular settings and quirks needed to make it work.

However, today's Xorg has a lot of this logic built right into the xserver and its drivers. It is largely able auto-detect monitors, graphics cards, and so on, and thus users are no longer expected to write all of this in xorg.conf in order to boot. Thus, displayconfig-gtk duplicates this logic and is not as widely tested nor as actively maintained as the xserver's logic.

Further, for multi-head configuration, the entire underlying technology displayconfig-gtk assumes, called "Xinerama", is no longer provided by most video drivers and Xinerama-based configurations generated by displayconfig-gtk will actually crash X. Instead, most video drivers now use "X Resize and Rotate", or XRandR, to do this. XRandR has the benefit of being able to make resolution changes dynamically without having to restart X; this feature is particularly helpful when "hot plugging" projectors and external monitors.

displayconfig-gtk was a Ubuntu-only invention, although we did present it to GNOME and hoped they'd take it. Unfortunately, upstream indicated they'd prefer something which was in C and did not have dependencies on KDE components (i.e. guidance). We only had a small number of Canonical and Ubuntu community people maintaining it (and they were increasingly busy with other tasks), so without increased involvement from more of the community we weren't able to keep up with the wide variances of different people's hardware and configurations.

We investigated modifying displayconfig-gtk to include Xrandr configuration as well as Xinerama, and to suppress the output of configuration settings no longer needed, however it was felt that these changes risked making an already complex codebase even more complicated. It made more sense to switch gears to a new, fully Xrandr-based tool. As of Hardy, this tool is the Screen Resolution applet under System / Preferences.

To eliminate confusion and help users avoid the various issues that testers have reported, we've removed displayconfig-gtk from the menus. However, there are some situations where this tool actually is the best way to configure Xorg. For this reason, we've left displayconfig-gtk installed by default.

Benefits of the Change

The new Screen Resolution tool brings several benefits over displayconfig-gtk in addition to being Xrandr-based instead of Xinerama:

  • Auto-detects monitor, resolutions, etc.
  • Allows changing settings on the fly without restarting X
  • Even simpler looking interface
  • Doesn't touch or modify the user's xrandr
  • Doesn't need root privileges since xrandr works in user space
  • Is adopted upstream at GNOME and by RedHat and Mandriva

Remaining Issues

There are still some unresolved issues: