using a mimo um-710 on linux (displaylink) with udlfb driver

By thomas, 17 August, 2009
We've had this dream for some time of having a display that we can control from our desktops but mounted in the hallway. The idea would be to use the sign in place of post-it notes or some other sort of messageboard arrangement. We've tried the Kodak EX811 in the past with limited success, we used mediatomb to control the kodak, but wheneverthe wireless network had problems or the kodak got confused, it would just go to a blank screen, hardly useful.

In walks the mimo, it's a usb connected display, we found drivers for it here. You can extend your X desktop onto the screen using the supplied drivers, but we only wanted to display one image at a time on the screen. We opted to use a combination of tools to just cat data directly to the framebuffer device, and yes this incredibly silly arrangement actually works. Here is the script we are using, we hope to replace this with something compiled later. #!/bin/sh SIZE='800x480!' RESIZED=`mktemp -u /tmp/XXXXXXXX`.png CONVERTED=`mktemp /tmp/XXXXXXXX` if [ xxx${FRAMEBUFFER}xxx == 'xxxxxx' ]; then FRAMEBUFFER=/dev/fb0 fi CURRENT=/var/www/lighttpd/assets/current.jpg while [ 1 ] do convert -resize $SIZE $CURRENT $RESIZED mkdfiff -f RGB16 $RESIZED > $CONVERTED dd if=$CONVERTED of=$FRAMEBUFFER bs=1 skip=24 sleep 30 done Hopefully useful to someone else out there....

Here is our (Ben Rose and I) first attempt at a C version of the above... framebugger.tar.bz2

/* read color value from pixel (left->right, up-> down) then convert * from RGB32 to RGB16 using code from directfb */ for (j = 0; j gdImageSY(gdPtr); j++) { for (i = 0; i gdImageSX(gdPtr); i++) { c = RGB32_TO_RGB16(gdImageGetPixel(gdPtr, i, j)); fwrite(&c,2,1,fbout); } }