xorg-server: updated to 21.1.1

- changed pkg url to github
- added libxcvt dep
- updated pkg describtion
- updated patches name scheme
- dropped old patches:
5f65a6246f

21b896939c

https://download.nvidia.com/XFree86/Linux-x86_64/435.21/README/primerenderoffload.html
This commit is contained in:
SupervisedThinking 2021-11-09 22:22:18 +01:00
parent 4b0c340c63
commit 2ae69475b3
7 changed files with 39 additions and 185 deletions

View File

@ -3,14 +3,14 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="xorg-server"
PKG_VERSION="1.20.11"
PKG_SHA256="914c796e3ffabe1af48071d40ccc85e92117c97a9082ed1df29e4d64e3c34c49"
PKG_VERSION="21.1.1"
PKG_SHA256="915edd49f394283cc587b88a68b5e13e6e2d7f0276edabc9249afb2e22adf634"
PKG_LICENSE="OSS"
PKG_SITE="http://www.X.org"
PKG_URL="http://xorg.freedesktop.org/archive/individual/xserver/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain util-macros font-util xorgproto libpciaccess libX11 libXfont2 libXinerama libxshmfence libxkbfile libdrm openssl freetype pixman systemd xorg-launch-helper"
PKG_URL="https://github.com/freedesktop/xorg-xserver/archive/refs/tags/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain util-macros font-util xorgproto libpciaccess libX11 libXfont2 libXinerama libxcvt libxshmfence libxkbfile libdrm openssl freetype pixman systemd xorg-launch-helper"
PKG_NEED_UNPACK="$(get_pkg_directory xf86-video-nvidia) $(get_pkg_directory xf86-video-nvidia-legacy)"
PKG_LONGDESC="Xorg is a full featured X server running on Intel x86 hardware."
PKG_LONGDESC="X.Org Server is the free and open-source implementation of the X Window System display server."
PKG_TOOLCHAIN="autotools"
get_graphicdrivers

View File

@ -1,51 +0,0 @@
From 612eb45a2e7a0b35cc3790870e6d0cc42eb50c74 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Wed, 11 Feb 2015 16:26:40 +0100
Subject: [PATCH] sdksyms.sh: Make sdksyms.sh work with gcc5.
gcc5's cpp inserts patterns like this:
extern
__attribute__((visibility("default")))
int WaitForSomething(int *
);
This patch make sdksyms.sh work with this. Note my awk skills are weak, so
there likely is a better way to deal with this.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
hw/xfree86/sdksyms.sh | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
index 2305073..99b0cae 100755
--- a/hw/xfree86/sdksyms.sh
+++ b/hw/xfree86/sdksyms.sh
@@ -350,6 +350,23 @@ BEGIN {
if (sdk) {
n = 3;
+ # detect the following gcc5 cpp pattern and skip it:
+ # extern
+ # # 320 "../../include/os.h" 3 4
+ # __attribute__((visibility("default")))
+ # # 320 "../../include/os.h"
+ # Note in this case the "extern " or "extern void " always has
+ # a trailing space
+ if ($0 ~ "^extern.* $") {
+ getline;
+ getline;
+ getline;
+ getline;
+ n = 1;
+ while ($n == " ")
+ n++;
+ }
+
# skip attribute, if any
while ($n ~ /^(__attribute__|__global)/ ||
# skip modifiers, if any
--
2.1.0

View File

@ -1,13 +0,0 @@
diff -Naur xorg-server-1.8.2-old/xorg-server.m4 xorg-server-1.8.2-new/xorg-server.m4
--- xorg-server-1.8.2-old/xorg-server.m4 2010-07-01 10:35:53.000000000 -0700
+++ xorg-server-1.8.2-new/xorg-server.m4 2010-07-01 10:36:36.000000000 -0700
@@ -31,7 +31,8 @@
AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
AC_REQUIRE([PKG_PROG_PKG_CONFIG])
SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`"
+ m4_pattern_allow([^PKG_CONFIG_SYSROOT_DIR$])
+ CFLAGS="$CFLAGS -I$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=sdkdir xorg-server`"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include "xorg-server.h"
#if !defined $1

View File

@ -1,12 +0,0 @@
diff -Naur xorg-server-1.12.2-old/hw/xfree86/common/xf86pciBus.c xorg-server-1.12.2-new/hw/xfree86/common/xf86pciBus.c
--- xorg-server-1.12.2-old/hw/xfree86/common/xf86pciBus.c 2012-05-17 10:09:03.000000000 -0700
+++ xorg-server-1.12.2-new/hw/xfree86/common/xf86pciBus.c 2012-05-29 18:55:16.000000000 -0700
@@ -1107,7 +1107,7 @@
driverList[0] = "ast";
break;
case 0x1002:
- driverList[0] = "ati";
+ driverList[0] = "radeon";
break;
case 0x102c:
driverList[0] = "chips";

View File

@ -1,97 +0,0 @@
Submitted By: Armin K. <krejzi at email dot com>
Date: 2012-12-30
Initial Package Version: 1.13.1
Upstream Status: Not submitted.
Origin: Upstream mailing list.
Comment: Rediffed for Package Version 1.17.2 by
Fernando de Oliveira <famobr at yahoo dot com dot br>
Description: Adds PRIME support to Xorg Server to make GPU offloading work.
diff -Naur xorg-server-1.17.2.orig/hw/xfree86/common/xf86Init.c xorg-server-1.17.2/hw/xfree86/common/xf86Init.c
--- xorg-server-1.17.2.orig/hw/xfree86/common/xf86Init.c 2015-06-05 12:19:40.000000000 -0300
+++ xorg-server-1.17.2/hw/xfree86/common/xf86Init.c 2015-06-17 11:35:07.227581436 -0300
@@ -340,6 +340,16 @@
return ret;
}
+extern void xf86AutoConfigOutputDevice(ScrnInfoPtr pScrn, ScrnInfoPtr master);
+static void
+xf86AutoConfigOutputDevices(void)
+{
+ int i;
+
+ for (i = 0; i < xf86NumGPUScreens; i++)
+ xf86AutoConfigOutputDevice(xf86GPUScreens[i], xf86Screens[0]);
+}
+
static void
InstallSignalHandlers(void)
{
@@ -929,6 +939,8 @@
for (i = 0; i < xf86NumGPUScreens; i++)
AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
+ xf86AutoConfigOutputDevices();
+
xf86VGAarbiterWrapFunctions();
if (sigio_blocked)
OsReleaseSIGIO();
diff -Naur xorg-server-1.17.2.orig/hw/xfree86/common/xf86platformBus.c xorg-server-1.17.2/hw/xfree86/common/xf86platformBus.c
--- xorg-server-1.17.2.orig/hw/xfree86/common/xf86platformBus.c 2015-06-16 12:21:07.000000000 -0300
+++ xorg-server-1.17.2/hw/xfree86/common/xf86platformBus.c 2015-06-17 11:35:07.227581436 -0300
@@ -469,6 +469,8 @@
return foundScreen;
}
+extern void xf86AutoConfigOutputDevice(ScrnInfoPtr pScrn, ScrnInfoPtr master);
+
int
xf86platformAddDevice(int index)
{
@@ -537,6 +539,7 @@
}
/* attach unbound to 0 protocol screen */
AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
+ xf86AutoConfigOutputDevice(xf86GPUScreens[i], xf86Screens[0]);
RRResourcesChanged(xf86Screens[0]->pScreen);
RRTellChanged(xf86Screens[0]->pScreen);
diff -Naur xorg-server-1.17.2.orig/hw/xfree86/modes/xf86Crtc.c xorg-server-1.17.2/hw/xfree86/modes/xf86Crtc.c
--- xorg-server-1.17.2.orig/hw/xfree86/modes/xf86Crtc.c 2015-06-16 10:55:48.000000000 -0300
+++ xorg-server-1.17.2/hw/xfree86/modes/xf86Crtc.c 2015-06-17 11:35:07.230581367 -0300
@@ -3387,3 +3387,35 @@
crtc->x = crtc->y = 0;
}
}
+
+
+void xf86AutoConfigOutputDevice(ScrnInfoPtr pScrn, ScrnInfoPtr master)
+{
+ RRProviderPtr master_provider;
+ xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(master);
+ xf86CrtcConfigPtr slave_config = XF86_CRTC_CONFIG_PTR(pScrn);
+ Bool unbound = FALSE;
+
+ if (!config || !slave_config)
+ return;
+
+ master_provider = config->randr_provider;
+
+ if ((master->capabilities & RR_Capability_SinkOffload) &&
+ pScrn->capabilities & RR_Capability_SourceOffload) {
+ /* source offload */
+
+ DetachUnboundGPU(pScrn->pScreen);
+ unbound = TRUE;
+ AttachOffloadGPU(master->pScreen, pScrn->pScreen);
+ slave_config->randr_provider->offload_sink = master_provider;
+ }
+ if ((master->capabilities & RR_Capability_SourceOutput) &&
+ pScrn->capabilities & RR_Capability_SinkOutput) {
+ /* sink offload */
+ if (!unbound)
+ DetachUnboundGPU(pScrn->pScreen);
+ AttachOutputGPU(master->pScreen, pScrn->pScreen);
+ slave_config->randr_provider->output_source = master_provider;
+ }
+}

View File

@ -0,0 +1,22 @@
From 7b147dfef7a2ce8247710660d2b95d84100aaad7 Mon Sep 17 00:00:00 2001
From: SupervisedThinking <supervisedthinking@gmail.com>
Date: Tue, 19 Oct 2021 18:22:38 +0200
Subject: [PATCH] Detect GPUs as "radeon" instead "ati"
---
hw/xfree86/common/xf86pciBus.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
index aeeed8be66..5c22bd4080 100644
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -1106,7 +1106,7 @@ xf86VideoPtrToDriverList(struct pci_device *dev, XF86MatchedDrivers *md)
driverList[0] = "ast";
break;
case 0x1002:
- driverList[0] = "ati";
+ driverList[0] = "radeon";
break;
case 0x102c:
driverList[0] = "chips";

View File

@ -1,12 +1,17 @@
From: Adam Jackson <ajax@redhat.com>
Date: Sun, 28 Oct 2007 09:37:52 +0100
Subject: [PATCH] Fedora extra modes list
From aff7aded0cc546491b29b37b093846921ab7378a Mon Sep 17 00:00:00 2001
From: SupervisedThinking <supervisedthinking@gmail.com>
Date: Tue, 19 Oct 2021 18:23:20 +0200
Subject: [PATCH] Fedora extra modes list added by Adam Jackson
<ajax@redhat.com>
---
Index: xorg-server/hw/xfree86/common/extramodes
===================================================================
--- xorg-server.orig/hw/xfree86/common/extramodes
+++ xorg-server/hw/xfree86/common/extramodes
hw/xfree86/common/extramodes | 59 ++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
diff --git a/hw/xfree86/common/extramodes b/hw/xfree86/common/extramodes
index 006b5cba17..3caa3bf015 100644
--- a/hw/xfree86/common/extramodes
+++ b/hw/xfree86/common/extramodes
@@ -3,16 +3,75 @@
//
// $XFree86: xc/programs/Xserver/hw/xfree86/etc/extramodes,v 1.5 2002/06/05 19:43:05 dawes Exp $