BARD - Beagle Android Remote Display. The goal of this project is to build an "One cable to rule them all" interface between Beagle and Android. Aiming at building a system where all the basic peripherals - keyboard, mouse and display, can be connected to BeagleBone by attaching it with a USB cable to Android phone. This will be implemented as a kernel module running on BeagleBoard and a ready to use out-of-box app for Android which may be downloaded from Playstore.
This is a tentative list of tools we intend to use for this project.
The communication between Android and Beagle we will be over USB. The protocol will be Android Open Accessory protocol. Beagleboard will be acting as an accessory that talks to Android using AOA.
Kernel ADK Host
ADK - Accessory Development Kit, needed for communication using AOA protocol. Beagle bone will be acting as an ADK host. Most of the existing implementations where Beagle bone acts as an ADK host are at user level. Some of them are: https://code.google.com/p/rowboat/wiki/AccessoryDevKit, https://gist.github.com/praveendath92/9641145. Since we are aiming at kernel level implementation we will writing our own kernel modules for Beagle bone as an ADK host.
http://libdlo.freedesktop.org/wiki/ is the original, fully functional, kernel framebuffer driver used by DisplayLink - the company that makes USB display modules. Essentially, udlfb has functions to fetch frames from https://www.kernel.org/doc/Documentation/fb/framebuffer.txt. The current plan is to modify or reuse parts of udlfb to obtain current display frames.