xorg-server: Changes to 'ubuntu'
ChangeLog | 5047 +++++++++-
Xext/panoramiX.c | 2
Xext/saver.c | 2
Xext/shm.c | 10
Xext/xace.c | 12
Xext/xf86bigfont.c | 16
Xext/xres.c | 2
Xext/xtest.c | 19
Xi/Makefile.am | 2
Xi/chgdctl.c | 8
Xi/exevents.c | 70
Xi/extinit.c | 47
Xi/gtmotion.c | 2
Xi/xibarriers.c | 919 +
Xi/xibarriers.h | 48
Xi/xichangehierarchy.c | 7
Xi/xiproperty.c | 3
Xi/xiquerydevice.c | 4
Xi/xiquerypointer.c | 17
Xi/xiselectev.c | 80
autogen.sh | 4
config/udev.c | 2
configure.ac | 29
debian/changelog | 115
debian/control | 16
debian/patches/02_Add-libnettle-as-option-for-sha1.diff | 85
debian/patches/04_int10-fix-pci_device_read_rom-usage.diff | 43
debian/patches/07_Revert-kinput-allocate-enough-space-for-null-charact.diff | 49
debian/patches/157_check_null_modes.patch | 14
debian/patches/162_null_crtc_in_rotation.patch | 14
debian/patches/165_man_xorg_conf_no_device_ident.patch | 15
debian/patches/167_nullptr_xisbread.patch | 14
debian/patches/233-xf86events-valgrind.patch | 16
debian/patches/236-use-fbdev-for-poulsbo-oaktrail-medfield.patch | 88
debian/patches/500_pointer_barrier_thresholds.diff | 1691 ---
debian/patches/CVE-2013-1940.patch | 35
debian/patches/dri1-fix-dri1-startup-since-459c6da0f907ba33d733c7e6.patch | 52
debian/patches/drm_device_keep_trying.patch | 176
debian/patches/include-GPU-screens-in-DPMS-code.patch | 105
debian/patches/series | 35
debian/patches/xf86-actually-set-the-compat-output-in-the-failure-c.patch | 35
debian/patches/xf86setdesired-hybrid.patch | 44
debian/patches/xfree86-hotplug-cleanup-properly-if-the-screen-fails.patch | 38
debian/rules | 2
debian/serverminver | 6
dix/colormap.c | 8
dix/devices.c | 52
dix/dispatch.c | 25
dix/dixfonts.c | 9
dix/enterleave.c | 5
dix/eventconvert.c | 49
dix/events.c | 56
dix/getevents.c | 175
dix/grabs.c | 2
dix/inpututils.c | 51
dix/ptrveloc.c | 40
dix/touch.c | 66
dix/window.c | 131
doc/c-extensions | 19
exa/exa.c | 4
exa/exa_priv.h | 1
fb/fb.h | 4
fb/fbblt.c | 12
fb/fbbltone.c | 8
fb/fbgc.c | 4
fb/fbpict.c | 153
fb/fbscreen.c | 1
glx/glapi.c | 2
glx/glxdri.c | 2
glx/indirect_program.c | 2
glx/indirect_texture_compression.c | 4
glx/renderpixswap.c | 20
glx/singlepix.c | 18
glx/singlepixswap.c | 18
glx/xfont.c | 2
hw/dmx/config/Canvas.c | 4
hw/dmx/dmx.h | 2
hw/dmx/dmx_glxvisuals.c | 4
hw/dmx/dmxinit.c | 22
hw/dmx/dmxwindow.c | 2
hw/dmx/doc/dmx.xml | 12
hw/dmx/examples/xinput.c | 4
hw/dmx/glxProxy/glxcmds.c | 16
hw/dmx/glxProxy/glxcmdsswap.c | 2
hw/dmx/glxProxy/glxscreens.c | 4
hw/dmx/glxProxy/glxsingle.c | 6
hw/dmx/glxProxy/glxvendor.c | 4
hw/dmx/glxProxy/renderpixswap.c | 310
hw/kdrive/ephyr/XF86dri.c | 18
hw/kdrive/ephyr/ephyrdriext.c | 8
hw/kdrive/ephyr/ephyrglxext.c | 179
hw/kdrive/ephyr/ephyrhostglx.c | 131
hw/kdrive/ephyr/ephyrhostglx.h | 9
hw/kdrive/ephyr/ephyrhostproxy.c | 2
hw/kdrive/ephyr/ephyrhostvideo.c | 4
hw/kdrive/ephyr/ephyrvideo.c | 2
hw/kdrive/ephyr/hostx.c | 4
hw/kdrive/src/kdrive.h | 1
hw/kdrive/src/kinput.c | 2
hw/vfb/InitInput.c | 1
hw/vfb/InitOutput.c | 1
hw/xfree86/common/xf86.h | 1
hw/xfree86/common/xf86Bus.c | 15
hw/xfree86/common/xf86Configure.c | 27
hw/xfree86/common/xf86DGA.c | 2
hw/xfree86/common/xf86DPMS.c | 45
hw/xfree86/common/xf86Events.c | 6
hw/xfree86/common/xf86Extensions.c | 2
hw/xfree86/common/xf86Init.c | 27
hw/xfree86/common/xf86Module.h | 4
hw/xfree86/common/xf86Opt.h | 2
hw/xfree86/common/xf86Option.c | 4
hw/xfree86/common/xf86Priv.h | 1
hw/xfree86/common/xf86cmap.c | 2
hw/xfree86/common/xf86pciBus.c | 64
hw/xfree86/common/xf86platformBus.c | 7
hw/xfree86/common/xf86str.h | 2
hw/xfree86/common/xf86vmode.c | 6
hw/xfree86/dixmods/glxmodule.c | 2
hw/xfree86/doc/ddxDesign.xml | 20
hw/xfree86/dri/dri.c | 7
hw/xfree86/dri/xf86dri.c | 8
hw/xfree86/dri2/dri2ext.c | 2
hw/xfree86/i2c/fi1236.c | 10
hw/xfree86/i2c/tda9850.c | 2
hw/xfree86/int10/generic.c | 3
hw/xfree86/man/xorg.conf.man | 11
hw/xfree86/modes/xf86Crtc.c | 21
hw/xfree86/os-support/bus/nobus.c | 2
hw/xfree86/os-support/linux/lnx_acpi.c | 9
hw/xfree86/os-support/linux/lnx_init.c | 33
hw/xfree86/os-support/linux/lnx_video.c | 89
hw/xfree86/os-support/shared/agp_noop.c | 2
hw/xfree86/os-support/shared/ioperm_noop.c | 4
hw/xfree86/os-support/shared/posix_tty.c | 3
hw/xfree86/os-support/stub/stub_init.c | 6
hw/xfree86/sdksyms.sh | 2
hw/xnest/Screen.c | 1
hw/xnest/Visual.c | 1
hw/xquartz/GL/visualConfigs.c | 214
hw/xquartz/applewm.c | 4
hw/xquartz/bundle/Info.plist.cpp | 2
hw/xquartz/darwin.c | 1
hw/xquartz/quartz.c | 2
hw/xquartz/xpr/appledri.c | 6
hw/xwin/InitOutput.c | 36
hw/xwin/Makefile.am | 11
hw/xwin/ddraw.h | 4
hw/xwin/glx/gen_gl_wrappers.py | 10
hw/xwin/glx/glwrap.c | 2
hw/xwin/glx/indirect.c | 38
hw/xwin/man/XWin.man | 12
hw/xwin/propertystore.h | 83
hw/xwin/win.h | 24
hw/xwin/winSetAppUserModelID.c | 110
hw/xwin/winallpriv.c | 2
hw/xwin/winblock.c | 39
hw/xwin/winclipboard.h | 3
hw/xwin/winclipboardtextconv.c | 10
hw/xwin/winclipboardthread.c | 8
hw/xwin/winclipboardwrappers.c | 9
hw/xwin/winclipboardxevents.c | 42
hw/xwin/winconfig.c | 2
hw/xwin/wincursor.c | 9
hw/xwin/winengine.c | 8
hw/xwin/winerror.c | 36
hw/xwin/wingc.c | 9
hw/xwin/winglobals.c | 2
hw/xwin/winglobals.h | 4
hw/xwin/winkeybd.c | 55
hw/xwin/winlayouts.h | 10
hw/xwin/winmonitors.c | 8
hw/xwin/winms.h | 5
hw/xwin/winmsg.c | 6
hw/xwin/winmsg.h | 30
hw/xwin/winmultiwindowicons.c | 2
hw/xwin/winmultiwindowshape.c | 2
hw/xwin/winmultiwindowwm.c | 180
hw/xwin/winmultiwindowwndproc.c | 65
hw/xwin/winpfbdd.c | 8
hw/xwin/winpixmap.c | 2
hw/xwin/winprefs.c | 23
hw/xwin/winprefslex.l | 7
hw/xwin/winprefsyacc.y | 10
hw/xwin/winprocarg.c | 10
hw/xwin/winregistry.c | 65
hw/xwin/winscrinit.c | 8
hw/xwin/winsetsp.c | 4
hw/xwin/winshaddd.c | 40
hw/xwin/winshadddnl.c | 88
hw/xwin/winshadgdi.c | 17
hw/xwin/wintaskbar.c | 92
hw/xwin/wintrayicon.c | 2
hw/xwin/winvalargs.c | 2
hw/xwin/winwakeup.c | 4
hw/xwin/winwin32rootless.c | 8
hw/xwin/winwin32rootlesswndproc.c | 6
hw/xwin/winwindow.c | 6
hw/xwin/winwindow.h | 22
hw/xwin/winwindowswm.c | 9
hw/xwin/winwndproc.c | 9
include/Makefile.am | 2
include/dix-config.h.in | 6
include/dix.h | 12
include/dixfont.h | 39
include/dixfontstubs.h | 45
include/dixstruct.h | 37
include/eventconvert.h | 2
include/events.h | 1
include/eventstr.h | 24
include/extension.h | 2
include/extinit.h | 4
include/input.h | 16
include/inputstr.h | 10
include/inpututils.h | 1
include/list.h | 4
include/misc.h | 1
include/os.h | 7
include/protocol-versions.h | 2
include/window.h | 3
include/windowstr.h | 4
include/xkbsrv.h | 17
include/xserver-properties.h | 3
include/xwin-config.h.in | 3
mi/Makefile.am | 3
mi/mibitblt.c | 6
mi/mibstore.c | 43
mi/mibstore.h | 23
mi/mieq.c | 4
mi/miinitext.c | 2
mi/mipointer.c | 59
mi/mipointer.h | 3
mi/mispans.c | 4
miext/damage/damage.c | 30
os/access.c | 12
os/connection.c | 16
os/io.c | 22
os/log.c | 24
os/osdep.h | 19
os/osinit.c | 9
os/utils.c | 71
os/xdmcp.c | 12
os/xsha1.c | 30
randr/randrstr.h | 8
render/picturestr.h | 8
test/fixes.c | 26
test/input.c | 2
test/signal-logging.c | 208
test/xi2/protocol-eventconvert.c | 222
test/xi2/protocol-xiquerydevice.c | 2
test/xi2/protocol-xiselectevents.c | 12
test/xi2/protocol-xiwarppointer.c | 2
test/xi2/xi2.c | 6
xfixes/cursor.c | 371
xfixes/xfixes.h | 17
xfixes/xfixesint.h | 2
xkb/Makefile.am | 3
xkb/ddxList.c | 304
xkb/maprules.c | 1
xkb/xkb.c | 113
xkb/xkbActions.c | 147
xkb/xkbPrKeyEv.c | 4
xkb/xkbout.c | 2
xkb/xkbtext.c | 1
xkb/xkmread.c | 2
xorg-server.m4 | 6
266 files changed, 9113 insertions(+), 5732 deletions(-)
New commits:
commit e32e59f5c08aa65281fa36038986cbbe43d296d0
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Thu Jul 4 16:47:29 2013 +0200
upload to saucy
diff --git a/debian/changelog b/debian/changelog
index 4a8fa0b..ea0fd0d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+xorg-server (2:1.14.1-0ubuntu0.8) saucy; urgency=low
+
+ * Use correct version for libxfixes3.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Wed, 03 Jul 2013 12:03:57 +0200
+
+xorg-server (2:1.14.1-0ubuntu0.7) saucy; urgency=low
+
+ * Add build-depends on recent enough libxi-dev and libxfixes-dev
+ for the new pointer barriers.
+ * Add breaks on old libxi6, libxfixes3, unity.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Wed, 03 Jul 2013 10:37:30 +0200
+
xorg-server (2:1.14.1-0ubuntu0.6) saucy; urgency=low
* Add patch to fix nvidia regression.
diff --git a/debian/control b/debian/control
index b524e52..74c5327 100644
--- a/debian/control
+++ b/debian/control
@@ -65,7 +65,7 @@ Build-Depends:
libxext-dev (>= 1:0.99.1),
libx11-dev (>= 1:0.99.2),
libxrender-dev (>= 1:0.9.0),
- libxi-dev (>= 2:1.6.99.1),
+ libxi-dev (>= 2:1.7.1.901),
x11proto-dmx-dev (>= 1:2.2.99.1),
libdmx-dev (>= 1:1.0.1),
libxpm-dev (>= 1:3.5.3),
@@ -74,7 +74,7 @@ Build-Depends:
libxmu-dev (>= 1:0.99.1),
libxtst-dev (>= 1:0.99.1),
libxres-dev (>= 1:0.99.1),
- libxfixes-dev (>= 1:3.0.0),
+ libxfixes-dev (>= 1:5.0.1),
libxv-dev,
libxinerama-dev,
# unit tests
@@ -125,7 +125,9 @@ Breaks:
qt4-x11 (<< 4:4.8.0-1ubuntu2),
utouch-geis (<< 2.2.3),
utouch-frame (<< 2.1.0),
- unity (<< 5.0.0),
+ unity (<< 7.0.2),
+ libxfixes3 (<< 1:5.0.1),
+ libxi6 (<< 2:1.7.1.901),
Provides:
${videoabi},
${inputabi},
commit 7d51f1dec0c173a253539327b34e8fe9f56559db
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Thu Jun 13 13:03:44 2013 +0200
Add patch to fix device enumeration with nvidia drivers. (LP: #1190546)
xf86-fixup-detection.patch
diff --git a/debian/changelog b/debian/changelog
index a9f4d0d..1763690 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xorg-server (2:1.14.1-0ubuntu0.5) saucy; urgency=low
+
+ * Add patch to fix device enumeration with nvidia drivers. (LP: #1190546)
+ - xf86-fixup-detection.patch
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Thu, 13 Jun 2013 13:03:17 +0200
+
xorg-server (2:1.14.1-0ubuntu0.4) raring; urgency=low
* Add patch to fix crash on hybrid systems during shutdown. (LP: #1185035)
commit 31429857444aa0be467efff18328413135f9055a
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Thu Jun 13 13:01:48 2013 +0200
Add patch to fix device enumeration with nvidia drivers. (LP: #1190546)
xf86-fixup-detection.patch
diff --git a/debian/changelog b/debian/changelog
index ef81dab..a9ab4d0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xorg-server (2:1.13.3-0ubuntu11) saucy; urgency=low
+
+ * Add patch to fix device enumeration with nvidia drivers. (LP: #1190546)
+ - xf86-fixup-detection.patch
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Thu, 13 Jun 2013 13:00:58 +0200
+
xorg-server (2:1.13.3-0ubuntu10) saucy; urgency=low
* Add patch to fix DPMS. (LP: #1184999)
diff --git a/debian/patches/series b/debian/patches/series
index 4290015..41520ff 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -44,6 +44,7 @@ include-GPU-screens-in-DPMS-code.patch
# hybrid graphics fixes for xserver 1.13
228_autobind_gpu.patch
+xf86-fixup-detection.patch
# hotplug fixes
xfree86-hotplug-cleanup-properly-if-the-screen-fails.patch
diff --git a/debian/patches/xf86-fixup-detection.patch b/debian/patches/xf86-fixup-detection.patch
new file mode 100644
index 0000000..e454c75
--- /dev/null
+++ b/debian/patches/xf86-fixup-detection.patch
@@ -0,0 +1,79 @@
+--- a/hw/xfree86/common/xf86pciBus.c
++++ b/hw/xfree86/common/xf86pciBus.c
+@@ -546,6 +546,15 @@
+ for (k = 0; k < xf86NumEntities; k++) {
+ EntityPtr pEnt = xf86Entities[k];
+
++#ifdef XSERVER_PLATFORM_BUS
++ if (pEnt->bus.type == BUS_PLATFORM &&
++ pEnt->bus.id.plat->pdev &&
++ MATCH_PCI_DEVICES(pEnt->bus.id.plat->pdev, pPci)) {
++ foundScreen = TRUE;
++ break;
++ }
++#endif
++
+ if (pEnt->bus.type != BUS_PCI)
+ continue;
+ if (pEnt->bus.id.pci == pPci) {
+--- a/hw/xfree86/common/xf86platformBus.c
++++ b/hw/xfree86/common/xf86platformBus.c
+@@ -167,11 +167,12 @@
+ for (i = 0; i < xf86NumEntities; i++) {
+ const EntityPtr u = xf86Entities[i];
+
+- if (pd->pdev && u->bus.type == BUS_PCI)
+- return !MATCH_PCI_DEVICES(pd->pdev, u->bus.id.pci);
+- if ((u->bus.type == BUS_PLATFORM) && (pd == u->bus.id.plat)) {
++ if (pd->pdev && u->bus.type == BUS_PCI &&
++ MATCH_PCI_DEVICES(pd->pdev, u->bus.id.pci))
++ return FALSE;
++
++ if ((u->bus.type == BUS_PLATFORM) && (pd == u->bus.id.plat))
+ return FALSE;
+- }
+ }
+ return TRUE;
+ }
+@@ -302,6 +303,11 @@
+ for (nent = 0; nent < xf86NumEntities; nent++) {
+ EntityPtr pEnt = xf86Entities[nent];
+
++ if (dev->pdev && pEnt->bus.type == BUS_PCI &&
++ MATCH_PCI_DEVICES(dev->pdev, pEnt->bus.id.pci)) {
++ return FALSE;
++ }
++
+ if (pEnt->bus.type != BUS_PLATFORM)
+ continue;
+ if (pEnt->bus.id.plat == dev) {
+@@ -368,18 +374,15 @@
+ /* for non-seat0 servers assume first device is the master */
+ if (ServerIsNotSeat0())
+ break;
+- if (xf86_platform_devices[j].pdev) {
+- if (xf86IsPrimaryPlatform(&xf86_platform_devices[j]))
+- break;
+- }
+- else {
++ if (xf86IsPrimaryPlatform(&xf86_platform_devices[j]))
++ break;
++ else
+ /* there's no way to handle real platform devices at this point,
+ * as there's no valid busID to be used, so try to move forward
+ * in case there's only one platform device, and see if the
+ * driver's probe succeeds or not at least once */
+ if ((xf86_num_platform_devices == 1) && (!foundScreen))
+ break;
+- }
+ }
+ }
+
+@@ -398,6 +401,7 @@
+ }
+ }
+
++ free(devList);
+ return foundScreen;
+ }
+
commit 29d0c055a5b29e026d88d64b2cc1d9be2d32c873
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Tue May 28 16:19:24 2013 +0200
release to staging ppa
diff --git a/debian/changelog b/debian/changelog
index 4a1ee40..51c42f3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+xorg-server (2:1.14.1-0ubuntu0.4) raring; urgency=low
+
+ * Add patch to fix crash on hybrid systems during shutdown. (LP: #1185035)
+ - xf86-detach-scanout.patch
+ * Add patch to fix build error on saucy.
+ - include-selection-h.patch
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Tue, 28 May 2013 16:13:24 +0200
+
xorg-server (2:1.14.1-0ubuntu0.3) raring; urgency=low
* Add patch to fixup optimus again.
diff --git a/debian/patches/include-GPU-screens-in-DPMS-code.patch b/debian/patches/include-GPU-screens-in-DPMS-code.patch
deleted file mode 100644
index d3439ea..0000000
--- a/debian/patches/include-GPU-screens-in-DPMS-code.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From 6238bd68bd71323f8b4f1808f34dabe2ae447fe3 Mon Sep 17 00:00:00 2001
-From: Aaron Plattner <aplattner@nvidia.com>
-Date: Tue, 5 Mar 2013 13:04:46 -0800
-Subject: [PATCH] DPMS: include GPU screens in DPMS code
-
-Otherwise, displays driven by GPU screens remain on all the time.
-
-Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Keith Packard <keithp@keithp.com>
----
- hw/xfree86/common/xf86DPMS.c | 45 ++++++++++++++++++++++++++++++--------------
- 1 file changed, 31 insertions(+), 14 deletions(-)
-
-diff --git a/hw/xfree86/common/xf86DPMS.c b/hw/xfree86/common/xf86DPMS.c
-index ef4a2c1..3f1e142 100644
---- a/hw/xfree86/common/xf86DPMS.c
-+++ b/hw/xfree86/common/xf86DPMS.c
-@@ -130,6 +130,19 @@ DPMSClose(ScreenPtr pScreen)
- return pScreen->CloseScreen(pScreen);
- }
-
-+static void
-+DPMSSetScreen(ScrnInfoPtr pScrn, int level)
-+{
-+ ScreenPtr pScreen = xf86ScrnToScreen(pScrn);
-+ DPMSPtr pDPMS = dixLookupPrivate(&pScreen->devPrivates, DPMSKey);
-+
-+ if (pDPMS && pScrn->DPMSSet && pDPMS->Enabled && pScrn->vtSema) {
-+ xf86VGAarbiterLock(pScrn);
-+ pScrn->DPMSSet(pScrn, level, 0);
-+ xf86VGAarbiterUnlock(pScrn);
-+ }
-+}
-+
- /*
- * DPMSSet --
- * Device dependent DPMS mode setting hook. This is called whenever
-@@ -139,8 +152,6 @@ int
- DPMSSet(ClientPtr client, int level)
- {
- int rc, i;
-- DPMSPtr pDPMS;
-- ScrnInfoPtr pScrn;
-
- DPMSPowerLevel = level;
-
-@@ -155,17 +166,23 @@ DPMSSet(ClientPtr client, int level)
-
- /* For each screen, set the DPMS level */
- for (i = 0; i < xf86NumScreens; i++) {
-- pScrn = xf86Screens[i];
-- pDPMS = dixLookupPrivate(&screenInfo.screens[i]->devPrivates, DPMSKey);
-- if (pDPMS && pScrn->DPMSSet && pDPMS->Enabled && pScrn->vtSema) {
-- xf86VGAarbiterLock(pScrn);
-- pScrn->DPMSSet(pScrn, level, 0);
-- xf86VGAarbiterUnlock(pScrn);
-- }
-+ DPMSSetScreen(xf86Screens[i], level);
-+ }
-+ for (i = 0; i < xf86NumGPUScreens; i++) {
-+ DPMSSetScreen(xf86GPUScreens[i], level);
- }
- return Success;
- }
-
-+static Bool
-+DPMSSupportedOnScreen(ScrnInfoPtr pScrn)
-+{
-+ ScreenPtr pScreen = xf86ScrnToScreen(pScrn);
-+ DPMSPtr pDPMS = dixLookupPrivate(&pScreen->devPrivates, DPMSKey);
-+
-+ return pDPMS && pScrn->DPMSSet;
-+}
-+
- /*
- * DPMSSupported --
- * Return TRUE if any screen supports DPMS.
-@@ -174,8 +191,6 @@ Bool
- DPMSSupported(void)
- {
- int i;
-- DPMSPtr pDPMS;
-- ScrnInfoPtr pScrn;
-
- if (DPMSKey == NULL) {
- return FALSE;
-@@ -183,9 +198,11 @@ DPMSSupported(void)
-
- /* For each screen, check if DPMS is supported */
- for (i = 0; i < xf86NumScreens; i++) {
-- pScrn = xf86Screens[i];
-- pDPMS = dixLookupPrivate(&screenInfo.screens[i]->devPrivates, DPMSKey);
-- if (pDPMS && pScrn->DPMSSet)
-+ if (DPMSSupportedOnScreen(xf86Screens[i]))
-+ return TRUE;
-+ }
-+ for (i = 0; i < xf86NumGPUScreens; i++) {
-+ if (DPMSSupportedOnScreen(xf86GPUScreens[i]))
- return TRUE;
- }
- return FALSE;
---
-1.8.3
-
commit 116960c67a1edeacc1e3ff793d01f0e68895860b
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Tue May 28 16:12:25 2013 +0200
Cherry-pick "release to saucy" from ubuntu 1.13 branch.
(cherry picked from commit f344d7f45c484e6c981d16b01e55640a5e2d932b)
diff --git a/debian/changelog b/debian/changelog
index ed98cc4..4a1ee40 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -60,14 +60,14 @@ xorg-server (2:1.14.1-1) UNRELEASED; urgency=low
-- Robert Hooker <sarvatt@ubuntu.com> Wed, 22 Aug 2012 11:12:17 -0400
-xorg-server (2:1.13.3-0ubuntu10) UNRELEASED; urgency=low
+xorg-server (2:1.13.3-0ubuntu10) saucy; urgency=low
* Add patch to fix DPMS. (LP: #1184999)
- include-GPU-screens-in-DPMS-code.patch
* Add patch to fix crash on hybrid systems during shutdown. (LP: #1185035)
- xf86-detach-scanout.patch
- -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Tue, 28 May 2013 14:22:10 +0200
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Tue, 28 May 2013 16:12:12 +0200
xorg-server (2:1.13.3-0ubuntu9) saucy; urgency=low
commit 25f25e3264c76efb5308b96d6e42986e2f2dd6de
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Wed May 1 09:41:48 2013 +0200
Add patch to fixup optimus again.
xf86-dont-enable-gpuscreens.patch
diff --git a/debian/changelog b/debian/changelog
index 9ace01e..ebef470 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xorg-server (2:1.14.1-0ubuntu0.3) raring; urgency=low
+
+ * Add patch to fixup optimus again.
+ - xf86-dont-enable-gpuscreens.patch
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Wed, 01 May 2013 09:38:59 +0200
+
xorg-server (2:1.14.1-0ubuntu0.2) raring; urgency=low
* Add patch to run on outputless hybrid systems again.
diff --git a/debian/patches/series b/debian/patches/series
index d4eb4ae..518e215 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -35,6 +35,7 @@ xf86setdesired-hybrid.patch
227_null_ptr_midispcur.patch
# https://bugs.freedesktop.org/show_bug.cgi?id=24181
# Probably is just papering over issue; needs further analysis
+xf86-dont-enable-gpuscreens.patch
## upstream patches
os-use-libunwind-to-generate-backtraces.patch
@@ -50,3 +51,4 @@ dix-allow-pixmap-dirty-helper-to-be-used-for-non-sha.patch
xserver-call-CSR-for-gpus.patch
autoconfig-fixup-tell-changed-so-randr-clients-can-t.patch
config-add-no-removal.patch
+
diff --git a/debian/patches/xf86-dont-enable-gpuscreens.patch b/debian/patches/xf86-dont-enable-gpuscreens.patch
new file mode 100644
index 0000000..64531ab
--- /dev/null
+++ b/debian/patches/xf86-dont-enable-gpuscreens.patch
@@ -0,0 +1,64 @@
+From: Aaron Plattner <aplattner@nvidia.com>
+To: <xorg-devel@lists.x.org>
+Subject: [PATCH] xfree86: don't enable anything in xf86InitialConfiguration
+ for GPU screens
+Date: Tue, 30 Apr 2013 14:30:18 -0700
+
+There's no point in turning on outputs connected to GPU screens during initial
+configuration. Not only does this cause them to just display black, it also
+confuses clients when these screens are attached to a master screen and RandR
+reports that the outputs are already on.
+
+Also, don't print the warning about no outputs being found on GPU screens,
+since that's expected.
+
+Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
+---
+Dave, this fixes the black screen problem with "gpu: call CreateScreenResources
+for GPU screens"
+
+ hw/xfree86/modes/xf86Crtc.c | 16 +++++++++++++---
+ 1 file changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
+index 4a490c6..35845e8 100644
+--- a/hw/xfree86/modes/xf86Crtc.c
++++ b/hw/xfree86/modes/xf86Crtc.c
+@@ -1997,6 +1997,14 @@ xf86CollectEnabledOutputs(ScrnInfoPtr scrn, xf86CrtcConfigPtr config,
+ Bool any_enabled = FALSE;
+ int o;
+
++ /*
++ * Don't bother enabling outputs on GPU screens: a client needs to attach
++ * it to a source provider before setting a mode that scans out a shared
++ * pixmap.
++ */
++ if (scrn->is_gpu)
++ return FALSE;
++
+ for (o = 0; o < config->num_output; o++)
+ any_enabled |= enabled[o] = xf86OutputEnabled(config->output[o], TRUE);
+
+@@ -2466,9 +2474,11 @@ xf86InitialConfiguration(ScrnInfoPtr scrn, Bool canGrow)
+
+ ret = xf86CollectEnabledOutputs(scrn, config, enabled);
+ if (ret == FALSE && canGrow) {
+- xf86DrvMsg(i, X_WARNING,
+- "Unable to find connected outputs - setting %dx%d initial framebuffer\n",
+- NO_OUTPUT_DEFAULT_WIDTH, NO_OUTPUT_DEFAULT_HEIGHT);
++ if (!scrn->is_gpu)
++ xf86DrvMsg(i, X_WARNING,
++ "Unable to find connected outputs - setting %dx%d "
++ "initial framebuffer\n",
++ NO_OUTPUT_DEFAULT_WIDTH, NO_OUTPUT_DEFAULT_HEIGHT);
+ have_outputs = FALSE;
+ }
+ else {
+--
+1.8.2.2
+
+_______________________________________________
+xorg-devel@lists.x.org: X.Org development
+Archives: http://lists.x.org/archives/xorg-devel
+Info: http://lists.x.org/mailman/listinfo/xorg-devel
+
commit a6cc4edffb2268301d2a4c5c34bee4af01d206b0
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Mon Apr 29 11:29:22 2013 +0200
release to raring ppa
diff --git a/debian/changelog b/debian/changelog
index 2a94fe7..9ace01e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-xorg-server (2:1.14.1-0ubuntu0.2) UNRELEASED; urgency=low
+xorg-server (2:1.14.1-0ubuntu0.2) raring; urgency=low
* Add patch to run on outputless hybrid systems again.
- xf86setdesired-hybrid.patch
- -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Mon, 29 Apr 2013 11:27:55 +0200
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Mon, 29 Apr 2013 11:29:10 +0200
xorg-server (2:1.14.1-0ubuntu0.1) raring; urgency=low
commit be5f18186421afda7f99d4e49c603e92655fddcb
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Mon Apr 29 11:28:50 2013 +0200
Add patch to run on outputless hybrid systems again.
xf86setdesired-hybrid.patch
diff --git a/debian/changelog b/debian/changelog
index e9a8e9e..2a94fe7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xorg-server (2:1.14.1-0ubuntu0.2) UNRELEASED; urgency=low
+
+ * Add patch to run on outputless hybrid systems again.
+ - xf86setdesired-hybrid.patch
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Mon, 29 Apr 2013 11:27:55 +0200
+
xorg-server (2:1.14.1-0ubuntu0.1) raring; urgency=low
[ Timo Aaltonen ]
diff --git a/debian/patches/series b/debian/patches/series
index 309f5e0..d4eb4ae 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -19,6 +19,7 @@
xfree86-no-xv-for-gpuscreens.patch
xephyr-glx-register.patch
no-nv.patch
+xf86setdesired-hybrid.patch
## waiting for review by upstream
111_armel-drv-fallbacks.patch
diff --git a/debian/patches/xf86setdesired-hybrid.patch b/debian/patches/xf86setdesired-hybrid.patch
new file mode 100644
index 0000000..037556e
--- /dev/null
+++ b/debian/patches/xf86setdesired-hybrid.patch
@@ -0,0 +1,44 @@
+Subject: [PATCH] hw/xfree86: Allow xf86SetDesiredModes to succeed if no crtc's are enabled.
+From: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+
+Fixes regression on xserver 1.14 introduced by 6703a7c7cf1a.
+"hw/xfree86: Require only one working CRTC to start the server."
+
+https://bugs.freedesktop.org/show_bug.cgi?id=62916
+
+Without any crtc's enabled, 1.13 worked correctly, but the logic in
+xf86SetDesiredModes will now return false instead. Fix this to
+return success if all outputs were already disabled.
+
+Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+---
+diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
+index f9ae465..eb72f0e 100644
+--- a/hw/xfree86/modes/xf86Crtc.c
++++ b/hw/xfree86/modes/xf86Crtc.c
+@@ -2599,7 +2599,7 @@ xf86SetDesiredModes(ScrnInfoPtr scrn)
+ xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
+ xf86CrtcPtr crtc = config->crtc[0];
+ int c;
+- int enabled = 0;
++ int enabled = 0, failed = 0;
+
+ /* A driver with this hook will take care of this */
+ if (!crtc->funcs->set_mode_major) {
+@@ -2659,11 +2659,12 @@ xf86SetDesiredModes(ScrnInfoPtr scrn)
+ if (config->output[o]->crtc == crtc)
+ config->output[o]->crtc = NULL;
+ crtc->enabled = FALSE;
+- }
++ failed++;
++ }
+ }
+
+ xf86DisableUnusedFunctions(scrn);
+- return enabled != 0;
++ return enabled != 0 || !failed;
+ }
+
+ /**
+
+
commit f98a1a4e9a36999bf1fa9748273dd6b2da95b066
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Mon Apr 22 11:16:37 2013 +0300
Dropped drm_device_keep_trying.patch, not needed anymore.
diff --git a/debian/changelog b/debian/changelog
index d31d677..e9a8e9e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,7 @@ xorg-server (2:1.14.1-0ubuntu0.1) raring; urgency=low
165_man_xorg_conf_no_device_ident.patch
233-xf86events-valgrind.patch
236-use-fbdev-for-poulsbo-oaktrail-medfield.patch
+ * Dropped drm_device_keep_trying.patch, not needed anymore.
[ Bryce Harrington ]
* 157_check_null_modes.patch: Dropped, patch included upstream.
diff --git a/debian/patches/drm_device_keep_trying.patch b/debian/patches/drm_device_keep_trying.patch
deleted file mode 100644
index cac3fdd..0000000
--- a/debian/patches/drm_device_keep_trying.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-From fe5802680b5ecf5ecef55b839f2f555882207d41 Mon Sep 17 00:00:00 2001
-From: Bryce Harrington <bryce@canonical.com>
-Date: Wed, 13 Feb 2013 11:39:34 -0800
-Subject: [PATCH] If drm device couldn't be opened, keep trying for a sec.
-
-The kernel returns EACCES or EAGAIN on drm open when the drm device is
-currently unavailable, such as if it is in use by another process
-(e.g. plymouth), or hasn't finished initializing (e.g. on a really fast
-SSD). Check for errors when trying to open the device, and continue
-retrying for a short period before giving up.
-
-Fixes: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/982889
-
-Signed-off-by: Bryce Harrington <bryce@canonical.com>
----
- hw/xfree86/os-support/linux/lnx_platform.c | 29 +++++++++++++++++++++++++---
- 1 file changed, 26 insertions(+), 3 deletions(-)
-
---- a/config/udev.c
-+++ b/config/udev.c
-@@ -98,7 +98,7 @@
- if (strncmp(sysname, "card", 4) != 0)
- return;
-
-- LogMessage(X_INFO, "config/udev: Adding drm device (%s)\n", path);
-+ LogMessage(X_INFO, "config/udev: Adding drm device (%s) %s %s\n", path, sysname, syspath);
-
- config_udev_odev_setup_attribs(path, syspath, NewGPUDeviceRequest);
- return;
-@@ -267,7 +267,7 @@
-
- if (strncmp(sysname,"card", 4) != 0)
- return;
-- ErrorF("removing GPU device %s %d\n", syspath, path);
-+ ErrorF("removing GPU device %s %s\n", syspath, path);
- if (!path)
- return;
-
-@@ -420,11 +420,23 @@
- #ifdef CONFIG_UDEV_KMS
-
- static Bool
-+get_pci_busid(const char *in, char *pci_str)
-+{
-+ int ret, domain, bus, dev, func;
-+ ret = sscanf(in, "/%04x:%02x:%02x.%d/drm/card%*d", &domain, &bus, &dev, &func);
-+ if (ret != 4)
-+ return FALSE;
-+ sprintf(pci_str, "pci:%04x:%02x:%02x.%d", domain, bus, dev, func);
-+ return TRUE;
-+}
-+
-+static Bool
- config_udev_odev_setup_attribs(const char *path, const char *syspath,
- config_odev_probe_proc_ptr probe_callback)
- {
- struct OdevAttributes *attribs = config_odev_allocate_attribute_list();
- int ret;
-+ const char *platform;
-
- if (!attribs)
- return FALSE;
-@@ -437,6 +449,32 @@
- if (ret == FALSE)
- goto fail;
-
-+ if (strstr(syspath, "/devices/pci")) {
-+ char pci_str[17];
-+ const char *end = strstr(syspath, "/drm/card");
-+ if (strstr(syspath, "/usb"))
-+ ret = config_odev_add_attribute(attribs, ODEV_ATTRIB_BUSID, "");
-+ else if (get_pci_busid(end - 13, pci_str))
-+ ret = config_odev_add_attribute(attribs, ODEV_ATTRIB_BUSID, pci_str);
-+ } else if ((platform = strstr(syspath, "/devices/platform/"))) {
-+ const char *end;
-+ platform += 18;
-+ end = strchr(platform, '.');
-+ if (end) {
-+ char *busid;
-+ ret = asprintf(&busid, "platform:%.*s:%02li",
-+ (int)(end - platform), platform, strtol(end + 1, NULL, 10));
-+ if (ret >= 0) {
-+ ret = config_odev_add_attribute(attribs, ODEV_ATTRIB_BUSID, busid);
-+ free(busid);
-+ }
-+ else
-+ ret = TRUE;
-+ }
-+ }
-+ if (ret == FALSE)
-+ goto fail;
-+
- /* ownership of attribs is passed to probe layer */
- probe_callback(attribs);
- return TRUE;
---- a/hw/xfree86/os-support/linux/lnx_platform.c
-+++ b/hw/xfree86/os-support/linux/lnx_platform.c
-@@ -17,8 +17,8 @@
-
- #include "hotplug.h"
-
--static Bool
--get_drm_info(struct OdevAttributes *attribs, char *path)
-+static void
-+set_drm_info(const char *path)
- {
- drmSetVersion sv;
- char *buf;
-@@ -26,25 +26,23 @@
-
- fd = open(path, O_RDWR, O_CLOEXEC);
- if (fd == -1)
-- return FALSE;
-+ return;
-
Reply to: