[Libdlo] Ubuntu 10.10 and Mimo UM-720S touchscreen

Andrew Simpson adpsimpson at gmail.com
Tue Dec 14 02:26:19 PST 2010


Hi all,
I've finally managed to get the Mimo UM-720S usb touchscreen working
correctly with a clean install of Ubuntu 10.10. Many thanks to Craig
whose tutorial and emails got me 95% of the way there.

The description below is a slightly updated version, with extra hints
and a few changes, of that given by Craig. I know the changes are
minor, but they still took a novice like me plenty long enough to
figure out so if it can save someone else a bit of time it'll be worth
having it all written down. Craig's original instructions are at
http://lists.freedesktop.org/archives/libdlo/2010-October/000772.html
and http://lists.freedesktop.org/archives/libdlo/2010-October/000773.html

Note that it is not only not necessary to disable kernel modeset, but
stops the integrated intel graphics from working. (this is really the
main change from Craig's post).

I'm using a Toshiba Portege R500 with integrated Intel 945GM graphics.

1. Install required packages using apt:
$ sudo apt-get install libusb-dev xorg-dev build-essential
xserver-xorg-video-displaylink git-core module-assistant

2. Download, build, install and activate new driver (the supplied one
apparently doesn't work well, I didn't try it)
$ sudo module-assistant prepare
$ git clone http://git.plugable.com/webdav/udlfb/
$ cd udlfb
$ make
$ sudo make install
$ sudo depmod -a

3. Create an xorg.conf file (by default not present in 10.10) and
paste in the example at the end of this message.
$ sudo nano /etc/X11/xorg.conf

AutoAddDevices must be false or else X may crash on startup. Hence it
necessary to manually specify keyboard and mice.
The screen is detected as a 4" device, so the displaysize is set to
avoid huge fonts.

In the example file below, you may need to modify:
a. "Keyboard0" input device (listed as /dev/input/event3)
b. "touchscreen" input device (listed as /dev/input/event6)
    for both of these, check the output of "ls -al /dev/input/by-path"
c. "DisplayLinkDevice"  framebuffer number (listed as /dev/fb0)
   check the output of "ls -l /dev/fb*" and try each listed

Other notes: the displaylink screen must be listed before the default
screen in the serverlayout, and depth of all monitors must be set to
16 bit.

4. Fix gdm login screen problem
$ sudo nano /etc/gdm/Init/Default

# add the following lines after gdmwhich function, probably at line 31
XRANDR=`gdmwhich xrandr`
if [ "x$XRANDR" != "x" ] ; then
  $XRANDR -o 0
fi

5. Reboot.


Comments:

- Gnome worked fine without modification for me, although the compiz
effects are disabled. I don't know if they were enabled before I
started or not.
- Also z-axis scrolling at the right hand side of the laptop's
touchpad isn't working.
- Calibration of the touchscreen is a bit out, but should be easy to
fix using lines like the following in the "touchscreen" section of
xorg.conf:
	Option	"MinX"		"82"
	Option	"MinY"		"3900"
	Option	"MaxX"		"3960"
	Option	"MaxY"		"195"
- The touch screen seems a bit weird (occasionally puts the cursor on
the wrong screen, and sometimes clicks in the wrong place immediately
before clicking in the correct place) but I've not worked out if
that's a driver or hardware problem.
- Some (all?) icons in the notification area have white background
instead of transparent. Might be an issue with 16 bit colour?

Finally, this configuration doesn't work if you boot with the mimo
screen not plugged in. X fails to start and drops to a terminal.
Simple delete (with a backup) /etc/X11/xorg.conf and restart gdm:
$ sudo mv /etc/X11/xorg.conf ~
$ sudo service gdm restart
Next time you boot with the screen plugged in, the laptop screen will
work but the mimo will display green. Do the reverse of the above to
get the file back:
$ sudo cp ~/xorg.conf /etc/X11/
$ sudo service gdm restart


Example xorg.conf file:


Section "ServerLayout"
	Identifier     "X.org Configured"
        Screen         0  "DisplayLinkScreen" 0 0
	Screen         1  "Screen0" LeftOf "DisplayLinkScreen"
	InputDevice    "touchscreen" "CorePointer"
	InputDevice    "Mouse0"
	InputDevice    "Keyboard0" "CoreKeyboard"
        Option         "Xinerama" "On"
EndSection

Section "Files"
	ModulePath   "/usr/lib/xorg/modules"
	FontPath     "/usr/share/fonts/X11/misc"
	FontPath     "/usr/share/fonts/X11/cyrillic"
	FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
	FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
	FontPath     "/usr/share/fonts/X11/Type1"
	FontPath     "/usr/share/fonts/X11/100dpi"
	FontPath     "/usr/share/fonts/X11/75dpi"
	FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
	FontPath     "built-ins"
EndSection

Section "Module"
	Load  "glx"
	Load  "extmod"
	Load  "record"
	Load  "dri2"
	Load  "dri"
	Load  "dbe"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
        Driver      "evdev"
        Option      "Device" "/dev/input/event3"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "InputDevice"
	Identifier "touchscreen"
	Driver "evdev"
	Option "Device" "/dev/input/event6"
	Option "DeviceName" "touchscreen"
	Option "ReportingMode"  "Raw"
	Option "SendCoreEvents" "On"
	Option "Calibrate" "1"
	Option "InvertY" "true"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

Section "Device"
	Identifier  "Card0"
        Driver      "intel"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
        DefaultDepth    16
EndSection

Section "ServerFlags"
	Option "AutoAddDevices" "False"
	Option "AllowEmptyInput" "False"
EndSection

Section "Device"
	Identifier  "DisplayLinkDevice"
	Driver      "displaylink"
	Option      "fbdev" "/dev/fb0"
EndSection

Section "Monitor"
	Identifier  "DisplayLinkMonitor"
	DisplaySize  190 115
EndSection

Section "Screen"
	Identifier  "DisplayLinkScreen"
	Device      "DisplayLinkDevice"
	Monitor     "DisplayLinkMonitor"
EndSection


More information about the Libdlo mailing list