Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package evdi for openSUSE:Factory checked in at 2026-01-06 17:46:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/evdi (Old) and /work/SRC/openSUSE:Factory/.evdi.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "evdi" Tue Jan 6 17:46:23 2026 rev:14 rq:1325597 version:1.14.12 Changes: -------- --- /work/SRC/openSUSE:Factory/evdi/evdi.changes 2025-12-10 15:31:35.648943634 +0100 +++ /work/SRC/openSUSE:Factory/.evdi.new.1928/evdi.changes 2026-01-06 17:47:37.789143731 +0100 @@ -1,0 +2,18 @@ +Tue Jan 6 12:25:49 UTC 2026 - Stefan Dirsch <[email protected]> + +- Update to version 1.14.12 + * Fix artifacts on Intel Meteor Lake and newer processors with integrated graphics. + * Preliminary support for kernel 6.19. + * Support for kernel 6.18. + * Fix EDID handling when size does not match the field. + * Fix building for RHEL 9 and 10 kernels. + * Fix "Failed to map scanout buffer" error. +- adjusted buildfix.patch +- superseded the following patches: + * 0001-Support-Linux-v6.18-No-need-to-lock-in-drm_gem_looku.patch + * 0002-Support-Linux-v6.18-Lock-on-dev-struct_mutex-unneces.patch + * 0003-Support-Linux-v6.18-Remove-lock-on-device-struct_mut.patch + * 0004-fix-README-Outdated-link-to-AUR-package.patch + * 0005-Fix-building-on-EL-10-kernels.patch + +------------------------------------------------------------------- Old: ---- 0001-Support-Linux-v6.18-No-need-to-lock-in-drm_gem_looku.patch 0002-Support-Linux-v6.18-Lock-on-dev-struct_mutex-unneces.patch 0003-Support-Linux-v6.18-Remove-lock-on-device-struct_mut.patch 0004-fix-README-Outdated-link-to-AUR-package.patch 0005-Fix-building-on-EL-10-kernels.patch evdi-1.14.11.tar.gz New: ---- evdi-1.14.12.tar.gz ----------(Old B)---------- Old:- superseded the following patches: * 0001-Support-Linux-v6.18-No-need-to-lock-in-drm_gem_looku.patch * 0002-Support-Linux-v6.18-Lock-on-dev-struct_mutex-unneces.patch Old: * 0001-Support-Linux-v6.18-No-need-to-lock-in-drm_gem_looku.patch * 0002-Support-Linux-v6.18-Lock-on-dev-struct_mutex-unneces.patch * 0003-Support-Linux-v6.18-Remove-lock-on-device-struct_mut.patch Old: * 0002-Support-Linux-v6.18-Lock-on-dev-struct_mutex-unneces.patch * 0003-Support-Linux-v6.18-Remove-lock-on-device-struct_mut.patch * 0004-fix-README-Outdated-link-to-AUR-package.patch Old: * 0003-Support-Linux-v6.18-Remove-lock-on-device-struct_mut.patch * 0004-fix-README-Outdated-link-to-AUR-package.patch * 0005-Fix-building-on-EL-10-kernels.patch Old: * 0004-fix-README-Outdated-link-to-AUR-package.patch * 0005-Fix-building-on-EL-10-kernels.patch ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ evdi.spec ++++++ --- /var/tmp/diff_new_pack.GHzswB/_old 2026-01-06 17:47:38.337166276 +0100 +++ /var/tmp/diff_new_pack.GHzswB/_new 2026-01-06 17:47:38.337166276 +0100 @@ -1,7 +1,7 @@ # # spec file for package evdi # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,7 +21,7 @@ Name: evdi Release: 0 -Version: 1.14.11 +Version: 1.14.12 Summary: Extensible Virtual Display Interface (EVDI) is a Linux Kernel Module License: GPL-2.0-only AND LGPL-2.1-only Group: System/Kernel @@ -30,11 +30,6 @@ Source1: evdi-kmp-preamble Source2: evdi-rpmlintrc Patch0: buildfix.patch -Patch1: 0001-Support-Linux-v6.18-No-need-to-lock-in-drm_gem_looku.patch -Patch2: 0002-Support-Linux-v6.18-Lock-on-dev-struct_mutex-unneces.patch -Patch3: 0003-Support-Linux-v6.18-Remove-lock-on-device-struct_mut.patch -Patch4: 0004-fix-README-Outdated-link-to-AUR-package.patch -Patch5: 0005-Fix-building-on-EL-10-kernels.patch BuildRequires: %{kernel_module_package_buildreqs} BuildRequires: pesign-obs-integration BuildRequires: pkgconfig ++++++ buildfix.patch ++++++ --- /var/tmp/diff_new_pack.GHzswB/_old 2026-01-06 17:47:38.361167263 +0100 +++ /var/tmp/diff_new_pack.GHzswB/_new 2026-01-06 17:47:38.365167428 +0100 @@ -1,7 +1,7 @@ -Index: evdi-1.14.11/module/Makefile +Index: evdi-1.14.12/module/Makefile =================================================================== ---- evdi-1.14.11.orig/module/Makefile -+++ evdi-1.14.11/module/Makefile +--- evdi-1.14.12.orig/module/Makefile ++++ evdi-1.14.12/module/Makefile @@ -6,17 +6,6 @@ # more details. # @@ -9,7 +9,7 @@ -include /etc/os-release - -ifneq (,$(findstring rhel,$(ID_LIKE))) --ELFLAG := -DEL$(VERSION_ID) +-ELFLAG := -DEL$(shell echo $(VERSION_ID) | cut -d. -f1) -endif - -Raspbian := $(shell grep -Eic 'raspb(erry|ian)' /proc/cpuinfo /etc/os-release 2>/dev/null ) ++++++ evdi-1.14.11.tar.gz -> evdi-1.14.12.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/README.md new/evdi-1.14.12/README.md --- old/evdi-1.14.11/README.md 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/README.md 2025-12-19 13:26:18.000000000 +0100 @@ -22,7 +22,7 @@ There is an community driven GitHub project at [DisplayLink RPM](https://github.com/displaylink-rpm/displaylink-rpm) which is generating RPM package for Fedora, CentOS Stream, Rocky Linux and AlmaLinux OS. It uses our code as the basis to create the RPM packages. -There is also an [AUR package](https://aur.archlinux.org/packages/evdi) maintained by the community. +There is also an [AUR package](https://aur.archlinux.org/packages/evdi-dkms) maintained by the community. ## Contributing diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/ci/deb_config new/evdi-1.14.12/ci/deb_config --- old/evdi-1.14.11/ci/deb_config 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/ci/deb_config 2025-12-19 13:26:18.000000000 +0100 @@ -8,7 +8,7 @@ evdi_maintainer='Synaptics Technical Support <[email protected]>' # shellcheck disable=SC2034 -evdi_version='1.14.11' +evdi_version='1.14.12' # shellcheck disable=SC2034 evdi_description="Extensible Virtual Display Interface (EVDI) is a Linux® kernel module that enables management of multiple screens. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/library/Makefile new/evdi-1.14.12/library/Makefile --- old/evdi-1.14.11/library/Makefile 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/library/Makefile 2025-12-19 13:26:18.000000000 +0100 @@ -11,7 +11,7 @@ DEPS = evdi_ioctl.h CFLAGS := -I../module -std=gnu99 -fPIC -D_FILE_OFFSET_BITS=64 $(CFLAGS) $$($(PKG_CONFIG) --cflags-only-I libdrm) -LIBVER := 1.14.11 +LIBVER := 1.14.12 LIBABI := 1 PREFIX ?= /usr/local diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/library/evdi_lib.h new/evdi-1.14.12/library/evdi_lib.h --- old/evdi-1.14.11/library/evdi_lib.h 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/library/evdi_lib.h 2025-12-19 13:26:18.000000000 +0100 @@ -15,7 +15,7 @@ #define LIBEVDI_VERSION_MAJOR 1 #define LIBEVDI_VERSION_MINOR 14 -#define LIBEVDI_VERSION_PATCH 11 +#define LIBEVDI_VERSION_PATCH 12 struct evdi_lib_version { int version_major; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/module/Makefile new/evdi-1.14.12/module/Makefile --- old/evdi-1.14.11/module/Makefile 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/module/Makefile 2025-12-19 13:26:18.000000000 +0100 @@ -9,7 +9,7 @@ include /etc/os-release ifneq (,$(findstring rhel,$(ID_LIKE))) -ELFLAG := -DEL$(VERSION_ID) +ELFLAG := -DEL$(shell echo $(VERSION_ID) | cut -d. -f1) endif Raspbian := $(shell grep -Eic 'raspb(erry|ian)' /proc/cpuinfo /etc/os-release 2>/dev/null ) @@ -59,7 +59,7 @@ DKMS ?= dkms RM ?= rm -MODVER=1.14.11 +MODVER=1.14.12 ifeq ($(KVER),) KVER := $(shell uname -r) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/module/dkms.conf new/evdi-1.14.12/module/dkms.conf --- old/evdi-1.14.11/module/dkms.conf 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/module/dkms.conf 2025-12-19 13:26:18.000000000 +0100 @@ -7,7 +7,7 @@ # PACKAGE_NAME="evdi" -PACKAGE_VERSION=1.14.11 +PACKAGE_VERSION=1.14.12 AUTOINSTALL=yes MAKE[0]="make all INCLUDEDIR=/lib/modules/$kernelver/build/include KVERSION=$kernelver DKMS_BUILD=1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/module/dkms_install.sh new/evdi-1.14.12/module/dkms_install.sh --- old/evdi-1.14.11/module/dkms_install.sh 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/module/dkms_install.sh 2025-12-19 13:26:18.000000000 +0100 @@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0-only # Copyright (c) 2023 DisplayLink (UK) Ltd. -evdi_version='1.14.11' +evdi_version='1.14.12' EVDI_DIR=$(dirname "${BASH_SOURCE[0]}") EVDI_REBOOT_RATIONALE= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/module/evdi_connector.c new/evdi-1.14.12/module/evdi_connector.c --- old/evdi-1.14.11/module/evdi_connector.c 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/module/evdi_connector.c 2025-12-19 13:26:18.000000000 +0100 @@ -78,7 +78,7 @@ } static enum drm_mode_status evdi_mode_valid(struct drm_connector *connector, -#if KERNEL_VERSION(6, 15, 0) <= LINUX_VERSION_CODE +#if KERNEL_VERSION(6, 15, 0) <= LINUX_VERSION_CODE || defined(EL9) || defined(EL10) const struct drm_display_mode *mode) #else struct drm_display_mode *mode) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/module/evdi_drm_drv.c new/evdi-1.14.12/module/evdi_drm_drv.c --- old/evdi-1.14.11/module/evdi_drm_drv.c 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/module/evdi_drm_drv.c 2025-12-19 13:26:18.000000000 +0100 @@ -153,7 +153,7 @@ .name = DRIVER_NAME, .desc = DRIVER_DESC, -#if KERNEL_VERSION(6, 14, 0) <= LINUX_VERSION_CODE +#if KERNEL_VERSION(6, 14, 0) <= LINUX_VERSION_CODE || defined(EL9) || defined(EL10) #else .date = DRIVER_DATE, #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/module/evdi_fb.c new/evdi-1.14.12/module/evdi_fb.c --- old/evdi-1.14.11/module/evdi_fb.c 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/module/evdi_fb.c 2025-12-19 13:26:18.000000000 +0100 @@ -25,6 +25,7 @@ #include <drm/drm_crtc_helper.h> #include <drm/drm_fb_helper.h> #include <drm/drm_atomic.h> +#include <drm/drm_print.h> #if KERNEL_VERSION(5, 0, 0) <= LINUX_VERSION_CODE || defined(EL8) #include <drm/drm_damage_helper.h> #endif @@ -471,7 +472,7 @@ return ret; } -#if KERNEL_VERSION(6, 15, 0) <= LINUX_VERSION_CODE +#if KERNEL_VERSION(6, 15, 0) <= LINUX_VERSION_CODE || defined(EL9) || defined(EL10) #else static struct drm_fb_helper_funcs evdi_fb_helper_funcs = { .fb_probe = evdifb_create, @@ -520,7 +521,7 @@ return -ENOMEM; evdi->fbdev = efbdev; -#if KERNEL_VERSION(6, 15, 0) <= LINUX_VERSION_CODE +#if KERNEL_VERSION(6, 15, 0) <= LINUX_VERSION_CODE || defined(EL9) || defined(EL10) drm_fb_helper_prepare(dev, &efbdev->helper, 32, NULL); #elif KERNEL_VERSION(6, 3, 0) <= LINUX_VERSION_CODE || defined(EL8) || defined(EL9) drm_fb_helper_prepare(dev, &efbdev->helper, 32, &evdi_fb_helper_funcs); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/module/evdi_gem.c new/evdi-1.14.12/module/evdi_gem.c --- old/evdi-1.14.11/module/evdi_gem.c 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/module/evdi_gem.c 2025-12-19 13:26:18.000000000 +0100 @@ -21,6 +21,7 @@ #else #include <drm/drmP.h> #endif +#include <drm/drm_print.h> #include "evdi_drm_drv.h" #include "evdi_params.h" #include <linux/shmem_fs.h> @@ -402,11 +403,9 @@ struct drm_gem_object *obj; int ret = 0; - mutex_lock(&dev->struct_mutex); obj = drm_gem_object_lookup(file, handle); if (obj == NULL) { - ret = -ENOENT; - goto unlock; + return -ENOENT; } gobj = to_evdi_bo(obj); @@ -429,8 +428,6 @@ out: drm_gem_object_put(&gobj->base); - unlock: - mutex_unlock(&dev->struct_mutex); return ret; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/module/evdi_modeset.c new/evdi-1.14.12/module/evdi_modeset.c --- old/evdi-1.14.11/module/evdi_modeset.c 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/module/evdi_modeset.c 2025-12-19 13:26:18.000000000 +0100 @@ -134,13 +134,11 @@ EVDI_CHECKPT(); if (handle) { - mutex_lock(&dev->struct_mutex); obj = drm_gem_object_lookup(file, handle); if (obj) eobj = to_evdi_bo(obj); else EVDI_ERROR("Failed to lookup gem object.\n"); - mutex_unlock(&dev->struct_mutex); } evdi_cursor_set(evdi->cursor, @@ -343,8 +341,6 @@ int32_t cursor_position_x = 0; int32_t cursor_position_y = 0; - mutex_lock(&plane->dev->struct_mutex); - evdi_cursor_position(evdi->cursor, &cursor_position_x, &cursor_position_y); evdi_cursor_move(evdi->cursor, state->crtc_x, state->crtc_y); @@ -369,7 +365,6 @@ cursor_changed = true; } - mutex_unlock(&plane->dev->struct_mutex); if (!evdi->cursor_events_enabled) { if (fb != NULL) { if (efb->obj->allow_sw_cursor_rect_updates) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/module/evdi_painter.c new/evdi-1.14.12/module/evdi_painter.c --- old/evdi-1.14.11/module/evdi_painter.c 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/module/evdi_painter.c 2025-12-19 13:26:18.000000000 +0100 @@ -19,6 +19,9 @@ #include <drm/drmP.h> #endif #include <drm/drm_edid.h> +#if defined(CONFIG_X86) +#include <drm/drm_cache.h> +#endif #include "evdi_drm.h" #include "evdi_drm_drv.h" #include "evdi_cursor.h" @@ -198,6 +201,9 @@ r->y2); for (; y > 0; --y) { +#if defined(CONFIG_X86) + drm_clflush_virt_range((void *)src, byte_span); +#endif if (copy_to_user(dst, src, byte_span)) return -EFAULT; @@ -862,7 +868,6 @@ { struct evdi_painter *painter = evdi->painter; struct edid *new_edid = NULL; - unsigned int expected_edid_size = 0; char buf[100]; evdi_log_process(buf, sizeof(buf)); @@ -887,15 +892,6 @@ return -EFAULT; } - expected_edid_size = sizeof(struct edid) + - new_edid->extensions * EDID_EXT_BLOCK_SIZE; - if (expected_edid_size != edid_length) { - EVDI_ERROR("Wrong edid size. Expected %d but is %d\n", - expected_edid_size, edid_length); - kfree(new_edid); - return -EINVAL; - } - if (painter->drm_filp) EVDI_WARN("(card%d) Double connect - replacing %p with %p\n", evdi->dev_index, painter->drm_filp, file); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.11/module/evdi_platform_drv.h new/evdi-1.14.12/module/evdi_platform_drv.h --- old/evdi-1.14.11/module/evdi_platform_drv.h 2025-08-26 10:31:36.000000000 +0200 +++ new/evdi-1.14.12/module/evdi_platform_drv.h 2025-12-19 13:26:18.000000000 +0100 @@ -29,12 +29,12 @@ #define DRIVER_DESC "Extensible Virtual Display Interface" #if KERNEL_VERSION(6, 14, 0) <= LINUX_VERSION_CODE #else -#define DRIVER_DATE "20250630" +#define DRIVER_DATE "20251219" #endif #define DRIVER_MAJOR 1 #define DRIVER_MINOR 14 -#define DRIVER_PATCH 11 +#define DRIVER_PATCH 12 void evdi_platform_remove_all_devices(struct device *device); unsigned int evdi_platform_device_count(struct device *device);
