How to properly install USB display driver for Fresco Logic FL2000DX on Ubuntu?

Telling the full story so all the keywords will be included in my response for future searchability:

I've been looking everywhere for a driver or chipset info for the unbranded "Mini HD USB 3.0 HDMI Adapter" for years. I finally dug though enough duck duck go results to find a page that claims it uses the Fresco logic USB display driver, which brought me here.

I was able to get the driver to work using Linux Mint 18.2 "Sonya" with linux-headers-4.13.0-45-generic, but the instructions on git hub were not perfect.

  1. Clone the repository git clone https://github.com/FrescoLogic/FL2000.git (If you don't have git installed you can install it with sudo apt install git )
  2. Navigate to src: cd FL2000/src/
  3. Run make (contrary to the instructions, you don't need to edit KERNEL_PATH as the bug was fixed)
  4. Insert the module sudo insmod fl2000.ko
  5. Change to sample cd ../sample/
  6. Run make (I got an error here, but was able to test the driver and see an image despite the error)
  7. Run sudo ./fltest 0

This crashed the first time I ran it but worked when I re-ran it a second time. Running it a 3rd time, it hangs my system.

Rebooting with the device plugged into the USB port seems to help. It will work at first launch. However, during shutdown my system is unable to disconnect from it's built in RAMDrive and will hang, ctrl-alt-del will move it a few steps further, but then it hangs again forcing me to do a hard shutdown.


I'm not sure if fixing the error when running make in the sample directory make: /opt/hi3798/arm-hisiv200-linux/bin/arm-hisiv200-linux-gnueabi-gcc: Command not found would make this any more stable.

I googled and came across this thread saying I "need to add head file <sys/ioctl.h>" -- I didn't know how to do that so I followed the recommendation in this thread mentioning I should install some gcc packages:

sudo apt-get install gcc-arm-none-eabi gcc-arm-linux-gnueabi

After installing, make progressed further, but I am now getting a make: /opt/hi3798/arm-hisiv200-linux/bin/arm-hisiv20/opt/hi3798/arm-hisiv200-linux/bin/arm-hisiv200-linux-gnueabi-gcc: Command not found error.

Installing ia32-libs hasn't helped.


You should use Ubuntu 14 LTS instead of 16 LTS

This information is from https://github.com/fresco-fl2000/fl2000

On which kernel versions does this driver work?

This driver is tested on Ubuntu 14 LTS as well as some Android platforms with kernel version 3.10.x. This driver source might not compile on newer kernels (eg. 4.0 or above) because of the fast-moving API changes in the mainstream kernel. You might need to adapt it for your own use.