From 2f43e361f718abe5ce6bce7bf6b21f658de517f5 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Fri, 1 Oct 2021 12:04:06 -0400 Subject: [PATCH] Disable non-platform video driver probe, it should never be needed and the PCI probe code interferes with the (default) platform path. Resolves: rhbz#2000921 --- ...Only-call-the-driver-s-platformProbe.patch | 43 +++++++++++++++++++ xorg-x11-server.spec | 11 ++++- 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 0001-mustard-xfree86-Only-call-the-driver-s-platformProbe.patch diff --git a/0001-mustard-xfree86-Only-call-the-driver-s-platformProbe.patch b/0001-mustard-xfree86-Only-call-the-driver-s-platformProbe.patch new file mode 100644 index 0000000..ae0c0b9 --- /dev/null +++ b/0001-mustard-xfree86-Only-call-the-driver-s-platformProbe.patch @@ -0,0 +1,43 @@ +From ab756b13392448201c106b7629c55f68af4d8ec5 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Fri, 1 Oct 2021 11:47:21 -0400 +Subject: [PATCH xserver] mustard: xfree86: Only call the driver's + platformProbe + +The code to detangle what's a PCI device and what's platform is... bad. +The PCI-specific initialization path should never be necessary these +days, and the ancient "just probe something" path should especially +never be necessary, so we can avoid a bunch of fragile code by simply +never calling into the non-platform probe paths and letting platform +handle everything. + +Among other things this fixes hypervdrm on v1 devices, which have both a +PCI and a platform presentation, in a way that would cause X to fail to +start. +--- + hw/xfree86/common/xf86Bus.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c +index fd144dbe7a..88e07dec40 100644 +--- a/hw/xfree86/common/xf86Bus.c ++++ b/hw/xfree86/common/xf86Bus.c +@@ -84,6 +84,7 @@ xf86CallDriverProbe(DriverPtr drv, Bool detect_only) + } + #endif + ++#if 0 + #ifdef XSERVER_LIBPCIACCESS + if (!foundScreen && (drv->PciProbe != NULL)) { + if (xf86DoConfigure && xf86DoConfigurePass1) { +@@ -102,6 +103,7 @@ xf86CallDriverProbe(DriverPtr drv, Bool detect_only) + foundScreen = (*drv->Probe) (drv, (detect_only) ? PROBE_DETECT + : PROBE_DEFAULT); + } ++#endif + + return foundScreen; + } +-- +2.31.1 + diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 475e274..20dbc46 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -46,7 +46,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.20.11 -Release: 4%{?gitdate:.%{gitdate}}%{?dist} +Release: 5%{?gitdate:.%{gitdate}}%{?dist} URL: http://www.x.org License: MIT @@ -95,6 +95,10 @@ Patch6: 0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch # https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/761 Patch7: 0001-xkb-Drop-check-for-XkbSetMapResizeTypes.patch +# 1988922 - [Hyper-V]Installation failed with: 'x or window manager startup failed' when the VM was created with GEN1 + +Patch8: 0001-mustard-xfree86-Only-call-the-driver-s-platformProbe.patch + # Backports from current stable "server-1.20-branch": # @@ -515,6 +519,11 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete %changelog +* Tue Nov 9 2021 Adam Jackson - 1.20.11-5 +- Disable non-platform video driver probe, it should never be needed and the + PCI probe code interferes with the (default) platform path. + Resolves: #2000921 + * Tue Oct 26 2021 Ray Strode - 1.20.11-4 - Fix XkbChangeMap Resolves: #2009928