EDID support (monitor auto-detection)

Note

A forum thread has been opened to discuss the work in progress on this bounty.

Summary

This change will mean that RISC OS is able to automatically detect when a monitor is connected or disconnected and read information about that monitor. When a monitor is connected, RISC OS will be able to automatically change screen mode to the one which is best for both the monitor and the hardware that RISC OS is running on.

Details

Implement code within RISC OS to read the EDID data structure from any attached display (where available) and parse that structure to obtain the list of supported modes, including the native resolution of the display.

This list is then refined by comparing the capabilities of the display against the capabilities of the video hardware in the platform. The list is made available to the OS and other software through a suitable API.

Some mechanism needs to be included to detect the connection/disconnection of the display and broadcast that event to the wider system.

The “Display” application (sitting on the right of the iconbar) will also require some modifications.