Due to paucity of time and most importantly patience, the guide is written in 'Cut the crap out' style.
Before one proceeds ahead it is important that your system is updated and has latest updates installed.
sudo aptitude update
sudo aptitude upgrade
Once you have achieved this, it is time to get new kernel updates
cd ~/Desktop
mkdir new_kernel
cd new_kernel
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-lucid/linux-headers-2.6.34-020634_2.6.34-020634_all.deb
dpkg -i linux-headers-2.6.34-020634_2.6.34-020634_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-lucid/linux-headers-2.6.34-020634-generic_2.6.34-020634_i386.deb
dpkg -i linux-headers-2.6.34-020634-generic_2.6.34-020634_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-lucid/linux-image-2.6.34-020634-generic_2.6.34-020634_i386.deb
dpkg -i linux-image-2.6.34-020634-generic_2.6.34-020634_i386.deb
In next step we shall install dependencies and compile latest package from the git core
sudo apt-get -y install libusb-dev xorg-dev xserver-xorg-video-displaylink git-core
cd ~/Desktop
mkdir libdlo
cd libdlo
wget http://people.freedesktop.org/~berniet/libdlo-0.1.2.tar.gz
tar -xzpf libdlo-0.1.2.tar.gz
cd libdlo-0.1.2
./configure
sudo make install
Now is time to edit /etc/gdm/Init/Default file. Insert following lines of code in the file where the gdmwhich() function ends
XRANDR=`gdmwhich xrandr`
if [ "x$XRANDR" != "x" ] ; then
$XRANDR -o 0
fi
Now comes the most tricky and important step of rewriting your /etc/X11/xorg.conf file.
Most importantly backup your existing xorg.conf file so that you can recover from a crash
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.orig
Once this is achieved, I suggest that you replace contents from /etc/X11/xorg.conf file with this
Section "ServerLayout"
Identifier "touchscreen"
Screen 0 "DisplayLinkScreen" 0 0
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
ModulePath "/usr/local/lib/xorg/modules"
EndSection
Section "Device"
Identifier "DisplayLinkDevice"
Driver "displaylink"
Option "fbdev" "/dev/fb0
EndSection
Section "Monitor"
Identifier "DisplayLinkMonitor"
EndSection
Section "Screen"
Identifier "DisplayLinkScreen"
Device "DisplayLinkDevice"
Monitor "DisplayLinkMonitor"
SubSection "Display"
Depth 16
Modes "800x480"
EndSubSection
EndSection
Connect your monitor and reboot your PC. You should be able to see the GDM greeter on your usb display. If you have reached till here, you are doing fine. In case gdm crashes, it is most probably due to two reasons firstly junk characters pasted or wrong frame-buffer device path.
Presently /dev/fb0 works for me. If you suspect this change this to /dev/fb1. You can find the framebuffer devices installed by simply doing
ls /dev/fb*
.Assuming that you are on track till here. Drop to another virtual console. We shall revert back to our original file which we have backed up and backup the existing configuration
cd /etc/X11/
sudo mv xorg.conf xorg.conf.fingervu706
sudo cp xorg.conf.orig xorg.conf
sudo service gdm stop
sudo service gdm start
Now you shall have a black screen on your USB monitor and gnome desktop on VGA/DVI display
Following steps need a bit of trial and error and understanding of
xorg.conf
file directives. I am posting contents of three files. My original
xorg.conf.orig
fileFingerVU config file
xorg.conf.fingervu706
and lastly and most importantly, my working merged
xorg.conf
file merging directives from both the files abovexorg.conf.orig
############ Original Video Settings ###########
Section "Screen"
Identifier "Default Screen"
DefaultDepth 16
EndSection
Section "Module"
Load "glx"
EndSection
Section "Device"
Identifier "Default Device"
Driver "nvidia"
Option "NoLogo" "True"
EndSection
xorg.conf.fingervu706
Section "ServerLayout"
Identifier "touchscreen"
Screen 0 "DisplayLinkScreen" 0 0
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
ModulePath "/usr/local/lib/xorg/modules"
EndSection
Section "Device"
Identifier "DisplayLinkDevice"
Driver "displaylink"
Option "fbdev" "/dev/fb0
EndSection
Section "Monitor"
Identifier "DisplayLinkMonitor"
EndSection
Section "Screen"
Identifier "DisplayLinkScreen"
Device "DisplayLinkDevice"
Monitor "DisplayLinkMonitor"
SubSection "Display"
Depth 16
Modes "800x480"
EndSubSection
EndSection
Merged and working xorg.conf file
############ Original Video Settings ###########
Section "Screen"
Identifier "Default Screen"
DefaultDepth 16
EndSection
Section "Module"
Load "glx"
EndSection
Section "Device"
Identifier "Default Device"
Driver "nvidia"
Option "NoLogo" "True"
EndSection
################################################
Section "ServerLayout"
Identifier "DualDisplay"
Screen 0 "DisplayLinkScreen" 0 0
Screen 1 "Default Screen" LeftOf "DisplayLinkScreen"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
ModulePath "/usr/local/lib/xorg/modules"
EndSection
Section "Device"
Identifier "DisplayLinkDevice"
Driver "displaylink"
Option "fbdev" "/dev/fb0
EndSection
Section "Monitor"
Identifier "DisplayLinkMonitor"
EndSection
Section "Screen"
Identifier "DisplayLinkScreen"
Device "DisplayLinkDevice"
Monitor "DisplayLinkMonitor"
SubSection "Display"
Depth 16
Modes "800x480"
EndSubSection
EndSection
Some Pictures of my rig
References and Thanks to
http://karuppuswamy.com/wordpress/2010/07/19/how-to-get-lilliput-displaylink-based-usb-monitor-um-70-17e902a9-working-in-ubuntu-linux/
http://libdlo.freedesktop.org/wiki/
http://ubuntuforums.org/archive/index.php/t-1493143.html
http://mulchman.org/blog/?tag=displaylink
i spent toooo many hours with this screen already :(
ReplyDeletei see you have the white line at the bottom of the screen too... i managed to get the display to work without installing a new kernel - i just cloned the newest git repo of udlfb and compiled/installed it..
with kernel 2.6.35 there is no need for that (also the newest driver from github has even bigger problems putting the display to sleep)
i would like to send you links to my forum posts for this topic - although i had no luck at all, just baby steps forward..
i managed to get usbtouchscreen to grab the device and evtouch to initialise it without errors - i also managed to get lirc-imon to grab the device and set up a /dev/lirc0 device for lird
BUT there is no data coming through /dev/lirc0 nor /dev/input/event1,2,3
look out for xapient at ubuntuforums or ubuntuusers (i'll post the links but for now i'm trying not to be handled as spam ^^)
here are some links... maybe .. someday the screen will be a touchscreen as it supposed to be...
ReplyDeletehttp://forum.ubuntuusers.de/topic/fingervu-usb-touchscreen-alles-oke-in-den-log/
http://ubuntuforums.org/showthread.php?t=1543833
http://plugable.com/2010/03/14/update-on-displaylink-udlfb-in-2-6-34/comment-page-1/#comment-447