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.lankho...@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.lankho...@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.lankho...@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.lankho...@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.lankho...@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.lankho...@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.lankho...@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.lankho...@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.lankho...@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 <aplatt...@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 <aplatt...@nvidia.com> -Reviewed-by: Alex Deucher <alexander.deuc...@amd.com> -Signed-off-by: Keith Packard <kei...@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.lankho...@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 <sarv...@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.lankho...@ubuntu.com> Tue, 28 May 2013 14:22:10 +0200 + -- Maarten Lankhorst <maarten.lankho...@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.lankho...@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.lankho...@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 <aplatt...@nvidia.com> +To: <xorg-de...@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 <aplatt...@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-de...@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.lankho...@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.lankho...@ubuntu.com> Mon, 29 Apr 2013 11:27:55 +0200 + -- Maarten Lankhorst <maarten.lankho...@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.lankho...@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.lankho...@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.lankho...@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.lankho...@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 <tjaal...@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 <br...@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 <br...@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; - -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1uwu1z-0006nt...@vasks.debian.org