view · edit · print · history

USB2VGA adapters are capable of displaying up to 1280x1024@32bpp with good quality



  • sisusb.o - Kernel driver, a 2.4 kernel version of Thomas Winischhofer's driver
  • S71sisusb - Shell script to load the driver and create the necessary device
  • sisbit - Userland program to display images
  • test.ppm - Image in case you have nothing at hand

Attach the device after booting up.

My attempts to get a desktop system working are less successful so far. What I did get to work (after writing my own display and keyboard drivers) is the Nano-X/Microwindows system, which, however is rather limited.

Confirmed working adaptors

Have utilised above code in an experimental Digital Photo Frame project using a slug. Very early stages, but have slideshows kind of working.
Many thanks to Helmut Dersch!
Project site here: http://wiki.getthekettleon.co.uk//doku.php?id=slug:digiframeslug

SlugOS/Be 3.10 beta

I have built Thomas Winischhofer's sisusbvga driver for the 2.6 kernel in 3.10 beta and confirmed it as working using Helmut Dersch's sisbit utility referenced above. I have also applied a one-line patch to make the driver work with the adaptor I have.

The binary driver is available here: http://www.markshinn.co.uk/sisusbvga/sisudbvga.ko

To at least vaguely comply with the GPL, here is the patch I put on the vanilla kernel (

--- orig/drivers/usb/misc/sisusbvga/sisusb.c       2008-01-08 21:29:43.000000000 +0000
+++ new/drivers/usb/misc/sisusbvga/sisusb.c    2008-01-07 22:24:30.000000000 +0000
@@ -3475,6 +3475,7 @@

 static struct usb_device_id sisusb_table [] = {
        { USB_DEVICE(0x0711, 0x0900) },
+       { USB_DEVICE(0x0711, 0x0914) },
        { USB_DEVICE(0x182d, 0x021c) },
        { USB_DEVICE(0x182d, 0x0269) },
        { }

I copied the module into /lib/modules/2.6.16/kernel/drivers/usb/misc/sisusbvga/ and then called insmod on it. However I now have patches to modules.usbmap, modules.alias and modules.dep that allow the module to be autoloaded and have grepped what I believe are the required lines:

  # grep sisusbvga /lib/modules/2.6.16/modules.usbmap
  sisusbvga            0x0003      0x0711   0x0900    0x0000       0x0000       0x00         0x00            0x00            0x00            0x00               0x00
  sisusbvga            0x0003      0x0711   0x0914    0x0000       0x0000       0x00         0x00            0x00            0x00            0x00               0x00
  sisusbvga            0x0003      0x182d   0x021c    0x0000       0x0000       0x00         0x00            0x00            0x00            0x00               0x00
  sisusbvga            0x0003      0x182d   0x0269    0x0000       0x0000       0x00         0x00            0x00            0x00            0x00               0x00

  # grep sisusbvga /lib/modules/2.6.16/modules.alias
  alias usb:v0711p0900d*dc*dsc*dp*ic*isc*ip* sisusbvga
  alias usb:v0711p0914d*dc*dsc*dp*ic*isc*ip* sisusbvga
  alias usb:v182Dp021Cd*dc*dsc*dp*ic*isc*ip* sisusbvga
  alias usb:v182Dp0269d*dc*dsc*dp*ic*isc*ip* sisusbvga

  # grep sisusbvga /lib/modules/2.6.16/modules.dep

Mark Shinn

view · edit · print · history · Last edited by Cygfrydd Llewellyn.
Based on work by Mark Shinn, DougBarry, Forrest, endecotp, tbm, Phil Endecott, tman, and marceln.
Originally by tman.
Page last modified on May 12, 2009, at 03:11 PM