Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

This specification describes a feedback mechanism to allow users to submit monitor setting customizations to a central repository for other users to obtain and share.

Release Note

It is now possible to easily share monitor customizations with other users, by uploading your settings to a central repository.

Rationale

Monitors provide EDID information to describe their capabilities. However, in some cases this information is inaccurate and needs to be overridden or is entirely unavailable and needs to be specified completely. The xserver includes quirks for many monitors, but far, far from all possible ones available. While this system works in general, it is weak in two particular use cases: Extremely new monitors released within a few months, with quirks that may not yet have made its way through the xserver release process; and extremely old monitors, that may not provide EDID information at all. The first use case is especially important for spreading Linux to the desktop consumer market, and the second is particularly critical for the developing nation market and education, that often are installing onto legacy hardware.

DisplayConfigGtk provides a useful mechanism for customizing monitors using *.inf files, however these updates are done only locally and must be repeated for each install by each person with the given hardware. It would save a lot of expended trouble and effort if these settings could be automatically uploaded to a central repository, from whence other users could automatically retrieve and use in doing their own installs.

Use Cases

Assumptions

Design

The system will be comprised of five components:

  1. displayconfig-gtk - The frontend interface

  2. guidance-backends - The local backend (kde-guidance)

  3. launchpad - The remote data submission repository

  4. online data files - The remote data update files, in a plain text format

  5. processor - The remote backend processor to extract data from launchpad and generate the online data files from it

The overall functionality will be implemented as the following distinct mechanisms:

  1. Monitor data submission mechanism - Enabling users to submit data *to* the repository

  2. Community monitor data retrieval mechanism - Enabling users to retrieve data *from* the repository

  3. Monitor data quality feedback mechanism - Enabling users to rate data in the repository

  4. Manual monitor customization mechanism - Enabling users to directly enter monitor data, if *.inf files are unavailable

Implementation

Monitor Data Submission Mechanism

DisplayConfigGtk includes a mechanism for loading and parsing an *.inf file. The following changes will be needed to enable an online feedback mechanism:

The data is then collected as bug reports on Launchpad.

Community Monitor Data Retrieval Mechanism

A backend tool will collate monitor data change request submissions into data files that are uploaded to a URL at ubuntu.com. This tool will need to have the following features:

DisplayConfigGtk is then modified as follows:

kde-guidance is modified as follows:

Monitor Data Quality Feedback Mechanism

When a user selects a screen which was taken from one of the downloaded data file, an option is provided for the user to later report about the success or failure of that mode.

DisplayConfigGtk is modified as follows:

BulletProofX in the xorg package is modified as follows:

In xorg, add a script to /etc/X11/Xsession.d to do the following:

Manual Monitor Customization Mechanism

In some cases, users won't have access to the *.inf file, perhaps because they don't have the original CD. In such cases, there needs to be a mechanism for entering in the appropriate data (the horizontal and vertical frequencies, or the modelines). (See Bug #148841)

DisplayConfigGtk should be modified as follows:

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release.

This need not be added or completed until the specification is nearing beta.

Outstanding Issues

None

BoF agenda and discussion

None


CategorySpec

X/MonitorsDatabaseOnline (last edited 2008-08-06 16:31:22 by localhost)