Bug 1213767 - Displaylink/evide drivers do not compile on SLED15.5
Summary: Displaylink/evide drivers do not compile on SLED15.5
Status: NEW
Alias: None
Product: PUBLIC SUSE Linux Enterprise Desktop 15 SP5
Classification: openSUSE
Component: Kernel (show other bugs)
Version: unspecified
Hardware: Other SLED 15
: P5 - None : Normal
Target Milestone: ---
Assignee: Kernel Bugs
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-28 17:28 UTC by J L
Modified: 2023-07-30 08:24 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---
tiwai: needinfo? (registered)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description J L 2023-07-28 17:28:05 UTC
Running Suse SLED 15.5 as this was offered for download on purchase.

using most recent displaylink/evdi sources from displaylink.com this does not compile without error and a fix is not self-evident.

Typically modifying sources from https://github.com/displaylink-rpm/displaylink-rpm would work but not this time. Using available packages from OpenSUSE also does not work for SLED 15.5

Prior work around was because of dma-buf-map.h is now iosys-map in recent kernels

FIXING changes required in just one file evdi_gem.c

    rename dma-buf-map.h to iosys-map.h
    change dma_buf_map to iosys_map
    change DMA_BUF_MAP_INIT_VADDR to IOSYS_MAP_INIT_VADDR

On install from OpenSUSE repo's : https://software.opensuse.org/package/displaylink?search_term=DisplayLink

Problem: nothing provides 'libc.so.6(GLIBC_2.33)(64bit)' needed by the to be installed displaylink-5.7.0-11.1.x86_64
 Solution 1: do not install displaylink-5.7.0-11.1.x86_64
 Solution 2: break displaylink-5.7.0-11.1.x86_64 by ignoring some of its dependencies

Obviously when choosing 2 this has consequences.

attempting fix on evdi_gem.c which worked well on RHEL9.x for a somewhat older version.

    sed -i s/dma-buf-map.h/iosys-map.h/ evdi_gem.c  
    sed -i s/dma_buf_map/iosys_map/ evdi_gem.c  
    sed -i s/DMA_BUF_MAP_INIT_VADDR/IOSYS_MAP_INIT_VADDR/ evdi_gem.c
    make clean

/usr/src/evdi-1.13.1 # make
make -C /lib/modules/5.14.21-150500.55.7-default/build M=$PWD
make[1]: Entering directory '/usr/src/linux-5.14.21-150500.55.7-obj/x86_64/default'
  CC [M]  /usr/src/evdi-1.13.1/evdi_platform_drv.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_platform_dev.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_sysfs.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_modeset.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_connector.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_encoder.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_drm_drv.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_fb.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_gem.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_painter.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_params.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_cursor.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_debug.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_i2c.o
  CC [M]  /usr/src/evdi-1.13.1/evdi_ioc32.o
  LD [M]  /usr/src/evdi-1.13.1/evdi.o
  MODPOST /usr/src/evdi-1.13.1/Module.symvers
ERROR: modpost: module evdi uses symbol dma_buf_vunmap from namespace DMA_BUF, but does not import it.
ERROR: modpost: module evdi uses symbol dma_buf_begin_cpu_access from namespace DMA_BUF, but does not import it.
ERROR: modpost: module evdi uses symbol dma_buf_end_cpu_access from namespace DMA_BUF, but does not import it.
ERROR: modpost: module evdi uses symbol dma_buf_vmap from namespace DMA_BUF, but does not import it.
make[3]: *** [/usr/src/linux-5.14.21-150500.55.7/scripts/Makefile.modpost:140: /usr/src/evdi-1.13.1/Module.symvers] Error 1
make[3]: *** Deleting file '/usr/src/evdi-1.13.1/Module.symvers'
make[2]: *** [/usr/src/linux-5.14.21-150500.55.7/Makefile:1810: modules] Error 2
make[1]: *** [../../../linux-5.14.21-150500.55.7/Makefile:220: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-5.14.21-150500.55.7-obj/x86_64/default'
make: *** [Makefile:86: module] Error 2
Comment 1 Takashi Iwai 2023-07-30 08:24:32 UTC
Could you try evdi driver package for Leap 15.5 found in software.opensuse.org instead?