-
Notifications
You must be signed in to change notification settings - Fork 47
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Vivante xf86 driver crashes when loaded by current xserver 1.20.1 Waiting for the crash to be fixed, for var-som-mx6 we can still use previous xserver working version 1.19.6 Also, this recipes is not required for not accelerated platforms, so we can mask it for DART-6UL and VAR-SOM-MX7. This patch must be removed once the xf86 driver crash will be fixed.
- Loading branch information
Showing
10 changed files
with
328 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
40 changes: 40 additions & 0 deletions
40
...xorg-xserver/xserver-xorg/0001-config-fix-NULL-value-detection-for-ID_INPUT-being-u.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
From a309323328d9d6e0bf5d9ea1d75920e53b9beef3 Mon Sep 17 00:00:00 2001 | ||
From: Peter Hutterer <peter.hutterer@who-t.net> | ||
Date: Fri, 5 Jan 2018 11:58:42 +1000 | ||
Subject: [PATCH] config: fix NULL value detection for ID_INPUT being unset | ||
|
||
Erroneous condition caused us to keep going with all devices that didn't have | ||
ID_INPUT set. | ||
|
||
Fixes: 5aad81445c8c3d6 | ||
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104382 | ||
Reviewed-by: Adam Jackson <ajax@redhat.com> | ||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> | ||
|
||
Upstream-status: Backport | ||
https://patchwork.freedesktop.org/patch/196090/ | ||
Affects: < 1.20.0 | ||
[Yocto # 12899] | ||
|
||
Signed-off-by: Armin Kuster <akuser808@gmail.com> | ||
|
||
--- | ||
config/udev.c | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
diff --git a/config/udev.c b/config/udev.c | ||
index e198e8609..3a73189e2 100644 | ||
--- a/config/udev.c | ||
+++ b/config/udev.c | ||
@@ -135,7 +135,7 @@ device_added(struct udev_device *udev_device) | ||
#endif | ||
|
||
value = udev_device_get_property_value(udev_device, "ID_INPUT"); | ||
- if (value && !strcmp(value, "0")) { | ||
+ if (!value || !strcmp(value, "0")) { | ||
LogMessageVerb(X_INFO, 10, | ||
"config/udev: ignoring device %s without " | ||
"property ID_INPUT set\n", path); | ||
-- | ||
2.17.1 | ||
|
61 changes: 61 additions & 0 deletions
61
...-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
Discover monotonic clock using compile-time check | ||
|
||
monotonic clock check does not work when cross-compiling. | ||
|
||
Upstream-Status: Denied [Does not work on OpenBSD] | ||
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
|
||
|
||
|
||
Original patch follows: | ||
|
||
When xorg-xserver is being cross-compiled, there is currently no way | ||
for us to detect whether the monotonic clock is available on the | ||
target system, because we aren't able to run a test program on the host | ||
system. Currently, in this situation, we default to not use the | ||
monotonic clock. One problem with this situation is that the user will | ||
be treated as idle when the date is updated. | ||
|
||
To fix this situation, we now use a compile-time check to detect whether the | ||
monotonic clock is available. This check can run just fine when we are | ||
cross-compiling. | ||
|
||
Signed-off-by: David James <davidjames at google.com> | ||
--- | ||
configure.ac | 17 +++++++---------- | ||
1 file changed, 7 insertions(+), 10 deletions(-) | ||
|
||
diff --git a/configure.ac b/configure.ac | ||
index f7ab48c..26e85cd 100644 | ||
--- a/configure.ac | ||
+++ b/configure.ac | ||
@@ -1048,19 +1048,16 @@ if ! test "x$have_clock_gettime" = xno; then | ||
CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L" | ||
fi | ||
|
||
- AC_RUN_IFELSE([AC_LANG_SOURCE([ | ||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ | ||
#include <time.h> | ||
- | ||
-int main(int argc, char *argv[[]]) { | ||
- struct timespec tp; | ||
- | ||
- if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0) | ||
+#include <unistd.h> | ||
+int main() { | ||
+#if !(defined(_POSIX_MONOTONIC_CLOCK) && _POSIX_MONOTONIC_CLOCK >= 0 && defined(CLOCK_MONOTONIC)) | ||
+ #error No monotonic clock | ||
+#endif | ||
return 0; | ||
- else | ||
- return 1; | ||
} | ||
- ])], [MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no], | ||
- [MONOTONIC_CLOCK="cross compiling"]) | ||
+]])],[MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no]) | ||
|
||
LIBS="$LIBS_SAVE" | ||
CPPFLAGS="$CPPFLAGS_SAVE" | ||
-- | ||
2.1.4 | ||
|
53 changes: 53 additions & 0 deletions
53
...xorg-xserver/xserver-xorg/0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
From d77cdc5e1eee26821ab98c947abea53fb7b18fe5 Mon Sep 17 00:00:00 2001 | ||
From: California Sullivan <california.l.sullivan@intel.com> | ||
Date: Fri, 16 Mar 2018 17:23:11 -0700 | ||
Subject: [PATCH] xf86pciBus.c: use Intel ddx only for pre-gen4 hardware | ||
|
||
Use intel ddx only on pre-gen4 hw, newer ones will fall back to modesetting | ||
Author: Timo Aaltonen <tjaalton@debian.org> | ||
|
||
Instead of defaulting to the Intel driver for all Intel hardware, only | ||
default it for older hardware for which it has shown to be better for. | ||
|
||
Others fall through to the -modesetting default. | ||
|
||
Upstream-Status: Pending [Debian/Fedora patch | ||
https://src.fedoraproject.org/rpms/xorg-x11-server/c/ee515e44b07e37689abf48cf2fffb41578f3bc1d] | ||
|
||
Signed-off-by: California Sullivan <california.l.sullivan@intel.com> | ||
--- | ||
hw/xfree86/common/xf86pciBus.c | 18 +++++++++++++++++- | ||
1 file changed, 17 insertions(+), 1 deletion(-) | ||
|
||
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c | ||
index e61ae0cd4..d70c99197 100644 | ||
--- a/hw/xfree86/common/xf86pciBus.c | ||
+++ b/hw/xfree86/common/xf86pciBus.c | ||
@@ -1173,7 +1173,23 @@ xf86VideoPtrToDriverList(struct pci_device *dev, | ||
case 0x0bef: | ||
/* Use fbdev/vesa driver on Oaktrail, Medfield, CDV */ | ||
break; | ||
- default: | ||
+ /* Default to intel only on pre-gen4 chips */ | ||
+ case 0x3577: | ||
+ case 0x2562: | ||
+ case 0x3582: | ||
+ case 0x358e: | ||
+ case 0x2572: | ||
+ case 0x2582: | ||
+ case 0x258a: | ||
+ case 0x2592: | ||
+ case 0x2772: | ||
+ case 0x27a2: | ||
+ case 0x27ae: | ||
+ case 0x29b2: | ||
+ case 0x29c2: | ||
+ case 0x29d2: | ||
+ case 0xa001: | ||
+ case 0xa011: | ||
driverList[0] = "intel"; | ||
break; | ||
} | ||
-- | ||
2.14.3 | ||
|
47 changes: 47 additions & 0 deletions
47
recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
From cf407b16cd65ad6e26a9c8e5984e163409a5c0f7 Mon Sep 17 00:00:00 2001 | ||
From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com> | ||
Date: Mon, 30 Jan 2017 16:32:06 -0600 | ||
Subject: [PATCH] Remove check for useSIGIO option | ||
|
||
Commit 6a5a4e60373c1386b311b2a8bb666c32d68a9d99 removes the configure of useSIGIO | ||
option. | ||
|
||
As the xfree86 SIGIO support is reworked to use internal versions of OsBlockSIGIO | ||
and OsReleaseSIGIO. | ||
|
||
No longer the check for useSIGIO is needed | ||
|
||
Upstream-Status: Pending | ||
|
||
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com> | ||
--- | ||
hw/xfree86/os-support/shared/sigio.c | 6 ------ | ||
1 file changed, 6 deletions(-) | ||
|
||
diff --git a/hw/xfree86/os-support/shared/sigio.c b/hw/xfree86/os-support/shared/sigio.c | ||
index 884a71c..be76498 100644 | ||
--- a/hw/xfree86/os-support/shared/sigio.c | ||
+++ b/hw/xfree86/os-support/shared/sigio.c | ||
@@ -185,9 +185,6 @@ xf86InstallSIGIOHandler(int fd, void (*f) (int, void *), void *closure) | ||
int i; | ||
int installed = FALSE; | ||
|
||
- if (!xf86Info.useSIGIO) | ||
- return 0; | ||
- | ||
for (i = 0; i < MAX_FUNCS; i++) { | ||
if (!xf86SigIOFuncs[i].f) { | ||
if (xf86IsPipe(fd)) | ||
@@ -256,9 +253,6 @@ xf86RemoveSIGIOHandler(int fd) | ||
int max; | ||
int ret; | ||
|
||
- if (!xf86Info.useSIGIO) | ||
- return 0; | ||
- | ||
max = 0; | ||
ret = 0; | ||
for (i = 0; i < MAX_FUNCS; i++) { | ||
-- | ||
2.7.4 | ||
|
46 changes: 46 additions & 0 deletions
46
recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
From 5028ef46ff4ab0930224b71024a7349b05610d42 Mon Sep 17 00:00:00 2001 | ||
From: Stefan Agner <stefan@agner.ch> | ||
Date: Thu, 22 Dec 2016 15:41:06 +0100 | ||
Subject: [PATCH] modesetting: Fix 16 bit depth/bpp mode | ||
|
||
When setting DefaultDepth to 16 in the Screen section, the current | ||
code requests a 32 bpp framebuffer, however the X-Server seems to | ||
assumes 16 bpp. | ||
|
||
Fixes commit 21217d02168d ("modesetting: Implement 32->24 bpp | ||
conversion in shadow update") | ||
|
||
Signed-off-by: Stefan Agner <stefan@agner.ch> | ||
|
||
Upstream-Status: Submitted [1] | ||
|
||
[1] https://lists.x.org/archives/xorg-devel/2016-December/052113.html | ||
--- | ||
hw/xfree86/drivers/modesetting/driver.c | 4 +++- | ||
1 file changed, 3 insertions(+), 1 deletion(-) | ||
|
||
diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c | ||
index d7030e5..647ad83 100644 | ||
--- a/hw/xfree86/drivers/modesetting/driver.c | ||
+++ b/hw/xfree86/drivers/modesetting/driver.c | ||
@@ -930,7 +930,7 @@ PreInit(ScrnInfoPtr pScrn, int flags) | ||
"Using 24bpp hw front buffer with 32bpp shadow\n"); | ||
defaultbpp = 32; | ||
} else { | ||
- ms->drmmode.kbpp = defaultbpp; | ||
+ ms->drmmode.kbpp = 0; | ||
} | ||
bppflags = PreferConvert24to32 | SupportConvert24to32 | Support32bppFb; | ||
|
||
@@ -950,6 +950,8 @@ PreInit(ScrnInfoPtr pScrn, int flags) | ||
return FALSE; | ||
} | ||
xf86PrintDepthBpp(pScrn); | ||
+ if (!ms->drmmode.kbpp) | ||
+ ms->drmmode.kbpp = pScrn->bitsPerPixel; | ||
|
||
/* Process the options */ | ||
xf86CollectOptions(pScrn, NULL); | ||
-- | ||
2.7.4 | ||
|
25 changes: 25 additions & 0 deletions
25
recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
This is the revised version of files/macro_tweak.patch for | ||
xorg-server 1.8.99.904 and newer. | ||
|
||
Upstream-Status: Pending | ||
|
||
Signed-off-by: Yu Ke <ke.yu@intel.com> | ||
|
||
Index: xorg-server-1.19.6/xorg-server.m4 | ||
=================================================================== | ||
--- xorg-server-1.19.6.orig/xorg-server.m4 | ||
+++ xorg-server-1.19.6/xorg-server.m4 | ||
@@ -28,10 +28,12 @@ dnl | ||
# Checks for the MACRO define in xorg-server.h (from the sdk). If it | ||
# is defined, then add the given PROTO to $REQUIRED_MODULES. | ||
|
||
+m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR) | ||
+ | ||
AC_DEFUN([XORG_DRIVER_CHECK_EXT],[ | ||
AC_REQUIRE([PKG_PROG_PKG_CONFIG]) | ||
SAVE_CFLAGS="$CFLAGS" | ||
- CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`" | ||
+ 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 |
18 changes: 18 additions & 0 deletions
18
recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
inb/outb family for arm is only implemented on glibc | ||
so assumption across linux is wrong | ||
|
||
Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
Upstream-Status: Pending | ||
Index: xorg-server-1.18.0/hw/xfree86/common/compiler.h | ||
=================================================================== | ||
--- xorg-server-1.18.0.orig/hw/xfree86/common/compiler.h | ||
+++ xorg-server-1.18.0/hw/xfree86/common/compiler.h | ||
@@ -758,7 +758,7 @@ inl(unsigned short port) | ||
return xf86ReadMmio32Le((void *) ioBase, port); | ||
} | ||
|
||
-#elif defined(__arm__) && defined(__linux__) | ||
+#elif defined(__arm__) && defined(__GLIBC__) | ||
|
||
/* for Linux on ARM, we use the LIBC inx/outx routines */ | ||
/* note that the appropriate setup via "ioperm" needs to be done */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
require recipes-graphics/xorg-xserver/xserver-xorg.inc | ||
|
||
SRC_URI += "file://macro_tweak.patch" | ||
SRC_URI += "file://musl-arm-inb-outb.patch \ | ||
file://0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch \ | ||
file://0003-modesetting-Fix-16-bit-depth-bpp-mode.patch \ | ||
file://0003-Remove-check-for-useSIGIO-option.patch \ | ||
file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ | ||
file://0001-config-fix-NULL-value-detection-for-ID_INPUT-being-u.patch \ | ||
" | ||
SRC_URI[md5sum] = "3e47777ff034a331aed2322b078694a8" | ||
SRC_URI[sha256sum] = "a732502f1db000cf36a376cd0c010ffdbf32ecdd7f1fa08ba7f5bdf9601cc197" | ||
|
||
# These extensions are now integrated into the server, so declare the migration | ||
# path for in-place upgrades. | ||
|
||
RREPLACES_${PN} = "${PN}-extension-dri \ | ||
${PN}-extension-dri2 \ | ||
${PN}-extension-record \ | ||
${PN}-extension-extmod \ | ||
${PN}-extension-dbe \ | ||
" | ||
RPROVIDES_${PN} = "${PN}-extension-dri \ | ||
${PN}-extension-dri2 \ | ||
${PN}-extension-record \ | ||
${PN}-extension-extmod \ | ||
${PN}-extension-dbe \ | ||
" | ||
RCONFLICTS_${PN} = "${PN}-extension-dri \ | ||
${PN}-extension-dri2 \ | ||
${PN}-extension-record \ | ||
${PN}-extension-extmod \ | ||
${PN}-extension-dbe \ | ||
" |