DisplayLink

Questions about applications and software
Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Locked
auliano18

DisplayLink

Post by auliano18 »

Hi I'm a real newb when it comes to Linux Mint. I have been trying to install this DisplayLink USB external video adapter to get dual extended monitors connected to my laptop (since the laptop screen is broken) but I am having difficulty. I have the "drivers" in a file that I got from the internet (I also have the same file that came with the product) and I tried to go into the terminal and go into the directory that the files are located. Everything I have found online seems like it wants me to go into the udlfb file that is created after I extract the .tar file and create a "make" file and then do a "sudo make install" of that file. I have followed instructions on this site http://mulchman.org/blog/?p=90. But I get a problem once I get to the part where I have to "build the latest udflb" I get the following readout:

anthony@Anthony ~/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/udlfb $ make
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/anthony/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/udlfb modules
make[1]: Entering directory `/usr/src/linux-headers-3.11.0-12-generic'
CC [M] /home/anthony/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/udlfb/udlfb.o
/home/anthony/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/udlfb/udlfb.c: In function ‘dlfb_mmap’:
/home/anthony/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/udlfb/udlfb.c:95:19: error: ‘VM_RESERVED’ undeclared (first use in this function)
vma->vm_flags |= VM_RESERVED; /* avoid to swap out this VMA */
^
/home/anthony/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/udlfb/udlfb.c:95:19: note: each undeclared identifier is reported only once for each function it appears in
/home/anthony/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/udlfb/udlfb.c: In function ‘dlfb_init’:
/home/anthony/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/udlfb/udlfb.c:914:3: error: implicit declaration of function ‘err’ [-Werror=implicit-function-declaration]
err("usb_register failed. Error number %d", res);
^
cc1: some warnings being treated as errors
make[2]: *** [/home/anthony/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/udlfb/udlfb.o] Error 1
make[1]: *** [_module_/home/anthony/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/udlfb] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.11.0-12-generic'
make: *** [all] Error 2
anthony@Anthony ~/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/udlfb $


Also when I attempt to "compile the driver" I change the directory to xf86-video-displaylink but when I hit "configure && make" I get an error with this readout:

anthony@Anthony ~/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/xf86-video-displaylink $ ./configure && make
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking if RANDR is defined... yes
checking if RENDER is defined... yes
checking if XV is defined... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for XORG... yes
checking whether xf86ConfigIsaEntity is declared... no
checking for ANSI C header files... (cached) yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
make all-recursive
make[1]: Entering directory `/home/anthony/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/xf86-video-displaylink'
Making all in src
make[2]: Entering directory `/home/anthony/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/xf86-video-displaylink/src'
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -fvisibility=hidden -pthread -I/usr/include/pixman-1 -I/usr/include/mirclient -I/usr/include/libdrm -I/usr/include/mircommon -I/usr/include/xorg -I/usr/include/X11/dri -g -O2 -MT displaylink.lo -MD -MP -MF .deps/displaylink.Tpo -c -o displaylink.lo displaylink.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -fvisibility=hidden -pthread -I/usr/include/pixman-1 -I/usr/include/mirclient -I/usr/include/libdrm -I/usr/include/mircommon -I/usr/include/xorg -I/usr/include/X11/dri -g -O2 -MT displaylink.lo -MD -MP -MF .deps/displaylink.Tpo -c displaylink.c -fPIC -DPIC -o .libs/displaylink.o
displaylink.c:42:22: fatal error: mibstore.h: No such file or directory
#include "mibstore.h"
^
compilation terminated.
make[2]: *** [displaylink.lo] Error 1
make[2]: Leaving directory `/home/anthony/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/xf86-video-displaylink/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/anthony/Desktop/udlfb-0.2.3_and_xf86-video-displaylink-0.3/xf86-video-displaylink'
make: *** [all] Error 2



Any help greatly appreciated. I really don't want to switch back to windows to get dual monitors (I checked on my sisters computer and it worked) and I don't want to waste this 50$ and spend another 50$ on a different external video card.
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
TallonAM

Re: DisplayLink

Post by TallonAM »

I am currently helping a friend work out this very issue. I will be posting here for those that find this listing and need the same help.
Some of this is going to get a little technical because it requires adjusting source code for the drivers and other files.

first things first: mibstore.h is deprecated. It had been include for a while as an empty file for backward compatability, but now it's just gone.
src: https://bugs.freedesktop.org/show_bug.cgi?id=57303

In the xf86-video-displaylink folder, you need to open the displaylink.c file and remove the line that says "#include mibstore.h"
then run make the driver again.

now you'll get an error that "xf86Resources.h" is not found. This should be in the udlfb module. checking around I found this post:
http://mulchman.wordpress.com/2010/03/0 ... 10-32-bit/

This mentioned using git to load the newest uldfb version. That's all well and good, but when compiling that, I'm finding it returns an error for an undeclared variable "VM_RESERVED"

according to patch notes, Linus killed this variable in the kernel. https://git.kernel.org/cgit/linux/kerne ... 8495535a25

I'm currently tracking down how to adjust the use of this variable and where it is used in the uldfb module.
updates as they come, but I thought I would see if anyone else had thoughts to help here.
Mark Phelps
Level 7
Level 7
Posts: 1869
Joined: Mon Jun 10, 2013 4:39 pm

Re: DisplayLink

Post by Mark Phelps »

First thing you would need to do is determine what version is the device. That's because the newer devices will not work with Linux, period.

Couple of references for you to consider: http://www.displaylink.com/for-business ... stions.php and http://en.wikipedia.org/wiki/DisplayLink For this last link, read the section Criticism.
Locked

Return to “Software & Applications”