• Home
  • Help
  • Search
  • Login
  • Register
Pages: 1 ... 3 4 [5]
Author Topic: DisplayLink integration?  (Read 54090 times)

Karma: 1
Posts: 40

View Profile
« Reply #60 on: February 21, 2010, 05:38:37 PM »

Hi folks,

I got an 'imo pivot touch' monitor working (eventually) on my sheevaplug.

Here's my steps:

1) kernel module: This piece needed compiling. the EDID on mine was also 0x0, which messed with xwindows. There may be an X or hald setting to ignore that, but I was already using a custom kernel, so the driver wasn't a big deal. If someone finds a workaround for this (HALD config?) then you can just use the stock kernel module.

I used the 'udlfb' module, and pretty much did exactly what an earlier post suggested:

dmesg output:
DisplayLink device attached
ret control msg 0: 4 1500f0
INIT VIDEO 0 800 480
ret control msg 1 (STD_CHANNEL): 16
ret bulk 2: 156 156
ret bulk 3: 0
found valid mode...0
screen base allocated !!!
colormap allocated

2) X config. Several things going on here:
Video: I had the same problem as a previous poster, that the fonts were way too big. the DPI was off. To correct it, i looked up the size of the monitor's viewable area: 155mm x 93mm. I put those values in and it worked.

I don't remember if i had to install the displaylink driver, now that i think of it. I may have compiled it. At any rate that's what i used

if i did, this was the one i used:
wget http://projects.unbit.it/downloads/udlfb-0.2.3_and_xf86-video-displaylink-0.3.tar.gz
tar xvf udlfb-0.2.3_and_xf86-video-displaylink-0.3.tar.gz
cd xf86-video-displaylink/
make install
If it complains about missing X packages, install xorg-dev (you can uninstall it after)

full xorg config at the end of the post

I installed the 'evtouch' driver for the touchscreen ( apt-get install xserver-xorg-input-evtouch )
But it didn't work, and kept saying 'couldn't grab device'. Turns out the synaptics driver had it and didn't let go. Rather than fight it, i just removed that driver ( apt-get remove xserver-xorg-input-synaptics )

The calibration wouldn't work at all, no matter what i tried. Kept complaining about a missing font. ( '*freemono*' i think it was ). However, the touchscreen seemed to be working ok, except that the X axis was mirrored, eg touching the left-side middle would move the pointer to the right-side middle.

I tried all sorts of X configurations, but nothing worked, eventually i found that the HALD cfg file was overriding everything. The driver claims to support a  a 'SwapX' command, but i never did get that to work. I ended up just swapping x-min and x-max. Here is my final configuration:

swapped xmin and xmax
file contents:
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
    <match key="info.product" contains="eGalax">
      <match key="info.capabilities" contains="input">
        <merge key="input.x11_driver" type="string">evtouch</merge>
        <merge key="input.x11_options.minx" type="string">3945</merge>
        <merge key="input.x11_options.miny" type="string">197</merge>
        <merge key="input.x11_options.maxx" type="string">130</merge>
        <merge key="input.x11_options.maxy" type="string">3894</merge>
        <merge key="input.x11_options.taptimer" type="string">30</merge>
        <merge key="input.x11_options.longtouchtimer" type="string">750</merge>
        <merge key="input.x11_options.longtouched_action" type="string">click</merge>
        <merge key="input.x11_options.longtouched_button" type="string">3</merge>
        <merge key="input.x11_options.oneandhalftap_button" type="string">2</merge>
        <merge key="input.x11_options.movelimit" type="string">10</merge>
        <merge key="input.x11_options.touched_drag" type="string">1</merge>
        <merge key="input.x11_options.maybetapped_action" type="string">click</merge>
        <merge key="input.x11_options.maybetapped_button" type="string">1</merge>
be sure to restart hald after making the change

My full X config:
Section "Files"
        ModulePath      "/usr/lib/xorg/modules"
        ModulePath      "/usr/local/lib/xorg/modules"

Section "ServerLayout"
        Identifier      "Server Layout"
        Screen  0       "DisplayLinkScreen"

Section "Device"
        Identifier      "DisplayLinkDevice"
        driver          "displaylink"
        Option  "fbdev" "/dev/fb0"

Section "InputDevice"
        Identifier      "touchscreen"
        Driver  "evtouch"
        ## not sure these even do anything
        Option  "ReportingMode" "Raw"
        Option  "Emulate3Buttons"
        Option  "Emulate3Timeout"       "50"
        Option  "SendCoreEvents"  "On"

Section "Monitor"
        Identifier      "DisplayLinkMonitor"
        DisplaySize  155 93

Section "Screen"
        Identifier      "DisplayLinkScreen"
Device          "DisplayLinkDevice"
        Monitor         "DisplayLinkMonitor"
        SubSection "Display"
                Depth   24
Modes   "800x480"

cheers, hope this helps someone


Karma: 0
Posts: 7

View Profile
« Reply #61 on: March 31, 2010, 01:06:52 PM »

Looking at /var/log/Xorg.0.log, I could see the following information:

(II) Module dri2: vendor="X.Org Foundation"                                     
        compiled for 1.7.4, module version = 1.1.0                             
        ABI class: X.Org Server Extension, version 2.0                         
(II) Loading extension DRI2                                                     
(II) LoadModule: "displaylink"                                                 
(II) Loading /usr/lib/xorg/modules/drivers/displaylink_drv.so                   
(II) Module displaylink: vendor="X.Org Foundation"                             
        compiled for 1.6.0, module version = 0.0.1                             
        ABI class: X.Org Video Driver, version 5.0                             
(EE) module ABI major version (5) doesn't match the server's version (6)   

I think your bigger problem is that the displaylink driver you're trying to load is compiled for Xorg 1.6, whereas it looks like you're running 1.7.4.

I would install xorg-dev packages, and build the xf86 displaylink driver as described on the blog you linked to. However, against Xorg 1.7, you'll need to apply the attached patch to the source code to make it compile against Xorg 1.7

Hope this helps.


* xf86-displaylink-xorg17.patch (0.72 KB - downloaded 292 times.)


Karma: 0
Posts: 16

View Profile
« Reply #62 on: April 15, 2010, 11:43:18 AM »

Hi all,

I urgraded my kernel to and now I'm having problems to get udlfb to work with my samsung u70.

here is dmesg output

DisplayLink device attached
usbcore: registered new interface driver usblp
ret control msg 0: 4 0500f0
uvcvideo: Found UVC 1.00 device Philips SPC 1030NC Webcam (0471:2036)
INIT VIDEO 0 800 480
INIT VIDEO 1 1024 768
INIT VIDEO 2 1280 1024
ret control msg 1 (STD_CHANNEL): 16

here is fbset output

mode "1280x1024"
    geometry 1280 1024 0 0 16
    timings 0 0 0 0 0 0 0
    rgba 5/11,6/5,5/0,0/0

how do I say to udlfb to use 800x480 rather then stay on 1280x1024-

I tried "  fbset 800x480-62 " or fbset -g 800 480 800 480 16 but still having 1280x1024.

can someone please help me to get this working again?

Also, how do I determine which parameters can be set to udlfb?
example: modprobe udlfb info gives me udlfb: Unknown parameter `info' .
there should be a trick to view all possible parameters in a module or am I wrong?

edit: " modinfo -p udlfb " do not give any output, so I am wondering how to set the videomode
« Last Edit: April 15, 2010, 11:54:19 AM by jakblak » Logged


Karma: 0
Posts: 16

View Profile
« Reply #63 on: April 16, 2010, 03:25:32 AM »

gentlemen, I got it working again. I used the latest snapshot from here, compiled the kernel module and installed :

now my U70 is working again.

thanks to the developers.

also DPMS is now available Wink
« Last Edit: April 16, 2010, 06:13:52 AM by jakblak » Logged

Pages: 1 ... 3 4 [5]
Jump to: