By jove, E'DID it! Monitor setup without the setting up bit
Posted by Steve Revill Tue, 14 Mar 2017 22:23:00 GMT
The bounty to implement EDID support, a standard where the monitor provides information about its size and capabilities, has recently been completed – another important step forward in making RISC OS easier to use with modern peripherals.
What the standard does
It defines a means for the monitor to tell your computer which modes the screen can display. Previously this role was fulfilled by monitor definition files (MDFs) which required a skilled magician to optimise the display.
Mastering MDF authoring
There are also details on the model name, screen size, audio capabilities, gamma correction, and other information – but primarily we’re talking about the screen modes here. In future we hope to extend the graphics system to include being able to hot plug monitors too.
Not everyone reads the standard
ROOL is aware from experience in similar fields that not all monitors report their true identity, either because of a manufacturing mistake (accidentally mixing up monitor models) or by not interpreting the standard properly. This was particularly a problem with monitors made before 2006.
To remedy this the design of the RISC OS 5 EDID system allows disc based EDID to be used instead, so the corrected data can be loaded to override that which the monitor provides. In future we will add these to the MDF database shipped with every RISC OS computer since RISC OS 3.50.
Within RISC OS
Making an EDID system that sort-of-works was not the aim of the bounty, we wanted a system that integrated well with RISC OS and made sense to end users, yet also allowed access to the lower level technical detail. This has taken some time to get right since some of the early attempts first previewed in 2015, following feedback the design was revised to include
- An updated Screen Setup plugin to configure the monitor choices
- Being able to override bad EDID data with good copies held in the MDF database on disc
- Direct visibility of the EDID data file (for technical support), held as a file in ResourceFS, which can be trivially copied with the Filer or attached to an email
- A new monitor type allocated in CMOS so that RISC OS will use EDID if it is in an embedded system needing to use discless boot, or the boot sequence doesn’t run
- A new command
*SaveModeFileas the complementary pair to the existing
*LoadModeFilewhich saves the equivalent MDF that is being used internally by the OS
You can also drag and drop EDID data files into the Display Manager to load them manually.
Using it on your computer
The updated ScreenModes module and Kernel changes are now incorporated into the nightly downloads for your computer, simply update the operating system ROM (the exact method varies from machine to machine). Additionally you’ll need an updated Screen Setup plugin, this is in the HardDisc4 download inside the main !Boot application.
Restart your computer with your EDID capable monitor plugged in then run the Screen Setup plugin in Configure and below the ‘Auto’ menu entry for the monitor type will be the current model of monitor (a model ‘VP730’ in this example)
The ticked entry shows the currently plugged in monitor
then from the resolution menu choose ‘Native’ to tell RISC OS that you want to use the best display mode the manufacturer recommends in the deepest colour depth.
Note: If using a softloaded version of RISC OS you’ll also need to update !Boot.Choices.PreDesk.Configure.!Run so that when the softload is not selected the previous MDF is used as before.
The ROOL bounty scheme
This bounty was originally proposed some 5 years ago and was subsequently claimed once donations had reached an attractive level. There are other bounties open currently which need your donations, or you can use the General bounty to help keep the lights on here at ROOL HQ. We’ve recently added 3 more bounties to choose from to make up for the recently completed ones, including the JPEG work.