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;
 

Reply via email to