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
*SaveModeFile
as the complementary pair to the existing*LoadModeFile
which 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.
Well done to all concerned! This is a major step forwards indeed.
Well worth the bounty money. A great addition to RISC OS.
A big thanks to whoever took this bounty on.
For those users of RISC OS on the Pi who want to try out the new ROM,
but are nervous about putting together the necessary bits and pieces
themselves, a third party update has been prepared that will upgrade
an existing RC14-based RISC OS set up to the latest ROM and firmware.
Simply copy the directory !Boot in the zip archive over the top of
your existing !Boot, and restart. Then set *configure MonitorType EDID
and *Configure WimpMode Auto, shutdown and restsart. The refreshed SD
card will now work on all models of Pi.
The new ROM contains Serial support, a GPIO module, the EDID support
and an updated screen configure plug-in. The update is available “here”:
http://www.svrsig.org/software/Update.htm (choose Update8H) and its
contents are shown here:
I’ll repeat my posting from the Bounties forum. Could whoever has been working on this please get in touch with me, because there are still some things that need to be resolved. This isn’t finished (quite).
“Could whoever has been working on this please get in touch with me”
It’s Steve Revill.
It’s not me. Please drop me a line, Andrew – happy to hear your thoughts.
Out of interest, how is stuff like this directed? We have a bounty which has been completed (brilliant!). But we have a third party commenting ‘not quite’. How much of the process is public? How are such issues addressed?
I am interested in the detail of Andrew’s query, but also how/if a ‘change request’ would be covered.
I may have phrased that badly. For clarity, this is not a dig at anyone – it is genuine interest.
I should probably explain why I’m keen to make contact privately. Experience has shown me that “teething trouble” type faults (which may well be on my side, for all I know) are best sorted out directly, rather in forums.
I’d be happy to go into more detail privately, but for the sake of all involved, I try to avoid public “fault finding” if that’s a private contact option. Public “Doh!” moments can be embarassing :)
I’ll get in touch with Steve.
I know where you’re coming from. I was just curious.
It also got me thinking about the bigger picture. This might be a relatively small matter, but could something more complicated present a bigger problem in future? It will be interesting to see if any learnings here bring about differences in future.
Hi. We’re in a phase of collating all the feedback and chatting with the bounty submitter to decide upon the best way to address any remaining glitches and refinements. Once that’s sorted, we can post an update to say what the plan is.
With software being what it is, it’s never perfect or finished, so we’ll need to find a balance. The better is the enemy of the good, as they say, but how good is good enough?
We’ll keep you posted! :)
Steve
Thanks for the update and I appreciate like every software release it is always a balancing act between testing and releasing and as we are still in 5.23 mode I understand it is still a development phase so don’t see it as a negative that there are some issues to resolve.
EDID is a major step forward and one long overdue and really a great addition. So well done to all for getting to this stage.