EDID Override
Thorsten Schoel
tschoel at web.de
Tue Dec 13 02:10:18 PST 2011
Dear all,
please find below a patch that will allow overriding a monitor's EDID
with something provided by the user. This can be helpful in a number of
situations as a quick google for "edid override" or similar suggests; I
wrote it because my monitor is broken and doesn't provide any EDID at
all. This is done through a module parameter named edid_override which
is made up of three parts, each separated by a colon from the next.
First is the name of a connector, second is the type of source for the
information, third is the source of the information itself. If the
second part is an 'f', the third will be the name of a file containing
the EDID, if it is a 'w', the third will be the name of a firmware blob
(i.e. the kernel firmware loading mechanism will be used to get the
data), and if it is an 'r' th third part is raw EDID encoded as a stream
of hexadecimal characters. 'd' as the second part will simply remove any
previous edid override for the connector.
Since this is my first attempt at getting a patch into the kernel the
patch might well be in need of some additional work which I will be
pleased to provide if someone provides me with a description and
explanation of what needs to be done.
The following points are on my mind. These are not things that I think
have to be fixed but rather that I am unsure of:
- Is drm_edid.c, the file where all the logic and currently everything
else is placed, really the right place for the definition of the module
parameter or should this go elsewhere?
- Is it really desirable to have three different ways of fetching the
EDID-data? Yet, having the raw EDID in hex (256 characters) on the
kernel command line might not always be desirable. Loading the EDID as
firmware may sometimes be more convenient than reading it from an
arbitrary file. But if you look at it closely EDID data is not exactly
what you think of when you think of firmware.
- Adding an override through sysfs doesn't work yet and I can't figure
out why.
The patch was written and tested on Fedora 16, Linux 3.1. I have adopted
it to 3.2-rc5 though. If anyone desires the 3.1 patch I can provide that
as well. It is only marginally different though.
Best,
Thorsten
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: linux-3.2-edid-override.patch
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20111213/6f0a0de4/attachment-0001.asc>
More information about the dri-devel
mailing list