Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package plymouth for openSUSE:Factory checked in at 2025-09-30 17:39:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plymouth (Old) and /work/SRC/openSUSE:Factory/.plymouth.new.11973 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plymouth" Tue Sep 30 17:39:05 2025 rev:138 rq:1307883 version:22.02.122+94.4bd41a3 Changes: -------- --- /work/SRC/openSUSE:Factory/plymouth/plymouth.changes 2025-06-27 23:01:03.164631356 +0200 +++ /work/SRC/openSUSE:Factory/.plymouth.new.11973/plymouth.changes 2025-09-30 17:39:07.529039104 +0200 @@ -1,0 +2,9 @@ +Tue Mar 18 10:28:13 UTC 2025 - Cliff Zhao <[email protected]> + +- Add plymouth-select_fb_for_vmware.patch: + Use frame-buffer in vmware VM platform, Since the system use vesa, + plymouth DRM driver intial out of time, and the cutomer also + feedback frame-buffer works fine. + (bsc#1234643) + +------------------------------------------------------------------- New: ---- plymouth-select_fb_for_vmware.patch ----------(New B)---------- New: - Add plymouth-select_fb_for_vmware.patch: Use frame-buffer in vmware VM platform, Since the system use vesa, ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plymouth.spec ++++++ --- /var/tmp/diff_new_pack.AfKRFv/_old 2025-09-30 17:39:08.977099837 +0200 +++ /var/tmp/diff_new_pack.AfKRFv/_new 2025-09-30 17:39:08.977099837 +0200 @@ -54,6 +54,9 @@ Patch10: plymouth-crash-avoid-on-keyboard-remove-input-handler.patch # PATCH-FIX-SLE plymouth-support-multi-monitor-hotplugin.patch bsc#1231214 [email protected] -- support the 2nd monitor hotplugin to the system to display the same content with the first monitor. Patch13: plymouth-support-multi-monitor-hotplugin.patch +# PATCH-FIX-SLE plymouth-select_fb_for_vmware.patch bsc#1234643 [email protected] -- use frame-buffer in vmware VM platform. +Patch100: plymouth-select_fb_for_vmware.patch + BuildRequires: automake BuildRequires: docbook-xsl-stylesheets BuildRequires: gcc @@ -361,7 +364,21 @@ %prep %setup -q -%autopatch -p1 +%patch -P 0 -p1 +%patch -P 1 -p1 +%patch -P 2 -p1 +%patch -P 3 -p1 +%patch -P 4 -p1 +%patch -P 5 -p1 +%patch -P 6 -p1 +%patch -P 7 -p1 +%patch -P 8 -p1 +%patch -P 9 -p1 +%patch -P 10 -p1 +%patch -P 13 -p1 +%if !0%{?is_opensuse} +%patch -P 100 -p1 +%endif autoreconf -ivf %build ++++++ plymouth-select_fb_for_vmware.patch ++++++ --- a/src/libply-splash-core/ply-device-manager.c +++ b/src/libply-splash-core/ply-device-manager.c @@ -43,6 +43,11 @@ #define SUBSYSTEM_DRM "drm" #define SUBSYSTEM_FRAME_BUFFER "graphics" +#define BUFF_SIZE 256 +#define DMI_PRODUCT_NAME_FILE "/sys/class/dmi/id/product_name" +#define EXPECT_DMI_NAME_VMWARE "VMware Virtual Platform" +#define EXPECT_DMI_NAME_QEMU "Standard PC (Q35 + ICH9, 2009)" + #ifdef HAVE_UDEV static void create_devices_from_udev (ply_device_manager_t *manager); #endif @@ -296,6 +301,32 @@ return false; } +typedef enum { + MATCH = 1, + MISMATCH = 0, + UNKNOW = -1, +} product_name_match_result_t; + +static product_name_match_result_t check_product_name (char *expect_name) +{ + char buff_product_name[BUFF_SIZE]; + FILE *product_file_handler = fopen(DMI_PRODUCT_NAME_FILE, "r"); + if (product_file_handler == NULL) + return UNKNOW; + + if (fgets (buff_product_name, BUFF_SIZE, product_file_handler)) { + fclose (product_file_handler); + buff_product_name[strcspn(buff_product_name, "\n")] = '\0'; + ply_trace("System DMI product name: ", buff_product_name); + if (strcmp(buff_product_name, expect_name) == 0) + return MATCH; + else + return MISMATCH; + } + fclose (product_file_handler); + return UNKNOW; +} + static bool create_devices_for_udev_device (ply_device_manager_t *manager, struct udev_device *device) @@ -353,6 +384,11 @@ ply_trace ("ignoring, since there's a DRM device associated with it"); } + if (check_product_name(EXPECT_DMI_NAME_VMWARE)) { + ply_trace("When running on Vmware platform, use framebuffer as the customer want."); + renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER; + } + if (renderer_type != PLY_RENDERER_TYPE_NONE) { ply_terminal_t *terminal = NULL;
