From 4ae7143849d1efcfcf21608a8bc41c4c78de7a48 Mon Sep 17 00:00:00 2001 From: Khang Nguyen Date: Thu, 20 Jun 2019 09:50:47 +0700 Subject: rcar-gen3: xserver-xorg: Downgrade to use 1.19.6 version In YP2.8, xserver-xorg was upgraded to 1.20.4. This breaks xserver-xorg congigures: | configure: error: Package requirements (libdrm >= 2.4.89) were not met: | Requested 'libdrm >= 2.4.89' but version of libdrm is 2.4.85 However, Renesas BSP uses libdrm version is 2.4.85. Therefore, let downgrade this version to use 1.19.6. Signed-off-by: Khang Nguyen Signed-off-by: Takamitsu Honda Change-Id: I2fbf888cf9acb88943d676506e95f63ad8ac4a50 --- .../recipes-graphics/xorg-xserver/xserver-xorg.inc | 180 +++++++++++++++++++++ ...NULL-value-detection-for-ID_INPUT-being-u.patch | 40 +++++ ...onfigure.ac-Fix-check-for-CLOCK_MONOTONIC.patch | 61 +++++++ ...c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch | 53 ++++++ .../0003-Remove-check-for-useSIGIO-option.patch | 47 ++++++ ...003-modesetting-Fix-16-bit-depth-bpp-mode.patch | 46 ++++++ .../xorg-xserver/xserver-xorg/macro_tweak.patch | 25 +++ .../xserver-xorg/musl-arm-inb-outb.patch | 18 +++ .../xorg-xserver/xserver-xorg_%.bbappend | 3 + .../xorg-xserver/xserver-xorg_1.19.%.bbappend | 3 - .../xorg-xserver/xserver-xorg_1.19.6.bb | 33 ++++ 11 files changed, 506 insertions(+), 3 deletions(-) create mode 100644 meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg.inc create mode 100644 meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0001-config-fix-NULL-value-detection-for-ID_INPUT-being-u.patch create mode 100644 meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch create mode 100644 meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch create mode 100644 meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch create mode 100644 meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch create mode 100644 meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch create mode 100644 meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch create mode 100644 meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend delete mode 100644 meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_1.19.%.bbappend create mode 100644 meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_1.19.6.bb (limited to 'meta-rcar-gen3/recipes-graphics/xorg-xserver') diff --git a/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg.inc new file mode 100644 index 0000000..89318e5 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg.inc @@ -0,0 +1,180 @@ +SUMMARY = "The X.Org X server" +HOMEPAGE = "http://www.x.org" +SECTION = "x11/base" +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880" + +# xf86-*-* packages depend on an X server built with the xfree86 DDX +# so we have a virtual to represent that: +# deprecated, we should use virtual/xserver instead +PROVIDES = "virtual/xserver-xf86" + +# Other packages tend to just care that there is *an* X server: +PROVIDES += "virtual/xserver" + +PE = "2" +INC_PR = "r8" + +XORG_PN = "xorg-server" +SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2" +SRC_URI += "file://macro_tweak.patch" + +S = "${WORKDIR}/${XORG_PN}-${PV}" + +inherit autotools pkgconfig + +inherit distro_features_check +REQUIRED_DISTRO_FEATURES = "x11" + +PROTO_DEPS = "xorgproto" +LIB_DEPS = "pixman libxfont2 xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess" +DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} font-util" + +# Split out some modules and extensions from the main package +# These aren't needed for basic operations and only take up space: +# 32.0k libdri.so +# 91.0k libexa.so +# 336.0k libglx.so +# 1360k libint10.so +# 180.0k libwfb.so +# 320.0k libxaa.so +# 124.0k libxf1bpp.so +# 84.0k libxf4bpp.so +# librecord.so +# libextmod.so +# libdbe.so + +PACKAGES =+ "${PN}-sdl \ + ${PN}-fbdev \ + ${PN}-xvfb \ + ${PN}-utils \ + ${PN}-xephyr \ + ${PN}-xwayland \ + ${PN}-multimedia-modules \ + ${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-glx \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + ${PN}-module-libint10 \ + ${PN}-module-libafb \ + ${PN}-module-libwfb \ + ${PN}-module-libmfb \ + ${PN}-module-libcfb \ + ${PN}-module-exa \ + ${PN}-module-xaa \ + ${PN}-module-libxf1bpp \ + ${PN}-module-libxf4bpp \ + xf86-video-modesetting" + +SUMMARY_xf86-video-modesetting = "X.Org X server -- modesetting display driver" +INSANE_SKIP_${MLPREFIX}xf86-video-modesetting = "xorg-driver-abi" + +XSERVER_RRECOMMENDS = "xkeyboard-config rgb xserver-xf86-config xkbcomp xf86-input-libinput" +RRECOMMENDS_${PN} += "${XSERVER_RRECOMMENDS}" +RRECOMMENDS_${PN}-xwayland += "${XSERVER_RRECOMMENDS}" +RDEPENDS_${PN}-xvfb += "xkeyboard-config" +RDEPENDS_${PN}-module-exa = "${PN} (= ${EXTENDPKGV})" + +FILES_${PN} = "${bindir} ${libdir}/X11/Options ${libdir}/X11/Cards ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules/*.so ${libdir}/xorg/modules/*.so /etc/X11 ${libdir}/xorg/protocol.txt ${datadir}/X11/xorg.conf.d" +FILES_${PN}-dev += "${libdir}/xorg/modules/*.la ${libdir}/xorg/modules/*/*.la" +FILES_${PN}-doc += "${libdir}/X11/doc ${datadir}/X11/xkb/compiled/README.compiled ${localstatedir}/lib/xkb/README.compiled" +FILES_${PN}-sdl = "${bindir}/Xsdl" +FILES_${PN}-fbdev = "${bindir}/Xfbdev" +FILES_${PN}-xvfb = "${bindir}/Xvfb" +FILES_${PN}-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl" +FILES_${PN}-xephyr = "${bindir}/Xephyr" +FILES_${PN}-xwayland = "${bindir}/Xwayland" +FILES_${PN}-multimedia-modules = "${libdir}/xorg/modules/multimedia/*drv*" +FILES_${PN}-extension-dri = "${libdir}/xorg/modules/extensions/libdri.so" +FILES_${PN}-extension-dri2 = "${libdir}/xorg/modules/extensions/libdri2.so" +FILES_${PN}-extension-glx = "${libdir}/xorg/modules/extensions/libglx.so" +FILES_${PN}-extension-record = "${libdir}/xorg/modules/extensions/librecord.so" +FILES_${PN}-extension-extmod = "${libdir}/xorg/modules/extensions/libextmod.so" +FILES_${PN}-extension-dbe = "${libdir}/xorg/modules/extensions/libdbe.so" +FILES_${PN}-module-libint10 = "${libdir}/xorg/modules/libint10.so" +FILES_${PN}-module-libafb = "${libdir}/xorg/modules/libafb.so" +FILES_${PN}-module-libwfb = "${libdir}/xorg/modules/libwfb.so" +FILES_${PN}-module-libmfb = "${libdir}/xorg/modules/libmfb.so" +FILES_${PN}-module-libcfb = "${libdir}/xorg/modules/libcfb.so" +FILES_${PN}-module-exa = "${libdir}/xorg/modules/libexa.so" +FILES_${PN}-module-xaa = "${libdir}/xorg/modules/libxaa.so" +FILES_${PN}-module-libxf1bpp = "${libdir}/xorg/modules/libxf1bpp.so" +FILES_${PN}-module-libxf4bpp = "${libdir}/xorg/modules/libxf4bpp.so" +FILES_xf86-video-modesetting = "${libdir}/xorg/modules/drivers/modesetting_drv.so" + +EXTRA_OECONF += "--with-fop=no \ + --with-pic \ + --disable-static \ + --disable-record \ + --disable-dmx \ + --disable-xnest \ + --enable-xvfb \ + --enable-composite \ + --without-dtrace \ + --with-int10=x86emu \ + --sysconfdir=/etc/X11 \ + --localstatedir=/var \ + --with-xkb-output=/var/lib/xkb \ +" + +OPENGL_PKGCONFIGS = "dri glx glamor dri3 xshmfence" +PACKAGECONFIG ??= "dri2 udev ${XORG_CRYPTO} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'xwayland', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-logind', '', d)} \ +" + +PACKAGECONFIG[udev] = "--enable-config-udev,--disable-config-udev,udev" +PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,xorgproto virtual/mesa" +PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2,xorgproto" +# DRI3 requires xshmfence to also be enabled +PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3,xorgproto" +PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,xorgproto virtual/libgl virtual/libx11" +PACKAGECONFIG[glamor] = "--enable-glamor,--disable-glamor,libepoxy virtual/libgbm,libegl" +PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind" +PACKAGECONFIG[xshmfence] = "--enable-xshmfence,--disable-xshmfence,libxshmfence" +PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[systemd-logind] = "--enable-systemd-logind=yes,--enable-systemd-logind=no,dbus," +PACKAGECONFIG[systemd] = "--with-systemd-daemon,--without-systemd-daemon,systemd" +PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,xorgproto" +PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland,wayland wayland-native wayland-protocols libepoxy" + +# Xorg requires a SHA1 implementation, pick one +XORG_CRYPTO ??= "openssl" +PACKAGECONFIG[openssl] = "--with-sha1=libcrypto,,openssl" +PACKAGECONFIG[nettle] = "--with-sha1=libnettle,,nettle" +PACKAGECONFIG[gcrypt] = "--with-sha1=libgcrypt,,libgcrypt" + +do_install_append () { + # Its assumed base-files creates this for us + rmdir ${D}${localstatedir}/log/ +} + +# Add runtime provides for the ABI versions of the video and input subsystems, +# so that drivers can depend on the relevant version. +python populate_packages_prepend() { + import subprocess + + # Set PKG_CONFIG_PATH so pkg-config looks at the .pc files that are going + # into the new package, not the staged ones. + newenv = dict(os.environ) + newenv["PKG_CONFIG_PATH"] = d.expand("${PKGD}${libdir}/pkgconfig/") + + def get_abi(name): + abis = { + "video": "abi_videodrv", + "input": "abi_xinput" + } + p = subprocess.Popen(args="pkg-config --variable=%s xorg-server" % abis[name], + shell=True, env=newenv, stdout=subprocess.PIPE) + stdout, stderr = p.communicate() + output = stdout.decode("utf-8").split(".")[0] + mlprefix = d.getVar('MLPREFIX') or '' + return "%sxorg-abi-%s-%s" % (mlprefix, name, output) + + pn = d.getVar("PN") + d.appendVar("RPROVIDES_" + pn, " " + get_abi("input")) + d.appendVar("RPROVIDES_" + pn, " " + get_abi("video")) +} diff --git a/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0001-config-fix-NULL-value-detection-for-ID_INPUT-being-u.patch b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0001-config-fix-NULL-value-detection-for-ID_INPUT-being-u.patch new file mode 100644 index 0000000..964d5dd --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0001-config-fix-NULL-value-detection-for-ID_INPUT-being-u.patch @@ -0,0 +1,40 @@ +From a309323328d9d6e0bf5d9ea1d75920e53b9beef3 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +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 +Signed-off-by: Peter Hutterer + +Upstream-status: Backport +https://patchwork.freedesktop.org/patch/196090/ +Affects: < 1.20.0 +[Yocto # 12899] + +Signed-off-by: Armin Kuster + +--- + 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 + diff --git a/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch new file mode 100644 index 0000000..16ec3ed --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch @@ -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 + + + +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 +--- + 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 +- +-int main(int argc, char *argv[[]]) { +- struct timespec tp; +- +- if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0) ++#include ++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 + diff --git a/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch new file mode 100644 index 0000000..d05eec5 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch @@ -0,0 +1,53 @@ +From d77cdc5e1eee26821ab98c947abea53fb7b18fe5 Mon Sep 17 00:00:00 2001 +From: California Sullivan +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 + +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 +--- + 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 + diff --git a/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch new file mode 100644 index 0000000..beed6cb --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch @@ -0,0 +1,47 @@ +From cf407b16cd65ad6e26a9c8e5984e163409a5c0f7 Mon Sep 17 00:00:00 2001 +From: Prabhu Sundararaj +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 +--- + 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 + diff --git a/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch new file mode 100644 index 0000000..5243761 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch @@ -0,0 +1,46 @@ +From 5028ef46ff4ab0930224b71024a7349b05610d42 Mon Sep 17 00:00:00 2001 +From: Stefan Agner +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 + +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 + diff --git a/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch new file mode 100644 index 0000000..c36e4e7 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch @@ -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 + +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 diff --git a/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch new file mode 100644 index 0000000..4be441f --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch @@ -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 +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 */ diff --git a/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend new file mode 100644 index 0000000..cfc2714 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend @@ -0,0 +1,3 @@ +# Glamor for Xorg requires gbm >= 10.2.0. +# Glamor is not necessary with current env, so disable it. +PACKAGECONFIG_remove = "glamor" diff --git a/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_1.19.%.bbappend b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_1.19.%.bbappend deleted file mode 100644 index cfc2714..0000000 --- a/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_1.19.%.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -# Glamor for Xorg requires gbm >= 10.2.0. -# Glamor is not necessary with current env, so disable it. -PACKAGECONFIG_remove = "glamor" diff --git a/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_1.19.6.bb b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_1.19.6.bb new file mode 100644 index 0000000..7e8a954 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_1.19.6.bb @@ -0,0 +1,33 @@ +require xserver-xorg.inc + +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 \ + " -- cgit 1.2.3-korg