• Home
  • Help
  • Search
  • Login
  • Register
Pages: [1] 2 3 ... 5
Author Topic: DisplayLink integration?  (Read 41970 times)
larryk
Newbie
*

Karma: 0
Posts: 2


View Profile
« on: May 25, 2009, 03:45:52 PM »

Hi All,

Anyone integrate the DisplayLink driver?
driver site: http://freedesktop.org/wiki/Software/libdlo

DisplayLink site: http://www.displaylink.com/

DisplayLink enables a monitor to be driven via usb.
There are both DisplayLink converter boxes (to VGA etc) and full monitors that connect via usb using DisplayLink.

Thanks,

Larry
Logged

Rabeeh Khoury
Administrator
Full Member
*****

Karma: 5
Posts: 218


View Profile
« Reply #1 on: May 25, 2009, 10:45:46 PM »

I did the integration and it works.
Note that libdlo is a simple library for doing some operations, but not a framebuffer of Xorg driver.

Roberto De Iocia is doing the fbcon driver and have initial version posted on libdlo mailing list.
Logged

passive
Newbie
*

Karma: 0
Posts: 15


View Profile
« Reply #2 on: May 26, 2009, 12:04:17 AM »

Cool...

This is the first thing I thought about when I read about DisplayLink.
Logged

larryk
Newbie
*

Karma: 0
Posts: 2


View Profile
« Reply #3 on: May 26, 2009, 07:27:30 AM »

Thanks Rabeeh,

My ideas are to use PlugComputer:
1) As a status screen controller: Attach a display (via DisplayLink) and enable messages to be sent to the screen (RSS feeds, specific messages, etc).

2) As a digital picture frame (DPF) that can pull photos from many kinds of picture sources. While commercial DPFs are starting to use Linux SoC architecture, all of them are closed source at this point.

3) As a Chumby-style display. Run widgets on the PlugComputer that display on the screen. A design issue is that the Flash sw needs to be licensed in order to use it. An alternative would be to use just Javascript/HTML and Firefox or webkit.

Regards,

Larry
Logged

Rabeeh Khoury
Administrator
Full Member
*****

Karma: 5
Posts: 218


View Profile
« Reply #4 on: May 27, 2009, 06:09:26 AM »

MIMO monitor today have a version that is LCD only.
Next version will be LCD + touch + webcam + microphone.

Endless possibilities.

Digital signage, DPF, POS etc...
Logged

mike
Jr. Member
**

Karma: 2
Posts: 55


View Profile
« Reply #5 on: July 17, 2009, 06:57:07 AM »

Hi all,

Things are coming along...  I have the plug working with VNC and also I can export the X display back to my Linux laptop...

I've gotten all of the nasty keyboard mismatches out of the way.

I want to get the MIMO screen operational as my next step.

I downloaded the "all in one package for udlfb and display link at:  http://projects.unbit.it/downloads/udlfb-0.2.3_and_xf86-video-displaylink-0.3.tar.gz

I'm able to build the xf86-video-displaylink library... no issues there.

I'm getting hung up on udlfb though.  When I first tried to run make, I found that the /lib/modules/2.6.30-rc6/ build and source directories in my distribution were actually symbolic links pointing to a non-existent directory on my machine (actually pointing to someone named kelly's home  directory's build environment)....I tried to download the 2.6.30 source and mimic the way the symbolic links were set up for 'kelly', but when I ran make on udlfb, it complained and said it could not find the auto.conf files in the include directory and that I should try to run 'make oldconfig' and 'make prepare' on the distro to generate the required files.  I did so, but now the error I get is:

root@ubuntu:~/build/udlfb# make
make -C /lib/modules/`uname -r`/build SUBDIRS=/root/build/udlfb modules
make[1]: Entering directory `/root/src/Sheeva/SheevaPlug_LSP/Sources/linux-2.6.30-rc6'

  WARNING: Symbol version dump /root/src/Sheeva/SheevaPlug_LSP/Sources/linux-2.6.30-rc6/Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  /root/build/udlfb/udlfb.o
/root/build/udlfb/udlfb.c: In function ‘rvmalloc’:
/root/build/udlfb/udlfb.c:37: error: implicit declaration of function ‘vmalloc_32’
/root/build/udlfb/udlfb.c:37: warning: assignment makes pointer from integer without a cast
/root/build/udlfb/udlfb.c: In function ‘rvfree’:
/root/build/udlfb/udlfb.c:65: error: implicit declaration of function ‘vfree’
make[2]: *** [/root/build/udlfb/udlfb.o] Error 1
make[1]: *** [_module_/root/build/udlfb] Error 2
make[1]: Leaving directory `/root/src/Sheeva/SheevaPlug_LSP/Sources/linux-2.6.30-rc6'
make: *** [all] Error 2

I'm sure I misconfigured something along the way.... help is much appreciated :-)

Thanks all,
Mike
Logged

Rabeeh Khoury
Administrator
Full Member
*****

Karma: 5
Posts: 218


View Profile
« Reply #6 on: July 17, 2009, 12:04:04 PM »

mike,

please refer to my posting on libdlo mailing list on how to fix this -

http://lists.freedesktop.org/archives/libdlo/2009-June/000125.html

The build problem you simply need to add the linux/vmalloc.h include.

Besides that issue, in my case I had to force the 800x480 on my 710 resolution since I didn't have the edid enabled.

Roberto (original driver developer) has fixed this in the same thread -
http://lists.freedesktop.org/archives/libdlo/2009-June/000209.html

In general I suggest that you read the whole thread, although it's for the older 0.2 version but it's very informative.

In general - it works on a single USB connection, and the image on those monitors are crisp clear.

http://plugcomputer.org/plugforum/index.php?topic=379.0

I think a good use case for that would be digital signage, or in-house home automation and home communication stuff - a plug with a USB that goes to a monitor.
I just bought the 740 but hadn't had time playing with it - this one has touchscreen and internal webcam - think about the possibilities Smiley

Regards,
Rabeeh






Logged

mike
Jr. Member
**

Karma: 2
Posts: 55


View Profile
« Reply #7 on: July 17, 2009, 01:03:59 PM »

Hi Rabeeh,

I agree on your product ideas.  Sure seems like there are a ton of possibilities.  I'm excited to get the display up and running.  I made some progress based upon your advice.  I read through the thread, and I added in the include and forced the resolution.  Now I've got the object file being generated.  But there's an issue with modpost...  I don't seem to have it.  In searching the Internet for an answer, it seems I should be building it, but I'm having a tough time with that...

Here's the make output:

root@ubuntu:~/build/udlfb# make
make -C /lib/modules/`uname -r`/build SUBDIRS=/root/build/udlfb modules
make[1]: Entering directory `/root/src/Sheeva/SheevaPlug_LSP/Sources/linux-2.6.30-rc6'

  WARNING: Symbol version dump /root/src/Sheeva/SheevaPlug_LSP/Sources/linux-2.6.30-rc6/Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  /root/build/udlfb/udlfb.o
  Building modules, stage 2.
  MODPOST 1 modules
/bin/sh: scripts/mod/modpost: not found
make[2]: *** [__modpost] Error 127
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/root/src/Sheeva/SheevaPlug_LSP/Sources/linux-2.6.30-rc6'
make: *** [all] Error 2

Any ideas?

Sorry for all of the questions....  I'm hoping that the answers will help others as well.

Thanks again,
Mike
Logged

mike
Jr. Member
**

Karma: 2
Posts: 55


View Profile
« Reply #8 on: July 17, 2009, 01:52:28 PM »

Not sure if it is progress or just more issues...

But, saw in a post that I could run 'make scripts' from the linux source directory.  Did no, and that made modpost - with a couple of warnings per here: 

HOSTCC  scripts/mod/modpost.o
scripts/mod/modpost.c: In function ‘get_markers’:
scripts/mod/modpost.c:1534: warning: ignoring return value of ‘asprintf’, declared with attribute warn_unused_result
scripts/mod/modpost.c: In function ‘add_marker’:
scripts/mod/modpost.c:1954: warning: ignoring return value of ‘asprintf’, declared with attribute warn_unused_result

It did build the modpost executable though...

Then I ran 'make' on udlfb... got a bit further I believe. But hosed up per below... Any ideas?

Thanks,
Mike

root@ubuntu:~/build/udlfb# make
make -C /lib/modules/`uname -r`/build SUBDIRS=/root/build/udlfb modules
make[1]: Entering directory `/root/src/Sheeva/SheevaPlug_LSP/Sources/linux-2.6.30-rc6'

  WARNING: Symbol version dump /root/src/Sheeva/SheevaPlug_LSP/Sources/linux-2.6.30-rc6/Module.symvers
           is missing; modules will have no dependencies and modversions.

  Building modules, stage 2.
  MODPOST 1 modules
  CC      /root/build/udlfb/udlfb.mod.o
/root/build/udlfb/udlfb.mod.c:8: error: variable ‘__this_module’ has initializer but incomplete type
/root/build/udlfb/udlfb.mod.c:9: error: unknown field ‘name’ specified in initializer
/root/build/udlfb/udlfb.mod.c:9: warning: excess elements in struct initializer
/root/build/udlfb/udlfb.mod.c:9: warning: (near initialization for ‘__this_module’)
/root/build/udlfb/udlfb.mod.c:10: error: unknown field ‘init’ specified in initializer
/root/build/udlfb/udlfb.mod.c:10: warning: excess elements in struct initializer
/root/build/udlfb/udlfb.mod.c:10: warning: (near initialization for ‘__this_module’)
/root/build/udlfb/udlfb.mod.c:14: error: unknown field ‘arch’ specified in initializer
/root/build/udlfb/udlfb.mod.c:14: error: ‘MODULE_ARCH_INIT’ undeclared here (not in a function)
/root/build/udlfb/udlfb.mod.c:14: warning: excess elements in struct initializer
/root/build/udlfb/udlfb.mod.c:14: warning: (near initialization for ‘__this_module’)
make[2]: *** [/root/build/udlfb/udlfb.mod.o] Error 1
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/root/src/Sheeva/SheevaPlug_LSP/Sources/linux-2.6.30-rc6'
make: *** [all] Error 2
root@ubuntu:~/build/udlfb# ls
Makefile  modules.order  Module.symvers  README  udlfb.c  udlfb.h  udlfb.mod.c  udlfb.o
Logged

Rabeeh Khoury
Administrator
Full Member
*****

Karma: 5
Posts: 218


View Profile
« Reply #9 on: July 20, 2009, 12:19:54 AM »

i think easiest if you cross compile the kernel with it's modules, rather than native compiling them.
it's much more easier since the kernel sources and all it's dependencies are not part of the distro that you are using.

the steps for kernel 2.6.30.1 would be -
1. download kernel 2.6.30.1 from kernel.org
2. patch it with patches from - http://sheeva.with-linux.com/sheeva/index.php?dir=2.6.30.1%2F
3. copy the sheeva-2.6.30.1.config to the kernel's root directory, file .config
4. export ARCH=arm
5. export CROSS_COMPILE=arm-none-linux-gnueabi-
6. make menuconfig ; and then enable all the graphics and framebuffer stuff (including the modedb helper i sent you last week)
6. make uImage
7. make modules

Afterwards use that kernel sources as base for displaylink driver module.

Logged

mike
Jr. Member
**

Karma: 2
Posts: 55


View Profile
« Reply #10 on: July 20, 2009, 05:56:44 AM »

Rabeeh,

Thank you.  This is a great help.  I'll be working on this tonight...  I know I'm going to have a question surrounding the u-Boot parameters and getting the plug to boot the new image.  I have the plug working with the USB as the rootfs.  But, for some reason, I can't seem to get the unit to boot from the uImage file I have on that USB....  I'll get the image compiled and try it again and report my results.

Thanks again,
Mike
Logged

Rabeeh Khoury
Administrator
Full Member
*****

Karma: 5
Posts: 218


View Profile
« Reply #11 on: July 20, 2009, 06:25:10 AM »

mike.

I just played with it a bit more and created a uImage + corresponding modules.tar.gz.

I tried it with my mimo 710 and works ok.

You can put the uImage and the modules inside the installer directory of the sheevaplug installer and reburn the whole thing.

Use the attached xorg.conf as configuration for X-windows (after you install your preffered window manager - i used xfce).

* xorg.conf (0.89 KB - downloaded 392 times.)
Logged

Rabeeh Khoury
Administrator
Full Member
*****

Karma: 5
Posts: 218


View Profile
« Reply #12 on: July 20, 2009, 06:26:04 AM »

more files.

* uImage (2613.13 KB - downloaded 804 times.)
Logged

Rabeeh Khoury
Administrator
Full Member
*****

Karma: 5
Posts: 218


View Profile
« Reply #13 on: July 20, 2009, 06:26:53 AM »

more files.

* modules.tar.gz (3187.42 KB - downloaded 393 times.)
Logged

mike
Jr. Member
**

Karma: 2
Posts: 55


View Profile
« Reply #14 on: July 20, 2009, 03:33:53 PM »

Rabeeh,

Thanks for all of your help.  Before I give up and use the pre-compiled binaries, which you graciously provided, I'm trying to sort through building my own kernel using the cross-compiler.

I've downloaded 2.6.30.1, and I've applied the patches from - http://sheeva.with-linux.com/sheeva/index.php?dir=2.6.30.1%2F.

When I try to run 'make menuconfig', the cross-compiler complains that it can't find a bunch of headers. Output below.  What's the best way to include these header files?  They reside in /home/mike/plug/gcc/arm-none-linux-gnueabi/libc/usr/include/

and I am making the image from /home/mike/plug/linux-2.6.30.1


Thanks,
Mike

mike@mike-laptop:~/plug/linux-2.6.30.1$ make menuconfig
  HOSTCC  scripts/basic/fixdep
scripts/basic/fixdep.c:107:23: error: no include path in which to search for sys/types.h
scripts/basic/fixdep.c:108:22: error: no include path in which to search for sys/stat.h
scripts/basic/fixdep.c:109:22: error: no include path in which to search for sys/mman.h
scripts/basic/fixdep.c:110:20: error: no include path in which to search for unistd.h
scripts/basic/fixdep.c:111:19: error: no include path in which to search for fcntl.h
scripts/basic/fixdep.c:112:20: error: no include path in which to search for string.h
scripts/basic/fixdep.c:113:20: error: no include path in which to search for stdlib.h
scripts/basic/fixdep.c:114:19: error: no include path in which to search for stdio.h
scripts/basic/fixdep.c:115:20: error: no include path in which to search for limits.h
scripts/basic/fixdep.c:116:19: error: no include path in which to search for ctype.h
scripts/basic/fixdep.c:117:23: error: no include path in which to search for arpa/inet.h
scripts/basic/fixdep.c: In function 'usage':
scripts/basic/fixdep.c:131: warning: implicit declaration of function 'fprintf'
scripts/basic/fixdep.c:131: warning: incompatible implicit declaration of built-in function 'fprintf'
scripts/basic/fixdep.c:131: error: 'stderr' undeclared (first use in this function)
scripts/basic/fixdep.c:131: error: (Each undeclared identifier is reported only once
scripts/basic/fixdep.c:131: error: for each function it appears in.)
scripts/basic/fixdep.c:132: warning: implicit declaration of function 'exit'
scripts/basic/fixdep.c:132: warning: incompatible implicit declaration of built-in function 'exit'
scripts/basic/fixdep.c: In function 'print_cmdline':
scripts/basic/fixdep.c:140: warning: implicit declaration of function 'printf'
scripts/basic/fixdep.c:140: warning: incompatible implicit declaration of built-in function 'printf'
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:143: error: 'NULL' undeclared here (not in a function)
scripts/basic/fixdep.c: In function 'grow_config':
scripts/basic/fixdep.c:156: warning: implicit declaration of function 'realloc'
scripts/basic/fixdep.c:156: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:158: warning: implicit declaration of function 'perror'
scripts/basic/fixdep.c:158: warning: incompatible implicit declaration of built-in function 'exit'
scripts/basic/fixdep.c: In function 'is_defined_config':
scripts/basic/fixdep.c:174: warning: implicit declaration of function 'memcmp'
scripts/basic/fixdep.c: In function 'define_config':
scripts/basic/fixdep.c:187: warning: implicit declaration of function 'memcpy'
scripts/basic/fixdep.c:187: warning: incompatible implicit declaration of built-in function 'memcpy'
scripts/basic/fixdep.c: In function 'use_config':
scripts/basic/fixdep.c:206: error: 'PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:214: warning: incompatible implicit declaration of built-in function 'memcpy'
scripts/basic/fixdep.c:220: warning: implicit declaration of function 'tolower'
scripts/basic/fixdep.c:222: warning: incompatible implicit declaration of built-in function 'printf'
scripts/basic/fixdep.c:206: warning: unused variable 's'
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:225: error: expected declaration specifiers or '...' before 'size_t'
scripts/basic/fixdep.c: In function 'parse_config_file':
scripts/basic/fixdep.c:227: error: 'len' undeclared (first use in this function)
scripts/basic/fixdep.c:233: warning: implicit declaration of function 'ntohl'
scripts/basic/fixdep.c:244: warning: implicit declaration of function 'isalnum'
scripts/basic/fixdep.c: In function 'strrcmp':
scripts/basic/fixdep.c:261: warning: implicit declaration of function 'strlen'
scripts/basic/fixdep.c:261: warning: incompatible implicit declaration of built-in function 'strlen'
scripts/basic/fixdep.c: In function 'do_config_file':
scripts/basic/fixdep.c:272: error: storage size of 'st' isn't known
scripts/basic/fixdep.c:276: warning: implicit declaration of function 'open'
scripts/basic/fixdep.c:276: error: 'O_RDONLY' undeclared (first use in this function)
scripts/basic/fixdep.c:278: warning: incompatible implicit declaration of built-in function 'fprintf'
scripts/basic/fixdep.c:278: error: 'stderr' undeclared (first use in this function)
scripts/basic/fixdep.c:280: warning: incompatible implicit declaration of built-in function 'exit'
scripts/basic/fixdep.c:282: warning: implicit declaration of function 'fstat'
scripts/basic/fixdep.c:284: warning: implicit declaration of function 'close'
scripts/basic/fixdep.c:287: warning: implicit declaration of function 'mmap'
scripts/basic/fixdep.c:287: error: 'PROT_READ' undeclared (first use in this function)
scripts/basic/fixdep.c:287: error: 'MAP_PRIVATE' undeclared (first use in this function)
scripts/basic/fixdep.c:287: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:294: error: too many arguments to function 'parse_config_file'
scripts/basic/fixdep.c:296: warning: implicit declaration of function 'munmap'
scripts/basic/fixdep.c:272: warning: unused variable 'st'
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:301: error: expected declaration specifiers or '...' before 'size_t'
scripts/basic/fixdep.c: In function 'parse_dep_file':
scripts/basic/fixdep.c:304: error: 'len' undeclared (first use in this function)
scripts/basic/fixdep.c:306: error: 'PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:308: warning: implicit declaration of function 'strchr'
scripts/basic/fixdep.c:308: warning: incompatible implicit declaration of built-in function 'strchr'
scripts/basic/fixdep.c:310: warning: incompatible implicit declaration of built-in function 'fprintf'
scripts/basic/fixdep.c:310: error: 'stderr' undeclared (first use in this function)
scripts/basic/fixdep.c:311: warning: incompatible implicit declaration of built-in function 'exit'
scripts/basic/fixdep.c:313: warning: incompatible implicit declaration of built-in function 'memcpy'
scripts/basic/fixdep.c:314: warning: incompatible implicit declaration of built-in function 'printf'
scripts/basic/fixdep.c:306: warning: unused variable 's'
scripts/basic/fixdep.c: In function 'print_deps':
scripts/basic/fixdep.c:343: error: storage size of 'st' isn't known
scripts/basic/fixdep.c:347: error: 'O_RDONLY' undeclared (first use in this function)
scripts/basic/fixdep.c:349: warning: incompatible implicit declaration of built-in function 'fprintf'
scripts/basic/fixdep.c:349: error: 'stderr' undeclared (first use in this function)
scripts/basic/fixdep.c:351: warning: incompatible implicit declaration of built-in function 'exit'
scripts/basic/fixdep.c:355: warning: incompatible implicit declaration of built-in function 'fprintf'
scripts/basic/fixdep.c:359: error: 'PROT_READ' undeclared (first use in this function)
scripts/basic/fixdep.c:359: error: 'MAP_PRIVATE' undeclared (first use in this function)
scripts/basic/fixdep.c:359: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:366: error: too many arguments to function 'parse_dep_file'
scripts/basic/fixdep.c:343: warning: unused variable 'st'
scripts/basic/fixdep.c: In function 'traps':
scripts/basic/fixdep.c:378: warning: incompatible implicit declaration of built-in function 'fprintf'
scripts/basic/fixdep.c:378: error: 'stderr' undeclared (first use in this function)
scripts/basic/fixdep.c:380: warning: incompatible implicit declaration of built-in function 'exit'
make[1]: *** [scripts/basic/fixdep] Error 1
make: *** [scripts_basic] Error 2
Logged

Pages: [1] 2 3 ... 5
Print
Jump to: