[ SOLVED ] Lost DisplayLink after kernel upgrade

I updated my system, and it installed the 5.14.0-687.12.1 kernel. Afterward, my DisplayLink driver would not load. I removed it and installed the latest RPM from GitHub (rocky-9-displaylink-1.14.16-1.github_evdi.x86_64.rpm) and tried to rebuild the driver, but it still fails. It was working before the update on an older version of the driver/kernel. Kernel headers are installed. Here is the dkms log -

`DKMS (dkms-3.4.1) make.log for evdi/1.14.16 for kernel 5.14.0-687.12.1.el9_8.x86_64 (x86_64) `
`Fri Jun 12 01:09:28 PM CDT 2026 `

`Building module(s) `
`# command: make -j4 KERNELRELEASE=5.14.0-687.12.1.el9_8.x86_64 all INCLUDEDIR=/lib/modules/5.14.0-687.12.1.el9_8.x86_64/build/include KVERSION=5.14.0-687.12.1.el9_8.x86_64 DKMS_BUILD=1 `
`make KBUILD_VERBOSE=1 M=/var/lib/dkms/evdi/1.14.16/build SUBDIRS=/var/lib/dkms/evdi/1.14.16/build SRCROOT=/var/lib/dkms/evdi/1.14.16/build CONFIG_MODULE_SIG= -C /lib/modules/5.14.0-687.12.1.el9_8.x86_64/bui`
`ld modules `
`make[1]: Entering directory '/usr/src/kernels/5.14.0-687.12.1.el9_8.x86_64' `
`test -e include/generated/autoconf.h -a -e include/config/auto.conf || (           \ `
`echo >&2;                                               \ `
`echo >&2 "  ERROR: Kernel configuration is invalid.";           \ `
`echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\ `
`echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it."; \ `
`echo >&2 ;                                              \ `
`/bin/false) `
`make -f ./scripts/Makefile.build obj=/var/lib/dkms/evdi/1.14.16/build \ `
`single-build= \ `
`need-builtin=1 need-modorder=1 `
` printf '%s\n'   evdi_platform_drv.o evdi_platform_dev.o evdi_sysfs.o evdi_modeset.o evdi_connector.o evdi_encoder.o evdi_drm_drv.o evdi_fb.o evdi_gem.o evdi_painter.o evdi_params.o evdi_cursor.o evdi_debu`
`g.o evdi_i2c.o evdi_ioc32.o | awk '!x[$0]++ { print("/var/lib/dkms/evdi/1.14.16/build/"$0) }' > /var/lib/dkms/evdi/1.14.16/build/evdi.mod `
` gcc -Wp,-MMD,/var/lib/dkms/evdi/1.14.16/build/.evdi_platform_drv.o.d -nostdinc -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uap`
`i -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wa`
`ll -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-securit`
`y -std=gnu11 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=gene`
`ric -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-`
`jump-tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-stor`
`e-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-stack-clash-protection -g -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY`
`-fno-inline-functions-called-once -falign-functions=16 -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds `
`-Wno-alloc-size-larger-than "-Wimplicit-fallthrough=5" -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-ali`
`gned -Iinclude/uapi/drm -Iinclude/drm -DEL9  -DMODULE  -DKBUILD_BASENAME='"evdi_platform_drv"' -DKBUILD_MODNAME='"evdi"' -D__KBUILD_MODNAME=kmod_evdi -c -o /var/lib/dkms/evdi/1.14.16/build/evdi_platform_drv`
`.o /var/lib/dkms/evdi/1.14.16/build/evdi_platform_drv.c   ; ./tools/objtool/objtool --hacks=jump_label --hacks=noinstr --hacks=skylake --orc --retpoline --rethunk --sls --static-call --uaccess --prefix=16  `
`--module /var/lib/dkms/evdi/1.14.16/build/evdi_platform_drv.o `
` gcc -Wp,-MMD,/var/lib/dkms/evdi/1.14.16/build/.evdi_platform_dev.o.d -nostdinc -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uap`
`i -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wa`
`ll -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-securit`
`y -std=gnu11 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=gene`
`ric -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-`
`jump-tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-stor`
`e-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-stack-clash-protection -g -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY`
`-fno-inline-functions-called-once -falign-functions=16 -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds `
`-Wno-alloc-size-larger-than "-Wimplicit-fallthrough=5" -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-ali`
`gned -Iinclude/uapi/drm -Iinclude/drm -DEL9  -DMODULE  -DKBUILD_BASENAME='"evdi_platform_dev"' -DKBUILD_MODNAME='"evdi"' -D__KBUILD_MODNAME=kmod_evdi -c -o /var/lib/dkms/evdi/1.14.16/build/evdi_platform_dev`
`.o /var/lib/dkms/evdi/1.14.16/build/evdi_platform_dev.c   ; ./tools/objtool/objtool --hacks=jump_label --hacks=noinstr --hacks=skylake --orc --retpoline --rethunk --sls --static-call --uaccess --prefix=16  `
`--module /var/lib/dkms/evdi/1.14.16/build/evdi_platform_dev.o `
` gcc -Wp,-MMD,/var/lib/dkms/evdi/1.14.16/build/.evdi_sysfs.o.d -nostdinc -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./i`
`nclude/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wun`
`def -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=`
`gnu11 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mn`
`o-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-ta`
`bles -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-`
`races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-stack-clash-protection -g -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -fno-i`
`nline-functions-called-once -falign-functions=16 -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds -Wno-al`
`loc-size-larger-than "-Wimplicit-fallthrough=5" -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -I`
`include/uapi/drm -Iinclude/drm -DEL9  -DMODULE  -DKBUILD_BASENAME='"evdi_sysfs"' -DKBUILD_MODNAME='"evdi"' -D__KBUILD_MODNAME=kmod_evdi -c -o /var/lib/dkms/evdi/1.14.16/build/evdi_sysfs.o /var/lib/dkms/evdi`
`/1.14.16/build/evdi_sysfs.c   ; ./tools/objtool/objtool --hacks=jump_label --hacks=noinstr --hacks=skylake --orc --retpoline --rethunk --sls --static-call --uaccess --prefix=16   --module /var/lib/dkms/evdi`
`/1.14.16/build/evdi_sysfs.o `
` gcc -Wp,-MMD,/var/lib/dkms/evdi/1.14.16/build/.evdi_modeset.o.d -nostdinc -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I.`
`/include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -W`
`undef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -st`
`d=gnu11 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -`
`mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-`
`tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-dat`
`a-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-stack-clash-protection -g -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -fno`
`-inline-functions-called-once -falign-functions=16 -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds -Wno-`
`alloc-size-larger-than "-Wimplicit-fallthrough=5" -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned `
`-Iinclude/uapi/drm -Iinclude/drm -DEL9  -DMODULE  -DKBUILD_BASENAME='"evdi_modeset"' -DKBUILD_MODNAME='"evdi"' -D__KBUILD_MODNAME=kmod_evdi -c -o /var/lib/dkms/evdi/1.14.16/build/evdi_modeset.o /var/lib/dkm`
`s/evdi/1.14.16/build/evdi_modeset.c   ; ./tools/objtool/objtool --hacks=jump_label --hacks=noinstr --hacks=skylake --orc --retpoline --rethunk --sls --static-call --uaccess --prefix=16   --module /var/lib/d`
`kms/evdi/1.14.16/build/evdi_modeset.o `
`  { echo ; echo '/var/lib/dkms/evdi/1.14.16/build/evdi_sysfs.o: $(wildcard ./tools/objtool/objtool)' ; } >> /var/lib/dkms/evdi/1.14.16/build/.evdi_sysfs.o.cmd `
` if nm /var/lib/dkms/evdi/1.14.16/build/evdi_sysfs.o 2>/dev/null | grep -q ' __export_symbol_'; then gcc -E -D__GENKSYMS__ -Wp,-MMD,/var/lib/dkms/evdi/1.14.16/build/.evdi_sysfs.o.d -nostdinc -I./arch/x86/i`
`nclude -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -incl`
`ude ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wc`
`har -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-`
`jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-`
`branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -`
`Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-set-va`
`riable -Wno-unused-const-variable -fno-stack-clash-protection -g -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -fno-inline-functions-called-once -falign-functions=16 -Wvla -Wno-pointer-sign -Wcast-function`
`-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds -Wno-alloc-size-larger-than "-Wimplicit-fallthrough=5" -fno-strict-overflow -fno-stack-check -f`
`conserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/uapi/drm -Iinclude/drm -DEL9  -DMODULE  -DKBUILD_BASENAME='"evdi_sysfs"' -DKBUIL`
`D_MODNAME='"evdi"' -D__KBUILD_MODNAME=kmod_evdi /var/lib/dkms/evdi/1.14.16/build/evdi_sysfs.c | scripts/genksyms/genksyms   -r /dev/null >> /var/lib/dkms/evdi/1.14.16/build/.evdi_sysfs.o.cmd; fi `
` gcc -Wp,-MMD,/var/lib/dkms/evdi/1.14.16/build/.evdi_connector.o.d -nostdinc -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -`
`I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall `
`-Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -`
`std=gnu11 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic`
`-mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jum`
`p-tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-d`
`ata-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-stack-clash-protection -g -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -f`
`no-inline-functions-called-once -falign-functions=16 -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds -Wn`
`o-alloc-size-larger-than "-Wimplicit-fallthrough=5" -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligne`
`d -Iinclude/uapi/drm -Iinclude/drm -DEL9  -DMODULE  -DKBUILD_BASENAME='"evdi_connector"' -DKBUILD_MODNAME='"evdi"' -D__KBUILD_MODNAME=kmod_evdi -c -o /var/lib/dkms/evdi/1.14.16/build/evdi_connector.o /var/l`
`ib/dkms/evdi/1.14.16/build/evdi_connector.c   ; ./tools/objtool/objtool --hacks=jump_label --hacks=noinstr --hacks=skylake --orc --retpoline --rethunk --sls --static-call --uaccess --prefix=16   --module /v`
`ar/lib/dkms/evdi/1.14.16/build/evdi_connector.o `
`/var/lib/dkms/evdi/1.14.16/build/evdi_modeset.c:501:22: error: initialization of ‘struct drm_framebuffer * (*)(struct drm_device *, struct drm_file *, const struct drm_format_info *, const struct drm_mode_f`
`b_cmd2 *)’ from incompatible pointer type ‘struct drm_framebuffer * (*)(struct drm_device *, struct drm_file *, const struct drm_mode_fb_cmd2 *)’ [-Werror=incompatible-pointer-types] `
` 501 |         .fb_create = evdi_fb_user_fb_create, `
`     |                      ^~~~~~~~~~~~~~~~~~~~~~ `
`/var/lib/dkms/evdi/1.14.16/build/evdi_modeset.c:501:22: note: (near initialization for ‘evdi_mode_funcs.fb_create’) `
`  { echo ; echo '/var/lib/dkms/evdi/1.14.16/build/evdi_platform_drv.o: $(wildcard ./tools/objtool/objtool)' ; } >> /var/lib/dkms/evdi/1.14.16/build/.evdi_platform_drv.o.cmd `
` if nm /var/lib/dkms/evdi/1.14.16/build/evdi_platform_drv.o 2>/dev/null | grep -q ' __export_symbol_'; then gcc -E -D__GENKSYMS__ -Wp,-MMD,/var/lib/dkms/evdi/1.14.16/build/.evdi_platform_drv.o.d -nostdinc `
`-I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-v`
`ersion.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-com`
`mon -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none`
`-m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tabl`
`es -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-po`
`inter-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unu`
`sed-but-set-variable -Wno-unused-const-variable -fno-stack-clash-protection -g -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -fno-inline-functions-called-once -falign-functions=16 -Wvla -Wno-pointer-sign -`
`Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds -Wno-alloc-size-larger-than "-Wimplicit-fallthrough=5" -fno-strict-overflow -fno-`
`stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/uapi/drm -Iinclude/drm -DEL9  -DMODULE  -DKBUILD_BASENAME='"evdi_p`
`latform_drv"' -DKBUILD_MODNAME='"evdi"' -D__KBUILD_MODNAME=kmod_evdi /var/lib/dkms/evdi/1.14.16/build/evdi_platform_drv.c | scripts/genksyms/genksyms   -r /dev/null >> /var/lib/dkms/evdi/1.14.16/build/.evdi`
`_platform_drv.o.cmd; fi `
` gcc -Wp,-MMD,/var/lib/dkms/evdi/1.14.16/build/.evdi_encoder.o.d -nostdinc -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I.`
`/include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -W`
`undef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -st`
`d=gnu11 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -`
`mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-`
`tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-dat`
`a-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-stack-clash-protection -g -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -fno`
`-inline-functions-called-once -falign-functions=16 -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds -Wno-`
`alloc-size-larger-than "-Wimplicit-fallthrough=5" -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned `
`-Iinclude/uapi/drm -Iinclude/drm -DEL9  -DMODULE  -DKBUILD_BASENAME='"evdi_encoder"' -DKBUILD_MODNAME='"evdi"' -D__KBUILD_MODNAME=kmod_evdi -c -o /var/lib/dkms/evdi/1.14.16/build/evdi_encoder.o /var/lib/dkm`
`s/evdi/1.14.16/build/evdi_encoder.c   ; ./tools/objtool/objtool --hacks=jump_label --hacks=noinstr --hacks=skylake --orc --retpoline --rethunk --sls --static-call --uaccess --prefix=16   --module /var/lib/d`
`kms/evdi/1.14.16/build/evdi_encoder.o `
`cc1: some warnings being treated as errors `
`make[2]: *** [scripts/Makefile.build:250: /var/lib/dkms/evdi/1.14.16/build/evdi_modeset.o] Error 1 `
`make[2]: *** Waiting for unfinished jobs.... `
`  { echo ; echo '/var/lib/dkms/evdi/1.14.16/build/evdi_platform_dev.o: $(wildcard ./tools/objtool/objtool)' ; } >> /var/lib/dkms/evdi/1.14.16/build/.evdi_platform_dev.o.cmd `
` if nm /var/lib/dkms/evdi/1.14.16/build/evdi_platform_dev.o 2>/dev/null | grep -q ' __export_symbol_'; then gcc -E -D__GENKSYMS__ -Wp,-MMD,/var/lib/dkms/evdi/1.14.16/build/.evdi_platform_dev.o.d -nostdinc `
`-I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-v`
`ersion.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-com`
`mon -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none`
`-m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tabl`
`es -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-po`
`inter-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unu`
`sed-but-set-variable -Wno-unused-const-variable -fno-stack-clash-protection -g -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -fno-inline-functions-called-once -falign-functions=16 -Wvla -Wno-pointer-sign -`
`Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds -Wno-alloc-size-larger-than "-Wimplicit-fallthrough=5" -fno-strict-overflow -fno-`
`stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/uapi/drm -Iinclude/drm -DEL9  -DMODULE  -DKBUILD_BASENAME='"evdi_p`
`latform_dev"' -DKBUILD_MODNAME='"evdi"' -D__KBUILD_MODNAME=kmod_evdi /var/lib/dkms/evdi/1.14.16/build/evdi_platform_dev.c | scripts/genksyms/genksyms   -r /dev/null >> /var/lib/dkms/evdi/1.14.16/build/.evdi`
`_platform_dev.o.cmd; fi `
`  { echo ; echo '/var/lib/dkms/evdi/1.14.16/build/evdi_encoder.o: $(wildcard ./tools/objtool/objtool)' ; } >> /var/lib/dkms/evdi/1.14.16/build/.evdi_encoder.o.cmd `
` if nm /var/lib/dkms/evdi/1.14.16/build/evdi_encoder.o 2>/dev/null | grep -q ' __export_symbol_'; then gcc -E -D__GENKSYMS__ -Wp,-MMD,/var/lib/dkms/evdi/1.14.16/build/.evdi_encoder.o.d -nostdinc -I./arch/x`
`86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -`
`include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshor`
`t-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -fal`
`ign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindir`
`ect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-chec`
`ks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-se`
`t-variable -Wno-unused-const-variable -fno-stack-clash-protection -g -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -fno-inline-functions-called-once -falign-functions=16 -Wvla -Wno-pointer-sign -Wcast-func`
`tion-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds -Wno-alloc-size-larger-than "-Wimplicit-fallthrough=5" -fno-strict-overflow -fno-stack-chec`
`k -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/uapi/drm -Iinclude/drm -DEL9  -DMODULE  -DKBUILD_BASENAME='"evdi_encoder"' -`
`DKBUILD_MODNAME='"evdi"' -D__KBUILD_MODNAME=kmod_evdi /var/lib/dkms/evdi/1.14.16/build/evdi_encoder.c | scripts/genksyms/genksyms   -r /dev/null >> /var/lib/dkms/evdi/1.14.16/build/.evdi_encoder.o.cmd; fi `
`  { echo ; echo '/var/lib/dkms/evdi/1.14.16/build/evdi_connector.o: $(wildcard ./tools/objtool/objtool)' ; } >> /var/lib/dkms/evdi/1.14.16/build/.evdi_connector.o.cmd `
` if nm /var/lib/dkms/evdi/1.14.16/build/evdi_connector.o 2>/dev/null | grep -q ' __export_symbol_'; then gcc -E -D__GENKSYMS__ -Wp,-MMD,/var/lib/dkms/evdi/1.14.16/build/.evdi_connector.o.d -nostdinc -I./ar`
`ch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version`
`.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -f`
`short-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 `
`-falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mi`
`ndirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-`
`checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-bu`
`t-set-variable -Wno-unused-const-variable -fno-stack-clash-protection -g -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -fno-inline-functions-called-once -falign-functions=16 -Wvla -Wno-pointer-sign -Wcast-`
`function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds -Wno-alloc-size-larger-than "-Wimplicit-fallthrough=5" -fno-strict-overflow -fno-stack-`
`check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/uapi/drm -Iinclude/drm -DEL9  -DMODULE  -DKBUILD_BASENAME='"evdi_connect`
`or"' -DKBUILD_MODNAME='"evdi"' -D__KBUILD_MODNAME=kmod_evdi /var/lib/dkms/evdi/1.14.16/build/evdi_connector.c | scripts/genksyms/genksyms   -r /dev/null >> /var/lib/dkms/evdi/1.14.16/build/.evdi_connector.o`
`.cmd; fi `
`make[1]: *** [Makefile:1968: /var/lib/dkms/evdi/1.14.16/build] Error 2 `
`make[1]: Leaving directory '/usr/src/kernels/5.14.0-687.12.1.el9_8.x86_64' `
`make: *** [Makefile:38: all] Error 2 `

`# exit code: 2 `
`# elapsed time: 00:00:02 `
`----------------------------------------------------------------`

To get it so I can have my displays again, I reverted to the previous kernel, 5.14.0-611.54.1
I reinstalled DisplayLink 1.14.16, and it works. So it’s an issue with the newer kernel. In the log above I see the error -

/var/lib/dkms/evdi/1.14.16/build/evdi_modeset.c:501:22: error: initialization of ‘struct drm_framebuffer * (*)(struct drm_device *, struct drm_file *, const struct drm_format_info *, const struct drm_mode_f`
`b_cmd2 *)’ from incompatible pointer type ‘struct drm_framebuffer * (*)(struct drm_device *, struct drm_file *, const struct drm_mode_fb_cmd2 *)’ [-Werror=incompatible-pointer-types] `
` 501 | .fb_create = evdi_fb_user_fb_create, `
` | ^~~~~~~~~~~~~~~~~~~~~~ `

I ended up fixing it. For anyone looking at this, I visited the DisplayLink GitHub and noticed that at the top, there was a very recent commit titled “Fix module build on EL 9.8 and 10.2.” When I looked at it, I adjusted the files evdi_drm_drv.h & evdi_fb.c, changing CENTOS to EL in the #define as was in the diff, rebuilt and reinstalled the module, and it worked. Hopefully, the next RPM build will have that fix.