xorg-server: Changes to 'debian-experimental'
ChangeLog | 218 ++++++++++++++++++++++
Xext/xace.h | 2
configure.ac | 6
debian/changelog | 7
debian/patches/series | 1
debian/patches/xext-fix-udeb-build.diff | 37 ---
exa/Makefile.am | 4
hw/xfree86/Makefile.am | 2
hw/xfree86/common/xf86vmode.c | 222 -----------------------
hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h | 28 ++
hw/xfree86/drivers/modesetting/drmmode_display.c | 22 +-
hw/xfree86/exa/Makefile.am | 3
hw/xfree86/loader/Makefile.am | 2
hw/xfree86/man/Xorg.man | 60 ------
man/Xserver.man | 13 +
os/WaitFor.c | 1
present/present.c | 27 +-
test/Makefile.am | 2
18 files changed, 310 insertions(+), 347 deletions(-)
New commits:
commit 8ac961a9ecd80db129d79ce5ee3afee28cb39026
Author: Julien Cristau <jcristau@debian.org>
Date: Mon Nov 9 22:23:20 2015 +0100
One dropped patch
diff --git a/debian/changelog b/debian/changelog
index a20a372..3117629 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
xorg-server (2:1.18.0-1) UNRELEASED; urgency=medium
* New upstream release.
+ - drop xext-fix-udeb-build.diff, merged upstream
-- Julien Cristau <jcristau@debian.org> Mon, 09 Nov 2015 22:21:51 +0100
diff --git a/debian/patches/series b/debian/patches/series
index ea13f87..2c8af94 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,4 +5,3 @@
03_static-nettle.diff
05_Revert-Unload-submodules.diff
#08_xfree86_fix_ia64_inx_outx.diff
-xext-fix-udeb-build.diff
diff --git a/debian/patches/xext-fix-udeb-build.diff b/debian/patches/xext-fix-udeb-build.diff
deleted file mode 100644
index dd41201..0000000
--- a/debian/patches/xext-fix-udeb-build.diff
+++ /dev/null
@@ -1,37 +0,0 @@
-From aaa1928f80c6b3cae614182248a41f92f7f865af Mon Sep 17 00:00:00 2001
-From: Julien Cristau <jcristau@debian.org>
-Date: Tue, 27 Oct 2015 13:02:18 +0100
-Subject: [PATCH xserver] Xext: fix build with --disable-xace
-
-Regression from 990cf5b2828f73dc7a07f1e38f608af39acfd81d
-
-Signed-off-by: Julien Cristau <jcristau@debian.org>
-Cc: Andrew Eikum <aeikum@codeweavers.com>
-Cc: Peter Hutterer <peter.hutterer@who-t.net>
----
- Xext/xace.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/Xext/xace.h b/Xext/xace.h
-index 3303f76..6a8d0c4 100644
---- a/Xext/xace.h
-+++ b/Xext/xace.h
-@@ -112,6 +112,7 @@ extern _X_EXPORT void XaceCensorImage(ClientPtr client,
-
- #ifdef __GNUC__
- #define XaceHook(args...) Success
-+#define XaceHookIsSet(args...) 0
- #define XaceHookDispatch(args...) Success
- #define XaceHookPropertyAccess(args...) Success
- #define XaceHookSelectionAccess(args...) Success
-@@ -119,6 +120,7 @@ extern _X_EXPORT void XaceCensorImage(ClientPtr client,
- #define XaceCensorImage(args...) { ; }
- #else
- #define XaceHook(...) Success
-+#define XaceHookIsSet(...) 0
- #define XaceHookDispatch(...) Success
- #define XaceHookPropertyAccess(...) Success
- #define XaceHookSelectionAccess(...) Success
---
-2.6.1
-
commit 690d52a8996c36f5eaf4122cdffaf8cbbf2984d9
Author: Julien Cristau <jcristau@debian.org>
Date: Mon Nov 9 22:22:42 2015 +0100
Bump changelogs
diff --git a/ChangeLog b/ChangeLog
index 25db34c..e37f173 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,221 @@
+commit 43fb888bd01cf9d3d277e77a52a3d0c93ccff8bd
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 9 16:00:26 2015 -0500
+
+ xserver 1.18.0
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+commit 2203735887ab548b3ee004400d1b89149aae412c
+Author: Axel Davy <axel.davy@ens.fr>
+Date: Wed Nov 4 18:42:42 2015 +0100
+
+ present: Fix Async swap logic
+
+ According to the spec, PresentOptionAsync should only
+ trigger a different behaviour when the target msc has been reached.
+
+ In this case if the driver is able to do async swaps, we use
+ them to avoid a screen copy.
+
+ When the target msc hasn't been reached yet, we want to use sync swaps.
+
+ v2: Fix indentation and simplify checks for Async flips
+
+ Signed-off-by: Axel Davy <axel.davy@ens.fr>
+ Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
+
+commit 3f35909acba117dc8934920d788c7ce612bce444
+Author: Jammy Zhou <Jammy.Zhou@amd.com>
+Date: Wed Oct 28 18:39:10 2015 +0800
+
+ present: Execute right away if target_msc equals current_msc
+
+ It is according to the protocol:
+
+ "If 'options' contains PresentOptionAsync, and the 'target-msc'
+ is less than or equal to the current msc for 'window', then
+ the operation will be performed as soon as possible, not
+ necessarily waiting for the next vertical blank interval."
+
+ Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
+ Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
+ Reviewed-by: Axel Davy <axel.davy@ens.fr>
+
+commit 7d1e4783853f9830344d101ceab087feb19995be
+Author: Daniel Martin <consume.noise@gmail.com>
+Date: Thu Oct 29 14:58:11 2015 +0100
+
+ modesetting: Remove XF86_CRTC_VERSION checks
+
+ The ifdef checks for XF86_CRTC_VERSION >= 3/5 are remnants from the
+ out-of-tree driver. Within the tree, we can rely on:
+ xf86Crtc.h:#define XF86_CRTC_VERSION 6
+
+ Signed-off-by: Daniel Martin <consume.noise@gmail.com>
+ Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
+ Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+
+commit 45c83a266d18eb515313aa3f1a4d7ff6af53be5d
+Author: Daniel Martin <consume.noise@gmail.com>
+Date: Thu Oct 29 14:58:10 2015 +0100
+
+ modesetting: Free output_ids in drmmode_set_mode_major()
+
+ We calloc() output_ids. Let's free() it, too.
+
+ Signed-off-by: Daniel Martin <consume.noise@gmail.com>
+ Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
+ Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+
+commit 2674d424020bd71d4f99b8d8de8b0b21aa490d54
+Author: Daniel Martin <consume.noise@gmail.com>
+Date: Thu Oct 29 14:58:09 2015 +0100
+
+ modesetting: Handle failures in setting a CRTC to a DRM mode properly
+
+ This fixes a bug where running the card out of PPLL's when hotplugging
+ another monitor would result in all of the displays going blank and
+ failing to work properly until X was restarted or the user switched to
+ another VT.
+
+ [Michel Dänzer: Pass errno instead of -ret to strerror()]
+ [Daniel Martin: Add \n to log message]
+
+ Picked from xf86-video-ati
+ 7186a87 Handle failures in setting a CRTC to a DRM mode properly
+
+ Signed-off-by: Daniel Martin <consume.noise@gmail.com>
+ Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
+ Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+
+commit 250666586e2b6f3ed1371340452dc2be2d094d40
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu Oct 29 10:08:17 2015 -0400
+
+ vidmode: Drop the unused event code
+
+ As the code says, this is "far from complete". So far, in fact, that
+ it's been basically untouched for twenty years (XFree86 3.1!). As far
+ as I can tell it was never enabled in any XFree86 build, and certainly
+ has never been enabled since Xorg 7.0.
+
+ Also, K&R.
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
+
+commit 478efe285a440c33b053bdf0bfbfdd482f429f01
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Tue Oct 27 19:44:28 2015 -0700
+
+ Xserver.man: document more transports for -nolisten & -listen options
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+
+commit 8fc295bde9a736f3c8c047031a6698d140d5266f
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Tue Oct 27 19:44:27 2015 -0700
+
+ Xorg.man: update to reflect -nolisten tcp becoming default
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+
+commit 75157b7dbf4ed4db0492328a44e4e67dda83f769
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Tue Oct 27 19:44:26 2015 -0700
+
+ Xorg.man: move XLOCAL details to X(7) man page instead
+
+ These settings affect clients, not server, so belong there, next to
+ the information about how to set $DISPLAY.
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+
+commit 50c167164700e8ead9b7ccf9f9eafc7541baac75
+Author: Martin Peres <martin.peres@linux.intel.com>
+Date: Mon Jul 20 10:37:30 2015 +0300
+
+ os: make sure the clientsWritable fd_set is initialized before use
+
+ In WaitForSomething(), the fd_set clientsWritable may be used
+ unitialized when the boolean AnyClientsWriteBlocked is set in the
+ WakeupHandler(). This leads to a crash in FlushAllOutput() after
+ x11proto's commit 2c94cdb453bc641246cc8b9a876da9799bee1ce7.
+
+ The problem did not manifest before because both the XFD_SIZE and the
+ maximum number of clients were set to 256. As the connectionTranslation
+ table was initalized for the 256 clients to 0, the test on the index not
+ being 0 was aborting before dereferencing the client #0.
+
+ As of commit 2c94cdb453bc641246cc8b9a876da9799bee1ce7 in x11proto, the
+ XFD_SIZE got bumped to 512. This lead the OutputPending fd_set to have
+ any fd above 256 to be uninitialized which in turns lead to reading an
+ index after the end of the ConnectionTranslation table. This index would
+ then be used to find the client corresponding to the fd marked as
+ pending writes and would also result to an out-of-bound access which
+ would usually be the fatal one.
+
+ Fix this by zeroing the clientsWritable fd_set at the beginning of
+ WaitForSomething(). In this case, the bottom part of the loop, which
+ would indirectly call FlushAllOutput, will not do any work but the next
+ call to select will result in the execution of the right codepath. This
+ is exactly what we want because we need to know the writable clients
+ before handling them. In the end, it also makes sure that the fds above
+ MaxClient are initialized, preventing the crash in FlushAllOutput().
+
+ Thanks to everyone involved in tracking this one down!
+
+ Reported-by: Karol Herbst <freedesktop@karolherbst.de>
+ Reported-by: Tobias Klausmann <tobias.klausmann@mni.thm.de>
+ Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
+ Tested-by: Tobias Klausmann <tobias.klausmann@mni.thm.de>
+ Tested-by: Martin Peres <martin.peres@linux.intel.com>
+ Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91316
+ Cc: Ilia Mirkin <imirkin@alum.mit.edu>
+ Cc: Olivier Fourdan <ofourdan@redhat.com
+ Cc: Adam Jackson <ajax@redhat.com>
+ Cc: Alan Coopersmith <alan.coopersmith@oracle.com
+ Cc: Chris Wilson <chris@chris-wilson.co.uk>
+ Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit bb78c464f09f515db557182a458b12b63c3b52d7
+Author: Adam Jackson <ajax@redhat.com>
+Date: Tue Oct 27 13:28:37 2015 -0400
+
+ build: Remove stale miext/cw include paths
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
+
+commit 524844c8c18e226aad30feb371b19ef491d83449
+Author: Julien Cristau <jcristau@debian.org>
+Date: Tue Oct 27 13:23:13 2015 +0100
+
+ Xext: fix build with --disable-xace
+
+ Regression from 990cf5b2828f73dc7a07f1e38f608af39acfd81d
+
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+ Cc: Andrew Eikum <aeikum@codeweavers.com>
+ Cc: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
+
+commit ac2f27f1a9fa8cd88c5dbe7ec0f96238eecf2c3e
+Author: Michel Dänzer <michel.daenzer@amd.com>
+Date: Tue Oct 27 11:51:49 2015 +0900
+
+ DRI2: Sync radeonsi_pci_ids.h from Mesa
+
+ Fixes DRI2 client driver name mapping for newer AMD GPUs with the
+ modesetting driver, allowing the DRI2 extension to initialize.
+
+ Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
+ Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+
commit d8b7a900cf912cadb5915b3924dd6ce5a74505e7
Author: Adam Jackson <ajax@redhat.com>
Date: Mon Oct 26 13:47:04 2015 -0400
diff --git a/debian/changelog b/debian/changelog
index eaf4d2f..a20a372 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.18.0-1) UNRELEASED; urgency=medium
+
+ * New upstream release.
+
+ -- Julien Cristau <jcristau@debian.org> Mon, 09 Nov 2015 22:21:51 +0100
+
xorg-server (2:1.17.99.902-1) experimental; urgency=medium
* Team upload.
commit 43fb888bd01cf9d3d277e77a52a3d0c93ccff8bd
Author: Adam Jackson <ajax@redhat.com>
Date: Mon Nov 9 16:00:26 2015 -0500
xserver 1.18.0
Signed-off-by: Adam Jackson <ajax@redhat.com>
diff --git a/configure.ac b/configure.ac
index 9828cab..96c0242 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,9 +26,9 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.17.99.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2015-10-26"
-RELEASE_NAME="Amontillado"
+AC_INIT([xorg-server], 1.18.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2015-11-09"
+RELEASE_NAME="Moussaka"
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
commit 2203735887ab548b3ee004400d1b89149aae412c
Author: Axel Davy <axel.davy@ens.fr>
Date: Wed Nov 4 18:42:42 2015 +0100
present: Fix Async swap logic
According to the spec, PresentOptionAsync should only
trigger a different behaviour when the target msc has been reached.
In this case if the driver is able to do async swaps, we use
them to avoid a screen copy.
When the target msc hasn't been reached yet, we want to use sync swaps.
v2: Fix indentation and simplify checks for Async flips
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
diff --git a/present/present.c b/present/present.c
index 5900c22..beb01dc 100644
--- a/present/present.c
+++ b/present/present.c
@@ -836,19 +836,20 @@ present_pixmap(WindowPtr window,
vblank->notifies = notifies;
vblank->num_notifies = num_notifies;
- if (!(options & PresentOptionAsync))
- vblank->sync_flip = TRUE;
-
- if (!(options & PresentOptionCopy) &&
- !((options & PresentOptionAsync) &&
- (!screen_priv->info ||
- !(screen_priv->info->capabilities & PresentCapabilityAsync))) &&
- pixmap != NULL &&
- present_check_flip (target_crtc, window, pixmap, vblank->sync_flip, valid, x_off, y_off))
- {
- vblank->flip = TRUE;
- if (vblank->sync_flip)
+ if (pixmap != NULL &&
+ !(options & PresentOptionCopy) &&
+ screen_priv->info) {
+ if (target_msc > crtc_msc &&
+ present_check_flip (target_crtc, window, pixmap, TRUE, valid, x_off, y_off))
+ {
+ vblank->flip = TRUE;
+ vblank->sync_flip = TRUE;
target_msc--;
+ } else if ((screen_priv->info->capabilities & PresentCapabilityAsync) &&
+ present_check_flip (target_crtc, window, pixmap, FALSE, valid, x_off, y_off))
+ {
+ vblank->flip = TRUE;
+ }
}
if (wait_fence) {
commit 3f35909acba117dc8934920d788c7ce612bce444
Author: Jammy Zhou <Jammy.Zhou@amd.com>
Date: Wed Oct 28 18:39:10 2015 +0800
present: Execute right away if target_msc equals current_msc
It is according to the protocol:
"If 'options' contains PresentOptionAsync, and the 'target-msc'
is less than or equal to the current msc for 'window', then
the operation will be performed as soon as possible, not
necessarily waiting for the next vertical blank interval."
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
diff --git a/present/present.c b/present/present.c
index beb4ff0..5900c22 100644
--- a/present/present.c
+++ b/present/present.c
@@ -871,7 +871,7 @@ present_pixmap(WindowPtr window,
xorg_list_add(&vblank->event_queue, &present_exec_queue);
vblank->queued = TRUE;
- if ((pixmap && target_msc >= crtc_msc) || (!pixmap && target_msc > crtc_msc)) {
+ if (target_msc > crtc_msc) {
ret = present_queue_vblank(screen, target_crtc, vblank->event_id, target_msc);
if (ret == Success)
return Success;
commit 7d1e4783853f9830344d101ceab087feb19995be
Author: Daniel Martin <consume.noise@gmail.com>
Date: Thu Oct 29 14:58:11 2015 +0100
modesetting: Remove XF86_CRTC_VERSION checks
The ifdef checks for XF86_CRTC_VERSION >= 3/5 are remnants from the
out-of-tree driver. Within the tree, we can rely on:
xf86Crtc.h:#define XF86_CRTC_VERSION 6
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
index 2684bae..4421578 100644
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -462,11 +462,8 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
crtc->y = saved_y;
crtc->rotation = saved_rotation;
crtc->mode = saved_mode;
- }
-#if defined(XF86_CRTC_VERSION) && XF86_CRTC_VERSION >= 3
- else
+ } else
crtc->active = TRUE;
-#endif
free(output_ids);
@@ -1789,9 +1786,7 @@ drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp)
drmmode_clones_init(pScrn, drmmode, mode_res);
drmModeFreeResources(mode_res);
-#if XF86_CRTC_VERSION >= 5
xf86ProviderSetup(pScrn, NULL, "modesetting");
-#endif
xf86InitialConfiguration(pScrn, TRUE);
commit 45c83a266d18eb515313aa3f1a4d7ff6af53be5d
Author: Daniel Martin <consume.noise@gmail.com>
Date: Thu Oct 29 14:58:10 2015 +0100
modesetting: Free output_ids in drmmode_set_mode_major()
We calloc() output_ids. Let's free() it, too.
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
index f86c1f8..2684bae 100644
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -340,7 +340,7 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
int saved_x, saved_y;
Rotation saved_rotation;
DisplayModeRec saved_mode;
- uint32_t *output_ids;
+ uint32_t *output_ids = NULL;
int output_count = 0;
Bool ret = TRUE;
int i;
@@ -468,6 +468,8 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
crtc->active = TRUE;
#endif
+ free(output_ids);
+
return ret;
}
commit 2674d424020bd71d4f99b8d8de8b0b21aa490d54
Author: Daniel Martin <consume.noise@gmail.com>
Date: Thu Oct 29 14:58:09 2015 +0100
modesetting: Handle failures in setting a CRTC to a DRM mode properly
This fixes a bug where running the card out of PPLL's when hotplugging
another monitor would result in all of the displays going blank and
failing to work properly until X was restarted or the user switched to
another VT.
[Michel Dänzer: Pass errno instead of -ret to strerror()]
[Daniel Martin: Add \n to log message]
Picked from xf86-video-ati
7186a87 Handle failures in setting a CRTC to a DRM mode properly
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
index 736bfc4..f86c1f8 100644
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -421,12 +421,13 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
fb_id = drmmode_crtc->rotate_fb_id;
x = y = 0;
}
- ret = drmModeSetCrtc(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id,
- fb_id, x, y, output_ids, output_count, &kmode);
- if (ret)
+ if (drmModeSetCrtc(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id,
+ fb_id, x, y, output_ids, output_count, &kmode)) {
xf86DrvMsg(crtc->scrn->scrnIndex, X_ERROR,
- "failed to set mode: %s", strerror(-ret));
- else
+ "failed to set mode: %s\n", strerror(errno));
+ ret = FALSE;
+ goto done;
+ } else
ret = TRUE;
if (crtc->scrn->pScreen)
commit 250666586e2b6f3ed1371340452dc2be2d094d40
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Oct 29 10:08:17 2015 -0400
vidmode: Drop the unused event code
As the code says, this is "far from complete". So far, in fact, that
it's been basically untouched for twenty years (XFree86 3.1!). As far
as I can tell it was never enabled in any XFree86 build, and certainly
has never been enabled since Xorg 7.0.
Also, K&R.
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
diff --git a/hw/xfree86/common/xf86vmode.c b/hw/xfree86/common/xf86vmode.c
index 818e7dc..d133687 100644
--- a/hw/xfree86/common/xf86vmode.c
+++ b/hw/xfree86/common/xf86vmode.c
@@ -71,46 +71,6 @@ typedef struct {
static unsigned char XF86VidModeReqCode = 0;
#endif
-/* The XF86VIDMODE_EVENTS code is far from complete */
-
-#ifdef XF86VIDMODE_EVENTS
-static int XF86VidModeEventBase = 0;
-
-static void SXF86VidModeNotifyEvent(xXF86VidModeNotifyEvent * /* from */ , xXF86VidModeNotifyEvent * /* to */
- );
-
-static RESTYPE EventType; /* resource type for event masks */
-
-typedef struct _XF86VidModeEvent *XF86VidModeEventPtr;
-
-typedef struct _XF86VidModeEvent {
- XF86VidModeEventPtr next;
- ClientPtr client;
- ScreenPtr screen;
- XID resource;
- CARD32 mask;
-} XF86VidModeEventRec;
-
-static int XF86VidModeFreeEvents();
-
-typedef struct _XF86VidModeScreenPrivate {
- XF86VidModeEventPtr events;
- Bool hasWindow;
-} XF86VidModeScreenPrivateRec, *XF86VidModeScreenPrivatePtr;
-
-static DevPrivateKeyRec ScreenPrivateKeyRec;
-
-#define ScreenPrivateKey (&ScreenPrivateKeyRec)
-
-#define GetScreenPrivate(s) ((ScreenSaverScreenPrivatePtr) \
- dixLookupPrivate(&(s)->devPrivates, ScreenPrivateKey))
-#define SetScreenPrivate(s,v) \
- dixSetPrivate(&(s)->devPrivates, ScreenPrivateKey, v)
-#define SetupScreen(s) ScreenSaverScreenPrivatePtr pPriv = GetScreenPrivate(s)
-
-#define New(t) (malloc(sizeof (t)))
-#endif
-
#ifdef DEBUG
#define DEBUG_P(x) ErrorF(x"\n");
#else
@@ -128,159 +88,6 @@ ClientMajorVersion(ClientPtr client)
return pPriv->major;
}
-#ifdef XF86VIDMODE_EVENTS
-static void
-CheckScreenPrivate(pScreen)
-ScreenPtr
- pScreen;
-{
- SetupScreen(pScreen);
-
- if (!pPriv)
- return;
- if (!pPriv->events && !pPriv->hasWindow) {
- free(pPriv);
- SetScreenPrivate(pScreen, NULL);
- }
-}
-
-static XF86VidModeScreenPrivatePtr
-MakeScreenPrivate(pScreen)
-ScreenPtr
- pScreen;
-{
- SetupScreen(pScreen);
-
- if (pPriv)
- return pPriv;
- pPriv = New(XF86VidModeScreenPrivateRec);
- if (!pPriv)
- return 0;
- pPriv->events = 0;
- pPriv->hasWindow = FALSE;
- SetScreenPrivate(pScreen, pPriv);
- return pPriv;
-}
-
-static unsigned long
-getEventMask(ScreenPtr pScreen, ClientPtr client)
-{
- SetupScreen(pScreen);
- XF86VidModeEventPtr pEv;
-
- if (!pPriv)
- return 0;
- for (pEv = pPriv->events; pEv; pEv = pEv->next)
- if (pEv->client == client)
- return pEv->mask;
- return 0;
-}
-
-static Bool
-setEventMask(ScreenPtr pScreen, ClientPtr client, unsigned long mask)
-{
- SetupScreen(pScreen);
- XF86VidModeEventPtr pEv, *pPrev;
-
- if (getEventMask(pScreen, client) == mask)
- return TRUE;
- if (!pPriv) {
- pPriv = MakeScreenPrivate(pScreen);
- if (!pPriv)
- return FALSE;
- }
- for (pPrev = &pPriv->events; pEv = *pPrev; pPrev = &pEv->next)
- if (pEv->client == client)
- break;
- if (mask == 0) {
- *pPrev = pEv->next;
- free(pEv);
- CheckScreenPrivate(pScreen);
- }
- else {
- if (!pEv) {
- pEv = New(ScreenSaverEventRec);
- if (!pEv) {
- CheckScreenPrivate(pScreen);
- return FALSE;
- }
- *pPrev = pEv;
- pEv->next = NULL;
- pEv->client = client;
- pEv->screen = pScreen;
- pEv->resource = FakeClientID(client->index);
- }
- pEv->mask = mask;
- }
- return TRUE;
-}
-
-static int
-XF86VidModeFreeEvents(void *value, XID id)
-{
- XF86VidModeEventPtr pOld = (XF86VidModeEventPtr) value;
- ScreenPtr pScreen = pOld->screen;
-
- SetupScreen(pScreen);
- XF86VidModeEventPtr pEv, *pPrev;
-
- if (!pPriv)
- return TRUE;
- for (pPrev = &pPriv->events; pEv = *pPrev; pPrev = &pEv->next)
- if (pEv == pOld)
- break;
- if (!pEv)
- return TRUE;
- *pPrev = pEv->next;
- free(pEv);
- CheckScreenPrivate(pScreen);
- return TRUE;
-}
-
-static void
-SendXF86VidModeNotify(ScreenPtr pScreen, int state, Bool forced)
-{
- XF86VidModeScreenPrivatePtr pPriv;
- unsigned long mask;
- xXF86VidModeNotifyEvent ev;
- int kind;
-
- UpdateCurrentTimeIf();
- mask = XF86VidModeNotifyMask;
- pScreen = screenInfo.screens[pScreen->myNum];
- pPriv = GetScreenPrivate(pScreen);
- if (!pPriv)
- return;
- kind = XF86VidModeModeChange;
- for (pEv = pPriv->events; pEv; pEv = pEv->next) {
- if (pEv->mask & mask) {
- XF86VidModeEventPtr pEv = {
- .type = XF86VidModeNotify + XF86VidModeEventBase,
- .state = state,
- .timestamp = currentTime.milliseconds,
- .root = pScreen->root->drawable.id,
- .kind = kind,
- .forced = forced
- };
- WriteEventsToClient(pEv->client, 1, (xEvent *) &ev);
- }
- }
-}
-
-static void
-SXF86VidModeNotifyEvent(xXF86VidModeNotifyEvent * from,
- xXF86VidModeNotifyEvent * to)
-{
- to->type = from->type;
- to->state = from->state;
- cpswaps(from->sequenceNumber, to->sequenceNumber);
- cpswapl(from->timestamp, to->timestamp);
- cpswapl(from->root, to->root);
- to->kind = from->kind;
- to->forced = from->forced;
-}
-#endif
-
static int
ProcXF86VidModeQueryVersion(ClientPtr client)
{
@@ -2124,14 +1931,6 @@ XFree86VidModeExtensionInit(void)
if (!dixRegisterPrivateKey(&VidModeClientPrivateKeyRec, PRIVATE_CLIENT, 0))
return;
-#ifdef XF86VIDMODE_EVENTS
- if (!dixRegisterPrivateKey(&ScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
- return;
-#endif
-
-#ifdef XF86VIDMODE_EVENTS
- EventType = CreateNewResourceType(XF86VidModeFreeEvents, "VidModeEvent");
-#endif
for (i = 0; i < screenInfo.numScreens; i++) {
pScreen = screenInfo.screens[i];
@@ -2142,24 +1941,15 @@ XFree86VidModeExtensionInit(void)
if (!enabled)
return;
- if (
-#ifdef XF86VIDMODE_EVENTS
- EventType &&
-#endif
- (extEntry = AddExtension(XF86VIDMODENAME,
- XF86VidModeNumberEvents,
- XF86VidModeNumberErrors,
- ProcXF86VidModeDispatch,
- SProcXF86VidModeDispatch,
- NULL, StandardMinorOpcode))) {
+ if ((extEntry = AddExtension(XF86VIDMODENAME,
+ XF86VidModeNumberEvents,
+ XF86VidModeNumberErrors,
+ ProcXF86VidModeDispatch,
+ SProcXF86VidModeDispatch,
+ NULL, StandardMinorOpcode))) {
#if 0
XF86VidModeReqCode = (unsigned char) extEntry->base;
#endif
VidModeErrorBase = extEntry->errorBase;
-#ifdef XF86VIDMODE_EVENTS
- XF86VidModeEventBase = extEntry->eventBase;
- EventSwapVector[XF86VidModeEventBase] =
- (EventSwapPtr) SXF86VidModeNotifyEvent;
-#endif
}
}
commit 478efe285a440c33b053bdf0bfbfdd482f429f01
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Tue Oct 27 19:44:28 2015 -0700
Xserver.man: document more transports for -nolisten & -listen options
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
diff --git a/man/Xserver.man b/man/Xserver.man
index d927913..506e5bb 100644
--- a/man/Xserver.man
+++ b/man/Xserver.man
@@ -1,5 +1,5 @@
-.\" $Xorg: Xserver.man,v 1.4 2001/02/09 02:04:07 xorgcvs Exp $
-.\" $XdotOrg: xserver/xorg/doc/Xserver.man.pre,v 1.4 2005/12/23 20:11:12 alanc Exp $
+'\" t
+.\"
.\" Copyright 1984 - 1991, 1993, 1994, 1998 The Open Group
.\"
.\" Permission to use, copy, modify, distribute, and sell this software and its
@@ -205,6 +205,15 @@ with
.BR "\-nolisten tcp" .
This option may be issued multiple times to disable listening to different
transport types.
+Supported transport types are platform dependent, but commonly include:
+.TS
+l l.
+tcp TCP over IPv4 or IPv6
+inet TCP over IPv4 only
+inet6 TCP over IPv6 only
+unix UNIX Domain Sockets
+local Platform preferred local connection method
+.TE
.TP 8
.B \-listen \fItrans-type\fP
enables a transport type. For example, TCP/IP connections can be enabled
commit 8fc295bde9a736f3c8c047031a6698d140d5266f
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Tue Oct 27 19:44:27 2015 -0700
Xorg.man: update to reflect -nolisten tcp becoming default
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
diff --git a/hw/xfree86/man/Xorg.man b/hw/xfree86/man/Xorg.man
index b23db3d..def9bfc 100644
--- a/hw/xfree86/man/Xorg.man
+++ b/hw/xfree86/man/Xorg.man
@@ -53,8 +53,9 @@ listens on port
.RI 6000+ n ,
where
.I n
-is the display number. This connection type can be disabled with the
-.B \-nolisten
+is the display number. This connection type is usually disabled by default,
+but may be enabled with the
+.B \-listen
option (see the Xserver(1) man page for details).
.SH OPTIONS
.B Xorg
commit 75157b7dbf4ed4db0492328a44e4e67dda83f769
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Tue Oct 27 19:44:26 2015 -0700
Xorg.man: move XLOCAL details to X(7) man page instead
These settings affect clients, not server, so belong there, next to
the information about how to set $DISPLAY.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
diff --git a/hw/xfree86/man/Xorg.man b/hw/xfree86/man/Xorg.man
index 646a90c..b23db3d 100644
--- a/hw/xfree86/man/Xorg.man
+++ b/hw/xfree86/man/Xorg.man
@@ -44,7 +44,8 @@ byte-streams:
.I "Local"
On most platforms, the "Local" connection type is a UNIX-domain socket.
On some System V platforms, the "local" connection types also include
-STREAMS pipes, named pipes, and some other mechanisms.
+STREAMS pipes, named pipes, and some other mechanisms. See the
+"LOCAL CONNECTIONS" section of X(__miscmansuffix__) for details.
.TP 4
.I TCP/IP
.B Xorg
@@ -55,58 +56,6 @@ where
is the display number. This connection type can be disabled with the
.B \-nolisten
option (see the Xserver(1) man page for details).
-.SH "ENVIRONMENT VARIABLES"
-For operating systems that support local connections other than Unix
-Domain sockets (SVR3 and SVR4), there is a compiled-in list specifying
-the order in which local connections should be attempted. This list
-can be overridden by the
-.I XLOCAL
-environment variable described below. If the display name indicates a
-best-choice connection should be made (e.g.
-.BR :0.0 ),
-each connection mechanism is tried until a connection succeeds or no
-more mechanisms are available. Note: for these OSs, the Unix Domain
-socket connection is treated differently from the other local connection
-types. To use it the connection must be made to
-.BR unix:0.0 .
-.PP
-The
-.I XLOCAL
-environment variable should contain a list of one more
-more of the following:
-.PP
-.RS 8
-.nf
-NAMED
-PTS
-SCO
-ISC
-.fi
-.RE
-.PP
-which represent SVR4 Named Streams pipe, Old-style USL Streams pipe,
-SCO XSight Streams pipe, and ISC Streams pipe, respectively. You can
-select a single mechanism (e.g.
-.IR XLOCAL=NAMED ),
-or an ordered list (e.g. \fIXLOCAL="NAMED:PTS:SCO"\fP).
-his variable overrides the compiled-in defaults. For SVR4 it is
-recommended that
-.I NAMED
-be the first preference connection. The default setting is
-.IR PTS:NAMED:ISC:SCO .
-.PP
-To globally override the compiled-in defaults, you should define (and
-export if using
-.B sh
-or
-.BR ksh )
-.I XLOCAL
-globally. If you use startx(1) or xinit(1), the definition should be
-at the top of your
-.I .xinitrc
-file. If you use xdm(1), the definitions should be early on in the
-.I __projectroot__/lib/X11/xdm/Xsession
-script.
.SH OPTIONS
.B Xorg
supports several mechanisms for supplying/obtaining configuration and
commit 50c167164700e8ead9b7ccf9f9eafc7541baac75
Reply to: