proof of concept to read EDID from FL2000 devices
Switch branches/tags
Nothing to show
Clone or download
Latest commit 9a4fbe2 Jun 22, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
80-fl2000-dev.rules initial commit Nov 19, 2014
LICENSE initial commit Nov 19, 2014
LICENSE_GPL dual-licensing to BSD or GPLv2 Mar 9, 2016 note about obsolescence Jun 22, 2017
fl2000_get_edid.c dual-licensing to BSD or GPLv2 Mar 9, 2016


NOTE: This is superseded by FL's release of a bunch of interface code!

A minimal, experimental program to read EDID from a Fresco Logic FL2000 display adapter (i.e. VID/PID 1d5c:2000). Tested only on Linux (Ubuntu 14.04/amd64) but should work anywhere libusb does. Further details on my FL2000 efforts can be found here.


This is a reverse engineered piece of software: it does some things because "it needs to do this to work" and not necessarily anything I understand further. The Windows driver does some dubious things that libusb cannot be persuaded into, so this is not exactly the same as the official version. It is touchy and possibly broken under some conditions. I don't think it's possible to brick an FL2000 device (surely I would have managed it already), but by running this program you are accepting any resultant risk.


You will need a C compiler, libusb with headers etc., and a udev rule to allow non-root access to the device. Optionally, the read-edid package for parsing the output. Define the DEBUG macro to build in debug mode, which will print human-readable information about the transfers happening (e.g. add -DDEBUG). For Ubuntu 14.04:

sudo apt-get install build-essential libusb-1.0-0-dev read-edid
sudo cp 80-fl2000-dev.rules /etc/udev/rules.d/
gcc fl2000_get_edid.c -o fl2000_get_edid -I/usr/include/libusb-1.0 -lusb-1.0 -Wall


Run program, recieve EDID. If a monitor is not attached when the program runs, it will wait. Invocation examples:

./fl2000_get_edid | parse-edid


./fl2000_get_edid > edid.bin


This code is dual-licensed; you may use, distribute, or modify it under either the terms of the BSD license (see LICENSE file), or the GPL version 2 (see LICENSE_GPL file).