modular-xorg-server-dfbsd: Update wip/modular-xorg-server-dfbsd to 1.20.3

This commit is contained in:
David Shao 2019-02-23 20:24:02 -08:00
parent 75af6f1003
commit 6067db1a75
26 changed files with 689 additions and 183 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.115 2018/03/07 11:57:38 wiz Exp $
# $NetBSD: Makefile,v 1.117 2018/10/26 10:20:12 maya Exp $
DISTNAME= xorg-server-${XORG_VERSION}
PKGNAME= modular-${DISTNAME}

View File

@ -1,8 +1,8 @@
# $NetBSD: Makefile.common,v 1.21 2018/03/07 11:57:38 wiz Exp $
# $NetBSD: Makefile.common,v 1.26 2018/10/25 22:40:57 maya Exp $
# used by x11/modular-xorg-server/Makefile
# used by x11/modular-xorg-xephyr/Makefile
XORG_VERSION= 1.19.6
XORG_VERSION= 1.20.3
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_XORG:=xserver/}
EXTRACT_SUFX= .tar.bz2
@ -63,15 +63,35 @@ CONFIGURE_ARGS+= --with-default-font-path=${FONT_PATHS:ts,:Q}
CONFIGURE_ARGS+= --disable-config-hal
CONFIGURE_ARGS+= --disable-dmx
.if ${OPSYS} != "FreeBSD" && ${OPSYS} != "DragonFly"
CONFIGURE_ARGS+= --disable-xwin
.endif
CONFIGURE_ARGS+= --disable-xephyr
.if ${OPSYS} != "FreeBSD" && ${OPSYS} != "DragonFly"
CONFIGURE_ARGS+= --disable-kdrive
#CONFIGURE_ARGS+= --disable-kdrive-vesa
CONFIGURE_ARGS+= --disable-xfake
CONFIGURE_ARGS+= --disable-xfbdev
CONFIGURE_ARGS+= --enable-xtrans-send-fds
CONFIGURE_ARGS+= --with-int10=x86emu
.endif
# From FreeBSD ports
# .if ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"
.if ${OPSYS} == "FreeBSD"
CONFIGURE_ARGS+= --with-shared-memory-dir=/tmp
CONFIGURE_ARGS+= --disable-config-udev
CONFIGURE_ARGS+= --disable-config-udev-kms
# CONFIGURE_ARGS+= --disable-xnest
# CONFIGURE_ARGS+= --disable-xvfb
CONFIGURE_ARGS+= --disable-xwayland
CONFIGURE_ARGS+= --enable-xcsecurity
.endif
# FreeBSD ports devel/libunwind not ported to pkgsrc
# .if ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"
# CONFIGURE_ARGS+= --disable-libunwind
# .endif
CONFIGURE_ENV+= APP_MAN_SUFFIX=1 FILE_MAN_SUFFIX=5
CONFIGURE_ENV+= DRIVER_MAN_SUFFIX=4
@ -102,6 +122,20 @@ CONFIGURE_ENV.NetBSD+= ac_cv_header_sys_event_h=no
# Avoid picking up epoll on illumos
CONFIGURE_ENV.SunOS+= ac_cv_func_epoll_create1=no
# Only available in newer releases
CONFIGURE_ENV.SunOS+= ac_cv_func_mkostemp=no
.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"
# Workaround glamor lockups when drm-devel-kmod (4.15-4.17) is installed
# with partial reverting of commit
# 86b2d8740a330deafe8a9bbf0402705a43efbb42
SUBST_CLASSES+= glamor
SUBST_STAGE.glamor= pre-configure
SUBST_MESSAGE.glamor= Workaround glamor lockups
SUBST_FILES.glamor= glamor/glamor_egl.c
SUBST_SED.glamor= -e '/glamor_make_pixmap_exportable/s,FALSE,TRUE,g'
.endif
INSTALLATION_DIRS+= lib/xorg/modules/drivers lib/xorg/modules/input
BUILDLINK_API_DEPENDS.MesaLib+= MesaLib>=7.8.0
@ -126,6 +160,8 @@ CONFIGURE_ARGS+= --with-sha1=libnettle
BUILDLINK_API_DEPENDS.libpciaccess+= libpciaccess>=0.11.0
BUILDLINK_DEPMETHOD.libpciaccess= full
.include "../../sysutils/libpciaccess/buildlink3.mk"
BUILDLINK_API_DEPENDS.xorgproto+= xorgproto>=2018.3
.include "../../x11/xorgproto/buildlink3.mk"
.include "../../x11/evieext/buildlink3.mk"
.include "../../x11/libX11/buildlink3.mk"
.include "../../x11/libXau/buildlink3.mk"
@ -142,6 +178,5 @@ BUILDLINK_API_DEPENDS.libXext+= libXext>=1.1.1
.include "../../x11/libxkbui/buildlink3.mk"
.include "../../x11/pixman/buildlink3.mk"
.include "../../x11/xcb-util-keysyms/buildlink3.mk"
.include "../../x11/xorgproto/buildlink3.mk"
.include "../../x11/xtrans/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"

View File

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.27 2016/11/16 10:14:36 wiz Exp $
@comment $NetBSD: PLIST,v 1.28 2018/05/11 13:47:35 wiz Exp $
bin/X
bin/Xnest
bin/Xorg
@ -56,6 +56,7 @@ include/xorg/geint.h
${PLIST.dri}include/xorg/glamor.h
include/xorg/globals.h
include/xorg/glx_extinit.h
include/xorg/glxvndabi.h
include/xorg/glyphstr.h
include/xorg/hotplug.h
include/xorg/i2c_def.h
@ -117,6 +118,7 @@ include/xorg/validate.h
include/xorg/vbe.h
include/xorg/vbeModes.h
include/xorg/vgaHW.h
include/xorg/vndserver.h
include/xorg/wfbrename.h
include/xorg/window.h
include/xorg/windowstr.h
@ -127,6 +129,7 @@ include/xorg/xf86.h
include/xorg/xf86Crtc.h
include/xorg/xf86Cursor.h
include/xorg/xf86DDC.h
include/xorg/xf86MatchDrivers.h
include/xorg/xf86Modes.h
include/xorg/xf86Module.h
include/xorg/xf86Opt.h

View File

@ -1,4 +1,9 @@
Copy port to x11/modular-xorg-server, do not install from wip.
Waiting for devd patches required on latest FreeBSD and DragonFly
submitted in
pkg/50200 (x11/modular-xorg-server)
to be accepted.
Port devd patches for 1.19.6 that have not been merged
into FreeBSD ports, supports evdev.

View File

@ -1,4 +1,4 @@
# $NetBSD: buildlink3.mk,v 1.21 2018/03/07 11:57:38 wiz Exp $
# $NetBSD: buildlink3.mk,v 1.22 2018/05/11 13:47:35 wiz Exp $
BUILDLINK_TREE+= modular-xorg-server
@ -21,6 +21,7 @@ BUILDLINK_DEPMETHOD.libpciaccess= full
.include "../../sysutils/libpciaccess/buildlink3.mk"
.include "../../x11/pixman/buildlink3.mk"
.include "../../x11/xorgproto/buildlink3.mk"
.if !empty(USE_OLD_MODULAR_XORG_SERVER:M[yY][eE][sS])
.include "../../graphics/MesaLib7/buildlink3.mk" # XXX should not be needed for non-dri build
.include "../../x11/libXfont/buildlink3.mk"
@ -28,7 +29,6 @@ BUILDLINK_DEPMETHOD.libpciaccess= full
.include "../../x11/libXfont2/buildlink3.mk"
.include "../../graphics/MesaLib/buildlink3.mk" # XXX should not be needed for non-dri build
.endif
.include "../../x11/xorgproto/buildlink3.mk"
.endif # MODULAR_XORG_SERVER_BUILDLINK3_MK
BUILDLINK_TREE+= -modular-xorg-server

View File

@ -1,27 +1,32 @@
$NetBSD: distinfo,v 1.87 2018/01/25 15:06:10 jperkin Exp $
$NetBSD: distinfo,v 1.92 2018/10/26 10:20:12 maya Exp $
SHA1 (xorg-server-1.19.6.tar.bz2) = 2dd560ac49bdbda7f67166546af43541fabf517f
RMD160 (xorg-server-1.19.6.tar.bz2) = c2b6f9fe3957c99cddd44bc3ae38343a1c4f314e
SHA512 (xorg-server-1.19.6.tar.bz2) = 38519a8d0af9dd034045fc346959496dd718fa59b6188307974797a1cd9c349deb54987f6232ea8396baf810dcc710c0ff191f76ed2186cae4d44921b3680412
Size (xorg-server-1.19.6.tar.bz2) = 5984528 bytes
SHA1 (xorg-server-1.20.3.tar.bz2) = a522cd543606b4d0509d821b8061904951171c50
RMD160 (xorg-server-1.20.3.tar.bz2) = a57a7e3d0d2e3c84f4743de6890c7d26b502e7a1
SHA512 (xorg-server-1.20.3.tar.bz2) = ee44554f86df4297f54c5871fe7a18954eeef4338775a25f36d6577b279c4775f61128da71b86cfaeadcc080838d6749dede138d4db178866579da2056543fba
Size (xorg-server-1.20.3.tar.bz2) = 6205000 bytes
SHA1 (patch-config_config-backends.h) = f44868caa51e972a76949f73ac6083640af2c351
SHA1 (patch-config_config.c) = 5a3fe4cb6c2170335ab547f438386cff77a9c152
SHA1 (patch-config_devd.c) = 4e4cf2f61507e350cccdc04742b7d985aa84844f
SHA1 (patch-configure) = 1f476fd71d97b84bc2e581f9b8e7d582eaece023
SHA1 (patch-glx_glxscreens.c) = 1e8861f49537e4a23295128289dd3ede4ecb2035
SHA1 (patch-hw_xfree86_common_xf86AutoConfig.c) = 765bbc7c8c61a0ffa5da54099e212cb981ef3bd0
SHA1 (patch-hw_xfree86_common_xf86Config.c) = 7964ac8d32d4fcea113c8950661ab921c63ad9d0
SHA1 (patch-hw_xfree86_common_xf86Globals.c) = 870100ea740b2c0bc1261355d3fcdf17ec50f64f
SHA1 (patch-hw_xfree86_common_xf86Xinput.c) = 5c39ab681afa54ba24465fb9243b8fc2e71fd0ab
SHA1 (patch-config_devd.c) = f90ca44c3ebfab5a848ab027d90101451a0f4042
SHA1 (patch-configure) = 88707ff2b12acd81b1ec1a183a71b1141273f7b5
SHA1 (patch-glamor_glamor__egl.c) = 8057778a5f0fd03c3ecd1191cff9123310396a1f
SHA1 (patch-hw_xfree86_common_xf86AutoConfig.c) = 61c72780a65d423965225a2dd2206bcf2264c89f
SHA1 (patch-hw_xfree86_common_xf86Config.c) = bcb413a2211ddcde0728a368e313bea841e03828
SHA1 (patch-hw_xfree86_common_xf86Globals.c) = da35eb1c437eaffce0b8f8a3964e3a75631d8a73
SHA1 (patch-hw_xfree86_common_xf86Xinput.c) = 5ad0c36fe68f87c853ac084640269e3b8f9370c9
SHA1 (patch-hw_xfree86_common_xf86pciBus.c) = 896825ba12646431cba603938d118acbdde305dd
SHA1 (patch-hw_xfree86_common_xf86sbusBus.h) = f56f87336b2f669413ebb1005a2b64568a111f92
SHA1 (patch-hw_xfree86_dri2_dri2.c) = 44aa2e3d15a8985e2541a405b8a5ec7b7813b29f
SHA1 (patch-hw_xfree86_dri2_dri2.c) = 475ea1956f2e71d684cf1e5a8a68b30279959a04
SHA1 (patch-hw_xfree86_drivers_modesetting_drmmode__display.c) = 61735de44b0579d0a3d2bfb0d91c72c365d1b93f
SHA1 (patch-hw_xfree86_modes_xf86Cursors.c) = bd9870edb1196a4d2eab49b2d13fbe6eefbe4c09
SHA1 (patch-hw_xfree86_os-support_bsd_arm__video.c) = 9c03b24f44eafc5fabe27e9d6cc6c54b607e47c3
SHA1 (patch-hw_xfree86_os-support_bsd_bsd__VTsw.c) = 90343f694c27a6fdd5070e1167687943bd056a99
SHA1 (patch-hw_xfree86_os-support_bsd_i386__video.c) = 9bd30fa3ed7c73afd0b15e5cf5286de439f19351
SHA1 (patch-hw_xfree86_os-support_bsd_bsd__init.c) = 0180a25df158ce3716071882fbb55cff9fe8e5ff
SHA1 (patch-hw_xfree86_os-support_bsd_i386__video.c) = 68889e3ae80b9536d82909855ec7156caa928374
SHA1 (patch-hw_xfree86_os-support_bsd_ppc__video.c) = 2f5126ee47cbd66c0241e8fbf66c8af363e01fd7
SHA1 (patch-hw_xfree86_os-support_bus_Sbus.c) = 0035b970bdae1bab51b8ca6bfeed060ec4df3a60
SHA1 (patch-hw_xfree86_os-support_solaris_solaris-amd64.S) = 088a3118deb7567194e08dd46e34cb6edba38400
SHA1 (patch-hw_xfree86_os-support_xf86_OSproc.h) = e1c049857893d2f050d5fb297a3e8ef86f0b1d7e
SHA1 (patch-hw_xfree86_os_support_bus_xf86Sbus.h) = 0e0a243b737f8f762c9f8f24a2265d1b6aefb544
SHA1 (patch-hw_xfree86_sdksyms.sh) = c403149ad35ffb70ee44f70de94b4497b751c118
SHA1 (patch-os_xstrans.c) = 489a4f4b226ecd361b922895204fb9041b065d4e
SHA1 (patch-hw_xfree86_xorg-wrapper.c) = d1178c088307cd3781f8989522bab570b551ff55
SHA1 (patch-randr_randr.c) = eb44a07770ca7308d706aa2324408bb8c6c6b7ba
SHA1 (patch-randr_rrlease.c) = 82ace923fe7b65f4cf1be2ff243eabd886f3109e

View File

@ -1,12 +1,24 @@
# $NetBSD: options.mk,v 1.18 2018/03/07 11:57:38 wiz Exp $
# $NetBSD: options.mk,v 1.19 2018/05/11 13:47:35 wiz Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.modular-xorg-server
PKG_SUPPORTED_OPTIONS= inet6 debug dtrace
PKG_SUPPORTED_OPTIONS+= revert_flink
PKG_SUPPORTED_OPTIONS+= revert_randr_lease
PKG_SUPPORTED_OPTIONS+= allow_unprivileged
PKG_SUGGESTED_OPTIONS= inet6
.if ${OPSYS} == "DragonFly"
PKG_SUGGESTED_OPTIONS+= revert_flink
PKG_SUGGESTED_OPTIONS+= revert_randr_lease
.endif
.if ${OPSYS} == "NetBSD"
PKG_SUGGESTED_OPTIONS+= allow_unprivileged
.endif
PKG_SUPPORTED_OPTIONS+= devd
.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"
PKG_SUGGESTED_OPTIONS+= devd
PKG_SUGGESTED_OPTIONS+= devd
.endif
.if ${X11_TYPE} == "modular"
@ -95,3 +107,21 @@ SUBST_MESSAGE.devd_dix= Patching include/dix-config.h for devd
SUBST_FILES.devd_dix+= include/dix-config.h
SUBST_SED.devd_dix+= -e 's|/\* \#undef CONFIG_UDEV \*/|\#define CONFIG_DEVD 1 |'
.endif
.if !empty(PKG_OPTIONS:Mrevert_flink)
CPPFLAGS+= -DREVERT_FLINK
.endif
.if !empty(PKG_OPTIONS:Mrevert_randr_lease)
CPPFLAGS+= -DREVERT_RANDR_LEASE
SUBST_CLASSES+= lease
SUBST_STAGE.lease= post-configure
SUBST_MESSAGE.lease= Removing definition of XF86_LEASE_VERSION
SUBST_FILES.lease+= hw/xfree86/modes/xf86Crtc.h
SUBST_SED.lease+= -e 's|XF86_LEASE_VERSION|REVERT_XF86_LEASE_VERSION|g'
.endif
.if !empty(PKG_OPTIONS:Mallow_unprivileged)
CPPFLAGS+= -DALLOW_UNPRIVILEGED
.endif

View File

@ -1,10 +1,15 @@
$NetBSD$
From FreeBSD ports / DragonFly dports x11-servers/xorg-server 1.18.4.
devd support to detect devices from FreeBSD ports / DragonFly dports
x11-servers/xorg-server 1.18.4.
--- config/devd.c.orig 2018-01-06 18:38:25.992174000 +0000
Added many debugging statements with DebugF.
Adjust for update to 1.19.6 API.
--- config/devd.c.orig 2018-08-04 04:32:13.580868000 +0000
+++ config/devd.c
@@ -0,0 +1,643 @@
@@ -0,0 +1,613 @@
+/*
+ * Copyright (c) 2012 Baptiste Daroussin
+ * Copyright (c) 2013, 2014 Alex Kozlov
@ -247,9 +252,10 @@ From FreeBSD ports / DragonFly dports x11-servers/xorg-server 1.18.4.
+ attrs.product = strdup(product);
+ options = input_option_new(options, "name", product);
+ }
+ else
+ else {
+ DebugF("[config/devd]: device_added: input_option_new([name], [(unnamed)])\n");
+ options = input_option_new(options, "name", "(unnamed)");
+ }
+
+ free(vendor);
+ }
@ -329,7 +335,7 @@ From FreeBSD ports / DragonFly dports x11-servers/xorg-server 1.18.4.
+ attrs.product, path);
+
+ NewInputDeviceRequest(options, &attrs, &dev);
+
+
+ DebugF("[config/devd]: device_added: finished NewInputDeviceRequest for device %s (%s)\n",
+ attrs.product, path);
+
@ -399,7 +405,7 @@ From FreeBSD ports / DragonFly dports x11-servers/xorg-server 1.18.4.
+}
+
+static void
+socket_handler(int sock, int ready, void *data);
+wakeup_handler(int sock, int ready, void *data);
+
+static int
+connect_devd(void)
@ -430,7 +436,7 @@ From FreeBSD ports / DragonFly dports x11-servers/xorg-server 1.18.4.
+
+ DebugF("[config/devd]: connected to devd, sock (%d), pid file (%s)\n", sock, DEVD_SOCK_PATH);
+
+ SetNotifyFd(sock, socket_handler, X_NOTIFY_READ, NULL);
+ SetNotifyFd(sock, wakeup_handler, X_NOTIFY_READ, NULL);
+
+ return sock;
+}
@ -461,8 +467,6 @@ From FreeBSD ports / DragonFly dports x11-servers/xorg-server 1.18.4.
+ ssize_t ret, cap, sz = 0;
+ char c;
+
+ *out = NULL;
+
+ cap = 1024;
+ buf = malloc(cap * sizeof(char));
+ if (!buf)
@ -480,7 +484,7 @@ From FreeBSD ports / DragonFly dports x11-servers/xorg-server 1.18.4.
+ disconnect_devd(sock_devd);
+ rtimer = TimerSet(NULL, 0, 1, reconnect_handler, NULL);
+ LogMessage(X_WARNING, "config/devd: devd socket is lost\n");
+ DebugF("[config/devd]: socket_getline: EOF devd socket (%d) is LOST\n", sock_devd);
+ DebugF("[config/devd]: WARNING socket_getline: EOF devd socket (%d) is LOST\n", sock_devd);
+ free(buf);
+ return -1;
+ }
@ -491,6 +495,7 @@ From FreeBSD ports / DragonFly dports x11-servers/xorg-server 1.18.4.
+ cap *= 2;
+ newbuf = realloc(buf, cap * sizeof(char));
+ if (!newbuf) {
+ DebugF("[config/devd]: ERROR socket_getline: realloc failed on buf\n");
+ free(buf);
+ return -1;
+ }
@ -510,18 +515,24 @@ From FreeBSD ports / DragonFly dports x11-servers/xorg-server 1.18.4.
+ return sz;
+}
+
+#if 0
+static void
+wakeup_handler(void *data, int err)
+wakeup_handler(int sock, int ready, void *data)
+{
+ char *line = NULL;
+ char *walk;
+ ssize_t sz;
+
+ if (err < 0)
+ return;
+
+ if (socket_getline(sock_devd, &line) < 0)
+ DebugF("[config/devd]: wakeup_handler: sock_devd (%d), sock (%d), ready (%d)\n", sock_devd, sock, ready);
+
+ sz = socket_getline(sock_devd, &line);
+ if (sz < 0)
+ return;
+ if (sz == 0) {
+ DebugF("[config/devd]: WARNING wakeup_handler: socket_getline returned zero length line\n", line);
+ free(line);
+ return;
+ }
+ DebugF("[config/devd]: wakeup_handler: socket_getline (%s)\n", line);
+
+ walk = strchr(line + 1, ' ');
+ if (walk != NULL)
@ -529,57 +540,21 @@ From FreeBSD ports / DragonFly dports x11-servers/xorg-server 1.18.4.
+
+ switch (*line) {
+ case DEVD_EVENT_ADD:
+ DebugF("[config/devd]: wakeup_handler: DEVD_EVENT_ADD line (%s)\n", line);
+ device_added(line + 1);
+ break;
+ case DEVD_EVENT_REMOVE:
+ DebugF("[config/devd]: wakeup_handler: DEVD_EVENT_REMOVE line (%s)\n", line);
+ device_removed(line + 1);
+ break;
+ case DEVD_EVENT_NOTIFY:
+ DebugF("[config/devd]: wakeup_handler: DEVD_EVENT_NOTIFY line (%s)\n", line);
+ break;
+ default:
+ break;
+ }
+ free(line);
+}
+#endif
+
+static void
+socket_handler(int sock, int ready, void *data)
+{
+ char *line = NULL;
+ char *walk;
+ ssize_t sz;
+
+ DebugF("[config/devd]: socket_handler: sock_devd (%d), sock (%d), ready (%d)\n", sock_devd, sock, ready);
+
+ sz = socket_getline(sock_devd, &line);
+ if (sz < 0)
+ return;
+ if (sz == 0) {
+ free(line);
+ return;
+ }
+ DebugF("[config/devd]: socket_handler: socket_getline (%s)\n", line);
+
+ walk = strchr(line + 1, ' ');
+ if (walk != NULL)
+ walk[0] = '\0';
+
+ switch (*line) {
+ case DEVD_EVENT_ADD:
+ DebugF("[config/devd]: socket_handler: DEVD_EVENT_ADD line (%s)\n", line);
+ device_added(line + 1);
+ break;
+ case DEVD_EVENT_REMOVE:
+ DebugF("[config/devd]: socket_handler: DEVD_EVENT_REMOVE line (%s)\n", line);
+ device_removed(line + 1);
+ break;
+ case DEVD_EVENT_NOTIFY:
+ DebugF("[config/devd]: socket_handler: DEVD_EVENT_NOTIFY line (%s)\n", line);
+ break;
+ default:
+ break;
+ }
+ free(line);
+}
+
+#if 0
+static void

View File

@ -5,9 +5,29 @@ Use USE_AMD64_IOPL (actually x86_64_iopl) on NetBSD/amd64.
for netbsd, force pass pthread configure checks (pthread not needed)
--- configure.orig 2017-12-20 20:32:47.000000000 +0000
Patches from FreeBSD ports x11-servers/xorg-server 1.18.4:
* Fix xorg-server build on arm64.
--- configure.orig 2015-02-10 22:49:52.000000000 +0000
+++ configure
@@ -23305,7 +23305,7 @@ $as_echo "#define USE_DEV_IO 1" >>confde
@@ -23098,9 +23098,14 @@ $as_echo "#define USE_ALPHA_PIO 1" >>con
esac
GLX_ARCH_DEFINES="-D__GLX_ALIGN64 -mieee"
;;
- arm*)
+ arm*|aarch64*)
ARM_VIDEO=yes
DEFAULT_INT10="stub"
+ case $host_os in
+ *freebsd*)
+ $as_echo "#define USE_DEV_IO 1" >>confdefs.h
+ ;;
+ esac
;;
i*86)
I386_VIDEO=yes
@@ -23140,7 +23145,7 @@ $as_echo "#define USE_DEV_IO 1" >>confde
$as_echo "#define USE_DEV_IO 1" >>confdefs.h
;;
*netbsd*)
@ -16,7 +36,7 @@ for netbsd, force pass pthread configure checks (pthread not needed)
SYS_LIBS=-lx86_64
;;
@@ -25149,7 +25149,8 @@ case ${host_os} in
@@ -24948,7 +24953,8 @@ case ${host_os} in
netbsd*)
# use libc stubs, don't link against libpthread, to allow
# dynamic loading

View File

@ -0,0 +1,122 @@
$NetBSD$
Option to revert
2017-05-18 glamor_egl: Avoid flink names in glamor_egl_create_textured_pixmap().
commit 59de50d6ef3331ee03eb82d4acba45aa75c70d42
glamor_egl: Avoid flink names in glamor_egl_create_textured_pixmap().
Using flink is banned on render nodes, and they needlessly expose our
screen pixmap contents to any authenticated client. This also
incidentally drops the dependency on EGL_MESA_drm_image.
--- glamor/glamor_egl.c.orig 2018-10-15 15:59:33.000000000 +0000
+++ glamor/glamor_egl.c
@@ -93,6 +93,40 @@ glamor_egl_make_current(struct glamor_co
}
}
+#if defined(REVERT_FLINK)
+static EGLImageKHR
+_glamor_egl_create_image(struct glamor_egl_screen_private *glamor_egl,
+ int width, int height, int stride, int name, int depth)
+{
+ EGLImageKHR image;
+
+ EGLint attribs[] = {
+ EGL_WIDTH, 0,
+ EGL_HEIGHT, 0,
+ EGL_DRM_BUFFER_STRIDE_MESA, 0,
+ EGL_DRM_BUFFER_FORMAT_MESA,
+ EGL_DRM_BUFFER_FORMAT_ARGB32_MESA,
+ EGL_DRM_BUFFER_USE_MESA,
+ EGL_DRM_BUFFER_USE_SHARE_MESA | EGL_DRM_BUFFER_USE_SCANOUT_MESA,
+ EGL_NONE
+ };
+ attribs[1] = width;
+ attribs[3] = height;
+ attribs[5] = stride;
+ if (depth != 32 && depth != 24)
+ return EGL_NO_IMAGE_KHR;
+ image = eglCreateImageKHR(glamor_egl->display,
+ glamor_egl->context,
+ EGL_DRM_BUFFER_MESA,
+ (void *) (uintptr_t) name,
+ attribs);
+ if (image == EGL_NO_IMAGE_KHR)
+ return EGL_NO_IMAGE_KHR;
+
+ return image;
+}
+#endif
+
static int
glamor_get_flink_name(int fd, int handle, int *name)
{
@@ -184,6 +218,48 @@ glamor_egl_create_textured_pixmap(Pixmap
{
ScreenPtr screen = pixmap->drawable.pScreen;
ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
+
+#if defined(REVERT_FLINK)
+ struct glamor_screen_private *glamor_priv =
+ glamor_get_screen_private(screen);
+ struct glamor_egl_screen_private *glamor_egl;
+ EGLImageKHR image;
+ GLuint texture;
+ int name;
+ Bool ret = FALSE;
+
+ glamor_egl = glamor_egl_get_screen_private(scrn);
+
+ glamor_make_current(glamor_priv);
+ if (!glamor_get_flink_name(glamor_egl->fd, handle, &name)) {
+ xf86DrvMsg(scrn->scrnIndex, X_ERROR,
+ "Couldn't flink pixmap handle\n");
+ glamor_set_pixmap_type(pixmap, GLAMOR_DRM_ONLY);
+ assert(0);
+ return FALSE;
+ }
+
+ image = _glamor_egl_create_image(glamor_egl,
+ pixmap->drawable.width,
+ pixmap->drawable.height,
+ ((stride * 8 +
+ 7) / pixmap->drawable.bitsPerPixel),
+ name, pixmap->drawable.depth);
+ if (image == EGL_NO_IMAGE_KHR) {
+ glamor_set_pixmap_type(pixmap, GLAMOR_DRM_ONLY);
+ goto done;
+ }
+ glamor_create_texture_from_image(screen, image, &texture);
+ glamor_set_pixmap_type(pixmap, GLAMOR_TEXTURE_DRM);
+ glamor_set_pixmap_texture(pixmap, texture);
+ glamor_egl_set_pixmap_image(pixmap, image, FALSE);
+ ret = TRUE;
+
+ done:
+ return ret;
+}
+
+#else /* !REVERT_FLINK */
struct glamor_egl_screen_private *glamor_egl =
glamor_egl_get_screen_private(scrn);
int ret, fd;
@@ -213,6 +289,7 @@ glamor_egl_create_textured_pixmap(Pixmap
close(fd);
return TRUE;
}
+#endif /* REVERT_FLINK */
Bool
glamor_egl_create_textured_pixmap_from_gbm_bo(PixmapPtr pixmap,
@@ -934,6 +1011,9 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd
goto error; \
}
+#if defined(REVERT_FLINK)
+ GLAMOR_CHECK_EGL_EXTENSION(MESA_drm_image);
+#endif
GLAMOR_CHECK_EGL_EXTENSION(KHR_surfaceless_context);
if (eglBindAPI(EGL_OPENGL_API)) {

View File

@ -1,26 +0,0 @@
$NetBSD$
https://cgit.freedesktop.org/xorg/xserver/commit/?id=c2954b16c8730c7ed8441fd8dba25900f3aed265
glx: do not pick sRGB config for 32-bit RGBA visual
This fixes blending issues seen with kwin and gnome-shell when
32bit visual has sRGB capability set.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103699
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103646
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103655
--- glx/glxscreens.c.orig 2017-12-20 20:32:33.000000000 +0000
+++ glx/glxscreens.c
@@ -275,6 +275,11 @@ pickFBConfig(__GLXscreen * pGlxScreen, V
/* If it's the 32-bit RGBA visual, demand a 32-bit fbconfig. */
if (visual->nplanes == 32 && config->rgbBits != 32)
continue;
+ /* If it's the 32-bit RGBA visual, do not pick sRGB capable config.
+ * This can cause issues with compositors that are not sRGB aware.
+ */
+ if (visual->nplanes == 32 && config->sRGBCapable == GL_TRUE)
+ continue;
/* Can't use the same FBconfig for multiple X visuals. I think. */
if (config->visualID != 0)
continue;

View File

@ -1,27 +1,39 @@
$NetBSD$
$NetBSD: patch-hw_xfree86_common_xf86AutoConfig.c,v 1.3 2018/10/26 10:20:12 maya Exp $
From FreeBSD ports for x11-servers/xorg-server.
Patches from FreeBSD ports /DragonFly dports for x11-servers/xorg-server 1.18.4.
--- hw/xfree86/common/xf86AutoConfig.c.orig 2017-12-20 20:32:33.000000000 +0000
Look for wsfb on netbsd (needed by genfb)
--- hw/xfree86/common/xf86AutoConfig.c.orig 2018-10-25 14:13:21.000000000 +0000
+++ hw/xfree86/common/xf86AutoConfig.c
@@ -276,7 +276,7 @@ listPossibleVideoDrivers(char *matches[]
i += xf86PciMatchDriver(&matches[i], nmatches - i);
@@ -294,7 +294,7 @@ listPossibleVideoDrivers(XF86MatchedDriv
xf86PciMatchDriver(md);
#endif
-#if defined(__linux__)
+#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__)
matches[i++] = xnfstrdup("modesetting");
xf86AddMatchedDriver(md, "modesetting");
#endif
@@ -285,8 +285,10 @@ listPossibleVideoDrivers(char *matches[]
if (i < (nmatches - 1)) {
@@ -302,8 +302,10 @@ listPossibleVideoDrivers(XF86MatchedDriv
/* Fallback to platform default frame buffer driver */
#if !defined(__linux__) && defined(__sparc__)
matches[i++] = xnfstrdup("wsfb");
xf86AddMatchedDriver(md, "wsfb");
-#else
+#elif defined(__linux__)
matches[i++] = xnfstrdup("fbdev");
xf86AddMatchedDriver(md, "fbdev");
+#elif defined(__FreeBSD__)
+ matches[i++] = xnfstrdup("scfb");
+ xf86AddMatchedDriver(md, "scfb");
#endif
}
#endif /* !__sun */
@@ -313,6 +315,9 @@ listPossibleVideoDrivers(XF86MatchedDriv
#elif defined(__sparc__) && !defined(__sun)
xf86AddMatchedDriver(md, "sunffb");
#endif
+#if defined(__NetBSD__)
+ xf86AddMatchedDriver(md, "wsfb");
+#endif
}
/* copy a screen section and enter the desired driver

View File

@ -1,6 +1,7 @@
$NetBSD$
devd support to detect devices from FreeBSD ports / DragonFly dports
x11-servers/xorg-server 1.18.4.
--- hw/xfree86/common/xf86Config.c.orig 2017-01-05 21:19:31.000000000 +0000
+++ hw/xfree86/common/xf86Config.c
@ -18,7 +19,7 @@ devd support to detect devices from FreeBSD ports / DragonFly dports
#elif defined(CONFIG_UDEV)
config_backend = "udev";
+#elif defined(CONFIG_DEVD)
+ config_backend = "devd";
+ config_backend = "devd";
#else
config_backend = "wscons";
#endif

View File

@ -1,13 +1,14 @@
$NetBSD$
devd support to detect devices from FreeBSD ports / DragonFly dports
x11-servers/xorg-server 1.18.4.
--- hw/xfree86/common/xf86Globals.c.orig 2015-07-18 23:25:51.820719000 +0000
--- hw/xfree86/common/xf86Globals.c.orig 2018-05-10 16:32:35.000000000 +0000
+++ hw/xfree86/common/xf86Globals.c
@@ -122,7 +122,8 @@ xf86InfoRec xf86Info = {
@@ -117,7 +117,8 @@ xf86InfoRec xf86Info = {
.miscModInDevEnabled = TRUE,
.miscModInDevAllowNonLocal = FALSE,
.pmFlag = TRUE,
.disableRandR = FALSE,
.randRFrom = X_DEFAULT,
-#if defined(CONFIG_HAL) || defined(CONFIG_UDEV) || defined(CONFIG_WSCONS)
+#if defined(CONFIG_HAL) || defined(CONFIG_UDEV) || defined(CONFIG_WSCONS) || \
+ defined(CONFIG_DEVD)

View File

@ -1,8 +1,7 @@
$NetBSD$
From FreeBSD ports / DragonFly dports x11-servers/xorg-server 1.18.4.
devd support
devd support to detect devices from FreeBSD ports / DragonFly dports
x11-servers/xorg-server 1.18.4.
--- hw/xfree86/common/xf86Xinput.c.orig 2017-12-20 20:32:33.000000000 +0000
+++ hw/xfree86/common/xf86Xinput.c

View File

@ -9,7 +9,7 @@ dri2.c:320:27: note: initialize the variable 'ref' to silence this warning
dri2.c:601:27: note: initialize the variable 'ref' to silence this warning
DRI2DrawableRefPtr ref;
--- hw/xfree86/dri2/dri2.c.orig 2017-01-06 15:03:50.000000000 +0000
--- hw/xfree86/dri2/dri2.c.orig 2015-01-26 18:42:23.000000000 +0000
+++ hw/xfree86/dri2/dri2.c
@@ -312,7 +312,7 @@ typedef struct DRI2DrawableRefRec {
static DRI2DrawableRefPtr

View File

@ -0,0 +1,48 @@
$NetBSD$
Option to revert effects of upstream:
2018-02-27 Add RandR leases with modesetting driver support [v6]
commit e4e3447603b5fd3a38a92c3f972396d1f81168ad
--- hw/xfree86/drivers/modesetting/drmmode_display.c.orig 2018-10-15 15:59:33.000000000 +0000
+++ hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -3196,6 +3196,7 @@ drmmode_xf86crtc_resize(ScrnInfoPtr scrn
return FALSE;
}
+#if !defined(REVERT_RANDR_LEASE)
static void
drmmode_validate_leases(ScrnInfoPtr scrn)
{
@@ -3233,6 +3234,7 @@ drmmode_validate_leases(ScrnInfoPtr scrn
free(lessees);
}
+#endif
static int
drmmode_create_lease(RRLeasePtr lease, int *fd)
@@ -3485,8 +3487,10 @@ drmmode_set_desired_modes(ScrnInfoPtr pS
}
}
+#if !defined(REVERT_RANDR_LEASE)
/* Validate leases on VT re-entry */
drmmode_validate_leases(pScrn);
+#endif
return TRUE;
}
@@ -3693,8 +3697,10 @@ drmmode_handle_uevents(int fd, void *clo
drmmode_output_init(scrn, drmmode, mode_res, i, TRUE, 0);
}
+#if !defined(REVERT_RANDR_LEASE)
/* Check to see if a lessee has disappeared */
drmmode_validate_leases(scrn);
+#endif
if (changed) {
RRSetChanged(xf86ScrnToScreen(scrn));

View File

@ -0,0 +1,20 @@
$NetBSD$
Option to revert effects of upstream:
2018-02-27 Add RandR leases with modesetting driver support [v6]
commit e4e3447603b5fd3a38a92c3f972396d1f81168ad
--- hw/xfree86/modes/xf86Cursors.c.orig 2018-10-15 15:59:33.000000000 +0000
+++ hw/xfree86/modes/xf86Cursors.c
@@ -348,7 +348,9 @@ Bool
xf86_crtc_show_cursor(xf86CrtcPtr crtc)
{
if (!crtc->cursor_in_range) {
+#if !defined(REVERT_RANDR_LEASE)
crtc->funcs->hide_cursor(crtc);
+#endif
return TRUE;
}

View File

@ -0,0 +1,103 @@
$NetBSD: patch-hw_xfree86_os-support_bsd_bsd__init.c,v 1.1 2018/10/26 10:20:12 maya Exp $
Don't error when running unprivileged.
From FreeBSD ports for x11-servers/xorg-server 1.18.4.
sparc64 patch
Bug 196678
x11-servers/xorg-server: Update to 1.19.6 + make config/devd recognize
/dev/input/eventX from multimedia/webcamd
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196678
Attachment #191592: update Xorg to 1.19.6 and integrate collective devd enhancements
for bug #196678
https://bugs.freebsd.org/bugzilla/attachment.cgi?id=191592&action=diff
--- hw/xfree86/os-support/bsd/bsd_init.c.orig 2018-10-25 14:13:21.000000000 +0000
+++ hw/xfree86/os-support/bsd/bsd_init.c
@@ -48,6 +48,10 @@ static int devConsoleFd = -1;
#if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)
static int VTnum = -1;
static int initialVT = -1;
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
+static struct termios tty_attr; /* tty state to restore */
+static int tty_mode; /* kbd mode to restore */
+#endif /* __FreeBSD__ */
#endif
#ifdef PCCONS_SUPPORT
@@ -165,10 +169,12 @@ xf86OpenConsole()
#endif
if (serverGeneration == 1) {
+#if !defined(ALLOW_UNPRIVILEGED)
/* check if we are run with euid==0 */
if (geteuid() != 0) {
FatalError("xf86OpenConsole: Server must be suid root");
}
+#endif
if (!KeepTty) {
/*
@@ -230,6 +236,9 @@ xf86OpenConsole()
* Add cases for other *BSD that behave the same.
*/
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__sparc64__)
+ pci_system_init_dev_mem(fd);
+#endif
uname(&uts);
i = atof(uts.release) * 100;
if (i >= 310)
@@ -253,6 +262,9 @@ xf86OpenConsole()
#endif
acquire_vt:
if (!xf86Info.ShareVTs) {
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
+ struct termios nTty;
+#endif /* __FreeBSD__ */
/*
* now get the VT
*/
@@ -287,6 +299,27 @@ xf86OpenConsole()
if (ioctl(xf86Info.consoleFd, KDSETMODE, KD_GRAPHICS) < 0) {
FatalError("xf86OpenConsole: KDSETMODE KD_GRAPHICS failed");
}
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
+ tcgetattr(xf86Info.consoleFd, &tty_attr);
+ ioctl(xf86Info.consoleFd, KDGKBMODE, &tty_mode);
+
+ /* disable special keys */
+ if (ioctl(xf86Info.consoleFd, KDSKBMODE, K_RAW) < 0) {
+ FatalError("xf86OpenConsole: KDSKBMODE K_RAW failed (%s)",
+ strerror(errno));
+ }
+
+ nTty = tty_attr;
+ nTty.c_iflag = IGNPAR | IGNBRK;
+ nTty.c_oflag = 0;
+ nTty.c_cflag = CREAD | CS8;
+ nTty.c_lflag = 0;
+ nTty.c_cc[VTIME] = 0;
+ nTty.c_cc[VMIN] = 1;
+ cfsetispeed(&nTty, 9600);
+ cfsetospeed(&nTty, 9600);
+ tcsetattr(xf86Info.consoleFd, TCSANOW, &nTty);
+#endif /* __FreeBSD__ */
}
else { /* xf86Info.ShareVTs */
close(xf86Info.consoleFd);
@@ -594,6 +627,10 @@ xf86CloseConsole()
case SYSCONS:
case PCVT:
ioctl(xf86Info.consoleFd, KDSETMODE, KD_TEXT); /* Back to text mode */
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
+ ioctl(xf86Info.consoleFd, KDSKBMODE, tty_mode);
+ tcsetattr(xf86Info.consoleFd, TCSANOW, &tty_attr);
+#endif /* __FreeBSD__ */
if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) != -1) {
VT.mode = VT_AUTO;
ioctl(xf86Info.consoleFd, VT_SETMODE, &VT); /* dflt vt handling */

View File

@ -2,7 +2,7 @@ $NetBSD: patch-hw_xfree86_os-support_bsd_i386__video.c,v 1.1 2015/04/25 11:47:03
Added patch from FreeBSD ports / DragonFly dports
--- hw/xfree86/os-support/bsd/i386_video.c.orig 2017-01-05 21:19:31.000000000 +0000
--- hw/xfree86/os-support/bsd/i386_video.c.orig 2015-01-17 23:42:52.000000000 +0000
+++ hw/xfree86/os-support/bsd/i386_video.c
@@ -32,6 +32,9 @@
#include "xf86Priv.h"

View File

@ -0,0 +1,18 @@
$NetBSD$
From FreeBSD ports for x11-servers/xorg-server 1.18.4.
--- hw/xfree86/os-support/bsd/ppc_video.c.orig 2016-07-15 16:18:11 UTC
+++ hw/xfree86/os-support/bsd/ppc_video.c
@@ -79,7 +79,11 @@ xf86DisableIO()
{
if (ioBase != MAP_FAILED) {
+#if defined(__FreeBSD__)
+ munmap(__DEVOLATILE(unsigned char *, ioBase), 0x10000);
+#else
munmap(__UNVOLATILE(ioBase), 0x10000);
+#endif
ioBase = MAP_FAILED;
}
}

View File

@ -1,27 +0,0 @@
$NetBSD: patch-hw_xfree86_sdksyms.sh,v 1.1 2016/04/10 07:35:20 tnn Exp $
Kludge sdksyms.c generator to not fail on GetClientPid.
It returns pid_t which on NetBSD is #define pid_t __pid_t
This slightly alters the GCC preprocessor output which this fragile
code could not deal with when using GCC 5+
--- hw/xfree86/sdksyms.sh.orig 2016-03-08 20:22:17.000000000 +0000
+++ hw/xfree86/sdksyms.sh
@@ -357,6 +357,17 @@ BEGIN {
n = 1;
}
}
+ # hack: pid_t becomes __pid_t on NetBSD.
+ # GCC 5 inserts additional lines around this.
+ if ($1 == "__pid_t" && NF == 1) {
+ getline;
+ n++;
+ # skip line numbers GCC 5 adds (after typedef return type?)
+ while ($n == "" || $0 ~ /^# [0-9]+ "/) {
+ getline;
+ n = 1;
+ }
+ }
# type specifier may not be set, as in
# extern _X_EXPORT unsigned name(...)

View File

@ -0,0 +1,37 @@
$NetBSD$
Bug 196678
x11-servers/xorg-server: Update to 1.19.6 + make config/devd recognize
/dev/input/eventX from multimedia/webcamd
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196678
Attachment #191592: update Xorg to 1.19.6 and integrate collective devd enhancements
for bug #196678
https://bugs.freebsd.org/bugzilla/attachment.cgi?id=191592&action=diff
* Skip the detection of root rights requirement, the assumption that presence
* of KMS drivers removes the root requirement is only valid for Linux
*
--- hw/xfree86/xorg-wrapper.c.orig 2018-08-07 16:31:04.000000000 +0000
+++ hw/xfree86/xorg-wrapper.c
@@ -191,7 +191,7 @@ static int on_console(int fd)
int main(int argc, char *argv[])
{
-#ifdef WITH_LIBDRM
+#if defined(WITH_LIBDRM) && !defined(__FreeBSD__) && !defined(__DragonFly__)
struct drm_mode_card_res res;
#endif
char buf[PATH_MAX];
@@ -230,7 +230,7 @@ int main(int argc, char *argv[])
}
}
-#ifdef WITH_LIBDRM
+#if defined(WITH_LIBDRM) && !defined(__FreeBSD__) && !defined(__DragonFly__)
/* Detect if we need root rights, except when overriden by the config */
if (needs_root_rights == -1) {
for (i = 0; i < 16; i++) {

View File

@ -1,21 +0,0 @@
$NetBSD: patch-os_xstrans.c,v 1.1 2015/09/26 18:35:41 tnn Exp $
CMSG_SPACE must evaluate to a constant, but doesn't on netbsd-5.
See sys/socket.h r1.104.
--- os/xstrans.c.orig 2015-05-21 14:23:54.000000000 +0000
+++ os/xstrans.c
@@ -14,4 +14,13 @@ _X_ATTRIBUTE_PRINTF(1, 2);
#define TRANS_REOPEN
#define TRANS_SERVER
#define XSERV_t
+#if defined(__NetBSD__)
+#include <sys/param.h>
+#if (__NetBSD_Version__ < 600000000)
+#include <sys/socket.h>
+#define __MY_CMSG_ALIGN(n) (((n) + 7) & ~7)
+#undef CMSG_SPACE
+#define CMSG_SPACE(l) (__MY_CMSG_ALIGN(sizeof(struct msghdr)) + __MY_CMSG_ALIGN(l))
+#endif
+#endif
#include <X11/Xtrans/transport.c>

View File

@ -0,0 +1,91 @@
$NetBSD$
Option to revert effects of upstream:
2018-02-27 Add RandR leases with modesetting driver support [v6]
commit e4e3447603b5fd3a38a92c3f972396d1f81168ad
--- randr/randr.c.orig 2018-10-15 15:59:33.000000000 +0000
+++ randr/randr.c
@@ -89,12 +89,16 @@ RRCloseScreen(ScreenPtr pScreen)
{
rrScrPriv(pScreen);
int j;
+#if !defined(REVERT_RANDR_LEASE)
RRLeasePtr lease, next;
+#endif
unwrap(pScrPriv, pScreen, CloseScreen);
+#if !defined(REVERT_RANDR_LEASE)
xorg_list_for_each_entry_safe(lease, next, &pScrPriv->leases, list)
RRTerminateLease(lease);
+#endif
for (j = pScrPriv->numCrtcs - 1; j >= 0; j--)
RRCrtcDestroy(pScrPriv->crtcs[j]);
for (j = pScrPriv->numOutputs - 1; j >= 0; j--)
@@ -227,6 +231,7 @@ SRRResourceChangeNotifyEvent(xRRResource
cpswapl(from->window, to->window);
}
+#if !defined(REVERT_RANDR_LEASE)
static void _X_COLD
SRRLeaseNotifyEvent(xRRLeaseNotifyEvent * from,
xRRLeaseNotifyEvent * to)
@@ -239,6 +244,7 @@ SRRLeaseNotifyEvent(xRRLeaseNotifyEvent
cpswapl(from->lease, to->lease);
to->created = from->created;
}
+#endif
static void _X_COLD
SRRNotifyEvent(xEvent *from, xEvent *to)
@@ -268,10 +274,12 @@ SRRNotifyEvent(xEvent *from, xEvent *to)
SRRResourceChangeNotifyEvent((xRRResourceChangeNotifyEvent *) from,
(xRRResourceChangeNotifyEvent *) to);
break;
+#if !defined(REVERT_RANDR_LEASE)
case RRNotify_Lease:
SRRLeaseNotifyEvent((xRRLeaseNotifyEvent *) from,
(xRRLeaseNotifyEvent *) to);
break;
+#endif
default:
break;
}
@@ -291,8 +299,10 @@ RRInit(void)
return FALSE;
if (!RRProviderInit())
return FALSE;
+#if !defined(REVERT_RANDR_LEASE)
if (!RRLeaseInit())
return FALSE;
+#endif
RRGeneration = serverGeneration;
}
if (!dixRegisterPrivateKey(&rrPrivKeyRec, PRIVATE_SCREEN, 0))
@@ -360,7 +370,9 @@ RRScreenInit(ScreenPtr pScreen)
pScrPriv->numCrtcs = 0;
pScrPriv->crtcs = NULL;
+#if !defined(REVERT_RANDR_LEASE)
xorg_list_init(&pScrPriv->leases);
+#endif
RRMonitorInit(pScreen);
@@ -560,11 +572,13 @@ TellChanged(WindowPtr pWin, void *value)
}
}
+#if !defined(REVERT_RANDR_LEASE)
if (pRREvent->mask & RRLeaseNotifyMask) {
if (pScrPriv->leasesChanged) {
RRDeliverLeaseEvent(client, pWin);
}
}
+#endif
}
return WT_WALKCHILDREN;
}

View File

@ -0,0 +1,55 @@
$NetBSD$
Option to revert effects of upstream:
2018-02-27 Add RandR leases with modesetting driver support [v6]
commit e4e3447603b5fd3a38a92c3f972396d1f81168ad
--- randr/rrlease.c.orig 2018-10-15 15:59:33.000000000 +0000
+++ randr/rrlease.c
@@ -101,6 +101,7 @@ RRLeaseAlloc(ScreenPtr screen, RRLease l
Bool
RRCrtcIsLeased(RRCrtcPtr crtc)
{
+#if !defined(REVERT_RANDR_LEASE)
ScreenPtr screen = crtc->pScreen;
rrScrPrivPtr scr_priv = rrGetScrPriv(screen);
RRLeasePtr lease;
@@ -111,6 +112,7 @@ RRCrtcIsLeased(RRCrtcPtr crtc)
if (lease->crtcs[c] == crtc)
return TRUE;
}
+#endif
return FALSE;
}
@@ -120,6 +122,7 @@ RRCrtcIsLeased(RRCrtcPtr crtc)
Bool
RROutputIsLeased(RROutputPtr output)
{
+#if !defined(REVERT_RANDR_LEASE)
ScreenPtr screen = output->pScreen;
rrScrPrivPtr scr_priv = rrGetScrPriv(screen);
RRLeasePtr lease;
@@ -130,6 +133,7 @@ RROutputIsLeased(RROutputPtr output)
if (lease->outputs[o] == output)
return TRUE;
}
+#endif
return FALSE;
}
@@ -172,10 +176,12 @@ RRLeaseFree(RRLeasePtr lease)
void
RRTerminateLease(RRLeasePtr lease)
{
+#if !defined(REVERT_RANDR_LEASE)
ScreenPtr screen = lease->screen;
rrScrPrivPtr scr_priv = rrGetScrPriv(screen);
scr_priv->rrTerminateLease(screen, lease);
+#endif
}
/*