DisplayLink / evdi

Extensible Virtual Display Interface

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Failed to install evdi while installing displalink drivers

Haislich opened this issue · comments

  • Ubuntu 23.10
  • Linux 6.7.2-surface-1
  • Wayland
  • Gnome

Not really sure if this is a strictly kernel, evdi or displaylink problem.
I have a surface device and need a specific kernel version in order to make everything work.
While trying to install Displaylink I run into trubles installing evdi, in particular

ERROR (dkms apport): binary package for evdi: 1.14.1 not found
Error! Bad return status for module build on kernel: 6.7.2-surface-1 (x86_64)
Consult /var/lib/dkms/evdi/1.14.1/build/make.log for more information.
[[ Installing module configuration files ]]
[[ Installing EVDI library ]]
make: Entering directory '/tmp/tmp.XqjZHRRwiB/evdi/library'
cc -I../module -std=gnu99 -fPIC -D_FILE_OFFSET_BITS=64  $(pkg-config --cflags-only-I libdrm)   -c -o evdi_lib.o evdi_lib.c
cc evdi_lib.o -shared -Wl,-soname,libevdi.so.1 -o libevdi.so.1.14.1 -lc -lgcc 
cp libevdi.so.1.14.1 libevdi.so
ln -sf libevdi.so.1.14.1 libevdi.so.1

Here's the evdi log for reference.
The very same thing happended while trying to install from apt.

commented

The precise cause is:

/var/lib/dkms/evdi/1.14.1/build/evdi_fb.c: In function ‘evdifb_create’:
/var/lib/dkms/evdi/1.14.1/build/evdi_fb.c:421:23: error: ‘FBINFO_DEFAULT’ undeclared (first use in this function)
  421 |         info->flags = FBINFO_DEFAULT;
      |                       ^~~~~~~~~~~~~~

The symbol FBINFO_DEFAULT (that equates to 0) was removed from the kernel by commit b4f470aef449 with:

git describe --contains b4f470aef449
v6.6-rc1~97^2~254

$ git show b4f470aef449
commit b4f470aef4492315190bca1dadc693f2a52b0fad
Author: Thomas Zimmermann <tzimmermann@suse.de>
Date:   Sat Jul 15 20:51:53 2023 +0200

    media: Remove flag FBINFO_FLAG_DEFAULT from fbdev drivers
    
    The flag FBINFO_FLAG_DEFAULT is 0 and has no effect, as struct
    fbinfo.flags has been allocated to zero by kzalloc(). So do not
    set it.
    
    Flags should signal differences from the default values. After cleaning
    up all occurrences of FBINFO_DEFAULT, the token will be removed.
    
    v2:
            * fix commit message (Miguel)
    
    Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
    Acked-by: Sam Ravnborg <sam@ravnborg.org>
    Cc: Andy Walls <awalls@md.metrocast.net>
    Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
    Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Reviewed-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
commented

This was fixed in commit a38c5ff so you'll need the latest (v1.14.2) module source.

Works perfectly thanks.

Am I correct in saying that users of official package downloaded from displaylink website are out of luck right now, because it includes evdi 1.14.1?

@p91paul evdi 1.14.2 is provided through our APT server and Github. If you're referring to the stand-alone installer that contains both the driver and evdi, then yes, it contains older evdi that the driver came out with.