Beagleboard Sponsored Projects Program (Contest #3) Proposal

Most newer PCs have "dual head" support - independent control of two video displays. An extra screen can increase productivity at the cost of a little desk space and a second monitor. This has been the de facto configuration for financial analysts for years, and is becoming commonplace for software developers, graphic artists, and other knowledge workers.

Monitors are so inexpensive - what if you want more than two? Desktop PCs can accept multiple graphics cards, but it's not trivial to determine if you have an available slot, a compatible card, and sufficient power. If you're building a video wall good luck finding enough slots and having enough video cable slack.

There are a number of USB to VGA or DVI adapters that solve the slack issue and don't require opening the PC (they also work with laptops.) But they are simple frame buffers, requiring the main processor render graphics for each screen and then squeeze the changes down the 480 Mbps USB interface (even a low end video card has a bandwidth on the order of 10 Gbps.) That's why these devices are limited to slow-moving applications like word processors and spreadsheets. Plus there is limited Linux support.

If accepted, I propose to write an X11 driver that turns the Beagleboard into an accelerated USB-attached graphics card. It will receive power from the USB interface to the PC, and will output graphics to a DVI-D (or HDMI with adaptor) display. Rather than pass raw pixel information over the bus, the driver will send OpenGL commands to be received by the OMAP3530's ARM Cortex-A8 and processed by the integrated OpenGL engine.

Success will be achieved when, after installing suitable drivers, an XFree86 user can add some lines to their xorg.conf file and extend their virtual desktop to a Beagleboard-driven monitor. The display will keep up with a graphics-intensive applcation without significantly impacting main CPU's load.

This URL is a placeholder - if accepted, it will host a project blog.

Several follow-on efforts are possible: mapping the Beagleboard's audio interface as a second ALSA device, or supporting multiple accelerated displays under Windows, to name a few.