From afbdf4261a858e6ad2b41fd6bccec704690b2dd112554d12e1435dd6f86e6e69 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Wed, 2 Nov 2022 15:36:11 +0000 Subject: [PATCH 1/2] Accepting request 1032916 from home:tdz:branches:X11:XOrg - u_xf86-Accept-devices-with-the-kernels-ofdrm-driver.patch * Add workaround to support ofdrm OBS-URL: https://build.opensuse.org/request/show/1032916 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=835 --- ...evices-with-the-kernels-ofdrm-driver.patch | 31 +++++++++++++++++++ xorg-x11-server.changes | 6 ++++ xorg-x11-server.spec | 2 ++ 3 files changed, 39 insertions(+) create mode 100644 u_xf86-Accept-devices-with-the-kernels-ofdrm-driver.patch diff --git a/u_xf86-Accept-devices-with-the-kernels-ofdrm-driver.patch b/u_xf86-Accept-devices-with-the-kernels-ofdrm-driver.patch new file mode 100644 index 0000000..4131140 --- /dev/null +++ b/u_xf86-Accept-devices-with-the-kernels-ofdrm-driver.patch @@ -0,0 +1,31 @@ +From a7029faa7da778f9bab88d417e85041c631c87e6 Mon Sep 17 00:00:00 2001 +From: Thomas Zimmermann +Date: Wed, 18 May 2022 10:44:06 +0200 +Subject: [PATCH] xf86: Accept devices with the kernels ofdrm driver + +Add a workaround to accept devices of the kernel's ofdrm driver. +Makes Xorg work on Open Firmware's pre-configured display with the +DRM graphics stack. + +Signed-off-by: Thomas Zimmermann +--- + hw/xfree86/common/xf86platformBus.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c +index 071f44b2a..6a0c3177b 100644 +--- a/hw/xfree86/common/xf86platformBus.c ++++ b/hw/xfree86/common/xf86platformBus.c +@@ -563,6 +563,9 @@ xf86platformProbeDev(DriverPtr drvp) + /* Accept the device if the driver is hyperv_drm */ + if (strcmp(xf86_platform_devices[j].attribs->driver, "hyperv_drm") == 0) + break; ++ /* Accept the device if the driver is ofdrm */ ++ if (strcmp(xf86_platform_devices[j].attribs->driver, "ofdrm") == 0) ++ break; + /* Accept the device if the driver is simpledrm */ + if (strcmp(xf86_platform_devices[j].attribs->driver, "simpledrm") == 0) + break; +-- +2.38.0 + diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index ec0305e..401f1b1 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Nov 2 12:29:59 UTC 2022 - Thomas Zimmermann + +- u_xf86-Accept-devices-with-the-kernels-ofdrm-driver.patch + * Add workaround to support ofdrm + ------------------------------------------------------------------- Wed Oct 19 11:06:46 UTC 2022 - Stefan Dirsch diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index f3b9ed2..d229cbd 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -240,6 +240,7 @@ Patch1900: u_no-lto-for-tests.patch Patch1910: u_modesetting-Fix-dirty-updates-for-sw-rotation.patch Patch1920: u_xf86-Accept-devices-with-the-hyperv_drm-driver.patch +Patch1921: u_xf86-Accept-devices-with-the-kernels-ofdrm-driver.patch Patch1930: u_xfree86-activate-GPU-screens-on-autobind.patch @@ -404,6 +405,7 @@ sh %{SOURCE92} --verify . %{SOURCE91} %patch1900 -p1 %patch1910 -p1 %patch1920 -p1 +%patch1921 -p1 %patch1930 -p1 %patch1940 -p1 %patch1960 -p1 From d87f454ac760e194237efa2b59e6baf9e9883e0f2d7ed868dd15b7b687756148 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Wed, 2 Nov 2022 15:48:38 +0000 Subject: [PATCH 2/2] - removed N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch * meanwhile cirrus and mgag200 Kernel drivers have been rewritten multiple times and no longer have (broken) hardware cursor OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=836 --- ...or-cirrus-and-mgag200-kernel-modules.patch | 35 ------------------- xorg-x11-server.changes | 7 ++++ xorg-x11-server.spec | 3 -- 3 files changed, 7 insertions(+), 38 deletions(-) delete mode 100644 N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch diff --git a/N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch b/N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch deleted file mode 100644 index 1e08467..0000000 --- a/N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Egbert Eich -Date: Mon May 16 21:22:31 2016 +0200 -Subject: [PATCH]Disable HW Cursor for cirrus and mgag200 kernel modules. -Patch-mainline: N/A -Git-commit: 265e92915c8182369a50c89f9ca0d36b9baab8b6 -References: boo#980124 -Signed-off-by: Egbert Eich - -Signed-off-by: Egbert Eich ---- - hw/xfree86/drivers/modesetting/driver.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -Index: xorg-server-1.20.5/hw/xfree86/drivers/modesetting/driver.c -=================================================================== ---- xorg-server-1.20.5.orig/hw/xfree86/drivers/modesetting/driver.c -+++ xorg-server-1.20.5/hw/xfree86/drivers/modesetting/driver.c -@@ -980,6 +980,17 @@ PreInit(ScrnInfoPtr pScrn, int flags) - - if (xf86ReturnOptValBool(ms->drmmode.Options, OPTION_SW_CURSOR, FALSE)) { - ms->drmmode.sw_cursor = TRUE; -+ } else { -+ /* hw cursor still considered broken on cirrus */ -+ drmVersionPtr drm_version = drmGetVersion(ms->fd); -+ if (drm_version) { -+ if (strncmp("cirrus", drm_version->name, -+ min(7,drm_version->name_len)) == 0 || -+ strncmp("mgag200", drm_version->name, -+ min(8,drm_version->name_len)) == 0) -+ ms->drmmode.sw_cursor = TRUE; -+ drmFreeVersion(drm_version); -+ } - } - - ms->cursor_width = 64; diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 401f1b1..33950ff 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Nov 2 15:37:07 UTC 2022 - Stefan Dirsch + +- removed N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch + * meanwhile cirrus and mgag200 Kernel drivers have been rewritten + multiple times and no longer have (broken) hardware cursor + ------------------------------------------------------------------- Wed Nov 2 12:29:59 UTC 2022 - Thomas Zimmermann diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index d229cbd..0d0810f 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -213,8 +213,6 @@ Patch101: u_02-DIX-ConfineTo-Don-t-bother-about-the-bounding-box-when-grab Patch104: u_xorg-server-xdmcp.patch -Patch115: N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch - Patch117: xorg-x11-server-byte-order.patch Patch160: u_vesa-Add-VBEDPMSGetCapabilities-VBEDPMSGet.patch @@ -378,7 +376,6 @@ sh %{SOURCE92} --verify . %{SOURCE91} %patch100 -p1 #%patch101 -p1 %patch104 -p1 -%patch115 -p1 %patch117 -p1 %patch160 -p1 %patch208 -p1