xorg-server: Changes to 'ubuntu'
debian/changelog | 6
debian/control | 13
debian/patches/series | 1
debian/patches/xmir.patch | 1619 +++++++++++++++++++++++++++++++++++++++
debian/rules | 3
debian/serverminver | 2
debian/xserver-xorg-core.install | 4
debian/xserver-xorg-xmir.install | 1
8 files changed, 1647 insertions(+), 2 deletions(-)
New commits:
commit 727fbe5c19783153427d612c338af5f998400634
Author: Christopher James Halse Rogers <raof@ubuntu.com>
Date: Fri Aug 2 20:25:58 2013 +1000
Version the build-dep on libmirclient-dev to ensure we don't get built until a fixed version is available
diff --git a/debian/control b/debian/control
index c3e5a14..a4ad044 100644
--- a/debian/control
+++ b/debian/control
@@ -81,7 +81,7 @@ Build-Depends:
xkb-data,
x11-xkb-utils,
# XMir
- libmirclient-dev,
+ libmirclient-dev (>= 0.0.8+13.10.20130803) [linux-any],
Standards-Version: 3.9.3
Vcs-Git: git://git.debian.org/git/pkg-xorg/xserver/xorg-server
Vcs-Browser: http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git
commit 465f528f924a2ee9a4c10ca582f70e84f9a8280e
Author: Christopher James Halse Rogers <raof@ubuntu.com>
Date: Fri Aug 2 20:16:46 2013 +1000
Fix damage tracking.
I'm not entirely sure why checking against xorg_list_is_empty was failing,
but checking against ->damaged is no worse, and works
diff --git a/debian/patches/xmir.patch b/debian/patches/xmir.patch
index 953d82c..71f80a4 100644
--- a/debian/patches/xmir.patch
+++ b/debian/patches/xmir.patch
@@ -1,7 +1,7 @@
Index: xserver/configure.ac
===================================================================
---- xserver.orig/configure.ac 2013-08-02 15:09:08.852352007 +1000
-+++ xserver/configure.ac 2013-08-02 15:09:08.832352006 +1000
+--- xserver.orig/configure.ac 2013-08-02 17:45:27.679768902 +1000
++++ xserver/configure.ac 2013-08-02 17:45:27.671768903 +1000
@@ -639,6 +639,7 @@
AC_ARG_ENABLE(libdrm, AS_HELP_STRING([--enable-libdrm], [Build Xorg with libdrm support (default: enabled)]), [DRM=$enableval],[DRM=yes])
AC_ARG_ENABLE(clientids, AS_HELP_STRING([--disable-clientids], [Build Xorg with client ID tracking (default: enabled)]), [CLIENTIDS=$enableval], [CLIENTIDS=yes])
@@ -36,8 +36,8 @@ Index: xserver/configure.ac
hw/dmx/doc/Makefile
Index: xserver/hw/xfree86/Makefile.am
===================================================================
---- xserver.orig/hw/xfree86/Makefile.am 2013-08-02 15:09:08.852352007 +1000
-+++ xserver/hw/xfree86/Makefile.am 2013-08-02 15:09:08.836352006 +1000
+--- xserver.orig/hw/xfree86/Makefile.am 2013-08-02 17:45:27.679768902 +1000
++++ xserver/hw/xfree86/Makefile.am 2013-08-02 17:45:27.671768903 +1000
@@ -25,15 +25,20 @@
INT10_SUBDIR = int10
endif
@@ -63,8 +63,8 @@ Index: xserver/hw/xfree86/Makefile.am
nodist_Xorg_SOURCES = sdksyms.c
Index: xserver/hw/xfree86/common/xf86Config.c
===================================================================
---- xserver.orig/hw/xfree86/common/xf86Config.c 2013-08-02 15:09:08.852352007 +1000
-+++ xserver/hw/xfree86/common/xf86Config.c 2013-08-02 15:09:08.836352006 +1000
+--- xserver.orig/hw/xfree86/common/xf86Config.c 2013-08-02 17:45:27.679768902 +1000
++++ xserver/hw/xfree86/common/xf86Config.c 2013-08-02 17:45:27.671768903 +1000
@@ -117,6 +117,7 @@
{.name = "fb",.toLoad = TRUE,.load_opt = NULL},
{.name = "shadow",.toLoad = TRUE,.load_opt = NULL},
@@ -93,8 +93,8 @@ Index: xserver/hw/xfree86/common/xf86Config.c
* not be loaded
Index: xserver/hw/xfree86/common/xf86Globals.c
===================================================================
---- xserver.orig/hw/xfree86/common/xf86Globals.c 2013-08-02 15:09:08.852352007 +1000
-+++ xserver/hw/xfree86/common/xf86Globals.c 2013-08-02 15:09:08.836352006 +1000
+--- xserver.orig/hw/xfree86/common/xf86Globals.c 2013-08-02 17:45:27.679768902 +1000
++++ xserver/hw/xfree86/common/xf86Globals.c 2013-08-02 17:45:27.671768903 +1000
@@ -206,3 +206,6 @@
#endif
RootWinPropPtr *xf86RegisteredPropertiesTable = NULL;
@@ -104,8 +104,8 @@ Index: xserver/hw/xfree86/common/xf86Globals.c
+const char *mirSocket = NULL;
Index: xserver/hw/xfree86/common/xf86Init.c
===================================================================
---- xserver.orig/hw/xfree86/common/xf86Init.c 2013-08-02 15:09:08.852352007 +1000
-+++ xserver/hw/xfree86/common/xf86Init.c 2013-08-02 15:11:54.768358939 +1000
+--- xserver.orig/hw/xfree86/common/xf86Init.c 2013-08-02 17:45:27.679768902 +1000
++++ xserver/hw/xfree86/common/xf86Init.c 2013-08-02 17:45:27.671768903 +1000
@@ -554,7 +554,7 @@
* needed at this early stage.
*/
@@ -178,8 +178,8 @@ Index: xserver/hw/xfree86/common/xf86Init.c
ErrorF("\n");
Index: xserver/hw/xfree86/common/xf86Priv.h
===================================================================
---- xserver.orig/hw/xfree86/common/xf86Priv.h 2013-08-02 15:09:08.852352007 +1000
-+++ xserver/hw/xfree86/common/xf86Priv.h 2013-08-02 15:09:08.836352006 +1000
+--- xserver.orig/hw/xfree86/common/xf86Priv.h 2013-08-02 17:45:27.679768902 +1000
++++ xserver/hw/xfree86/common/xf86Priv.h 2013-08-02 17:45:27.671768903 +1000
@@ -93,6 +93,9 @@
extern _X_EXPORT const char *xf86VisualNames[];
extern _X_EXPORT int xf86Verbose; /* verbosity level */
@@ -193,7 +193,7 @@ Index: xserver/hw/xfree86/common/xf86Priv.h
Index: xserver/hw/xfree86/xmir/Makefile.am
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/xfree86/xmir/Makefile.am 2013-08-02 15:09:08.836352006 +1000
++++ xserver/hw/xfree86/xmir/Makefile.am 2013-08-02 17:45:27.671768903 +1000
@@ -0,0 +1,26 @@
+INCLUDES = \
+ $(XORG_INCS) \
@@ -224,7 +224,7 @@ Index: xserver/hw/xfree86/xmir/Makefile.am
Index: xserver/hw/xfree86/xmir/xmir-output.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/xfree86/xmir/xmir-output.c 2013-08-02 15:09:08.840352007 +1000
++++ xserver/hw/xfree86/xmir/xmir-output.c 2013-08-02 17:45:27.671768903 +1000
@@ -0,0 +1,225 @@
+/*
+ * Copyright © 2012 Canonical, Inc
@@ -454,7 +454,7 @@ Index: xserver/hw/xfree86/xmir/xmir-output.c
Index: xserver/hw/xfree86/xmir/xmir-private.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/xfree86/xmir/xmir-private.h 2013-08-02 15:09:08.840352007 +1000
++++ xserver/hw/xfree86/xmir/xmir-private.h 2013-08-02 17:45:27.671768903 +1000
@@ -0,0 +1,90 @@
+/*
+ * Copyright © 2012 Canonical, Inc
@@ -549,7 +549,7 @@ Index: xserver/hw/xfree86/xmir/xmir-private.h
Index: xserver/hw/xfree86/xmir/xmir-thread-proxy.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/xfree86/xmir/xmir-thread-proxy.c 2013-08-02 15:09:08.840352007 +1000
++++ xserver/hw/xfree86/xmir/xmir-thread-proxy.c 2013-08-02 17:45:27.671768903 +1000
@@ -0,0 +1,117 @@
+/*
+ * Copyright © 2012 Canonical, Inc
@@ -671,8 +671,8 @@ Index: xserver/hw/xfree86/xmir/xmir-thread-proxy.c
Index: xserver/hw/xfree86/xmir/xmir-window.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/xfree86/xmir/xmir-window.c 2013-08-02 15:09:08.840352007 +1000
-@@ -0,0 +1,324 @@
++++ xserver/hw/xfree86/xmir/xmir-window.c 2013-08-02 19:41:11.403465612 +1000
+@@ -0,0 +1,323 @@
+/*
+ * Copyright © 2012 Canonical, Inc
+ *
@@ -824,10 +824,9 @@ Index: xserver/hw/xfree86/xmir/xmir-window.c
+{
+ xmir_window *xmir_win = xmir_window_get(win);
+
-+ if (xorg_list_is_empty(&xmir_win->link_damage))
++ if (!xmir_win->damaged)
+ return (RegionPtr)&xmir_empty_region;
-+
-+ if (xmir_win->damaged) {
++ else {
+ RegionPtr damage = DamageRegion(xmir_win->damage);
+ int i;
+
@@ -1000,7 +999,7 @@ Index: xserver/hw/xfree86/xmir/xmir-window.c
Index: xserver/hw/xfree86/xmir/xmir.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/xfree86/xmir/xmir.c 2013-08-02 15:09:08.840352007 +1000
++++ xserver/hw/xfree86/xmir/xmir.c 2013-08-02 17:45:27.675768903 +1000
@@ -0,0 +1,217 @@
+/*
+ * Copyright © 2012 Canonical, Inc
@@ -1222,7 +1221,7 @@ Index: xserver/hw/xfree86/xmir/xmir.c
Index: xserver/hw/xfree86/xmir/xmir.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/xfree86/xmir/xmir.h 2013-08-02 15:09:08.840352007 +1000
++++ xserver/hw/xfree86/xmir/xmir.h 2013-08-02 17:45:27.675768903 +1000
@@ -0,0 +1,95 @@
+/*
+ * Copyright © 2012 Canonical, Inc
@@ -1321,8 +1320,8 @@ Index: xserver/hw/xfree86/xmir/xmir.h
+#endif /* _XMIR_H */
Index: xserver/include/list.h
===================================================================
---- xserver.orig/include/list.h 2013-08-02 15:09:08.852352007 +1000
-+++ xserver/include/list.h 2013-08-02 15:09:08.840352007 +1000
+--- xserver.orig/include/list.h 2013-08-02 17:45:27.679768902 +1000
++++ xserver/include/list.h 2013-08-02 17:45:27.675768903 +1000
@@ -184,6 +184,14 @@
prev->next = next;
}
@@ -1340,8 +1339,8 @@ Index: xserver/include/list.h
* the pointers to/from this element so it is removed from the list. It does
Index: xserver/include/xorg-server.h.in
===================================================================
---- xserver.orig/include/xorg-server.h.in 2013-08-02 15:09:08.852352007 +1000
-+++ xserver/include/xorg-server.h.in 2013-08-02 15:09:08.840352007 +1000
+--- xserver.orig/include/xorg-server.h.in 2013-08-02 17:45:27.679768902 +1000
++++ xserver/include/xorg-server.h.in 2013-08-02 17:45:27.675768903 +1000
@@ -212,4 +212,7 @@
#define _XSERVER64 1
#endif
@@ -1352,8 +1351,8 @@ Index: xserver/include/xorg-server.h.in
#endif /* _XORG_SERVER_H_ */
Index: xserver/miext/damage/damage.c
===================================================================
---- xserver.orig/miext/damage/damage.c 2013-08-02 15:09:08.852352007 +1000
-+++ xserver/miext/damage/damage.c 2013-08-02 15:09:08.844352007 +1000
+--- xserver.orig/miext/damage/damage.c 2013-08-02 17:45:27.679768902 +1000
++++ xserver/miext/damage/damage.c 2013-08-02 17:45:27.675768903 +1000
@@ -123,18 +123,14 @@
damageReportDamagePostRendering(DamagePtr pDamage, RegionPtr pOldDamage,
RegionPtr pDamageRegion)
@@ -1414,8 +1413,8 @@ Index: xserver/miext/damage/damage.c
#if DAMAGE_DEBUG_ENABLE
Index: xserver/test/Makefile.am
===================================================================
---- xserver.orig/test/Makefile.am 2013-08-02 15:09:08.852352007 +1000
-+++ xserver/test/Makefile.am 2013-08-02 15:09:08.844352007 +1000
+--- xserver.orig/test/Makefile.am 2013-08-02 17:45:27.679768902 +1000
++++ xserver/test/Makefile.am 2013-08-02 17:45:27.675768903 +1000
@@ -6,7 +6,12 @@
# For now, requires xf86 ddx, could be adjusted to use another
SUBDIRS += xi2
@@ -1442,7 +1441,7 @@ Index: xserver/test/Makefile.am
Index: xserver/test/xmir-thread-proxy.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/test/xmir-thread-proxy.c 2013-08-02 15:09:08.844352007 +1000
++++ xserver/test/xmir-thread-proxy.c 2013-08-02 17:45:27.675768903 +1000
@@ -0,0 +1,154 @@
+/*
+ * Copyright © 2012 Canonical, Inc
@@ -1600,8 +1599,8 @@ Index: xserver/test/xmir-thread-proxy.c
+}
Index: xserver/hw/xfree86/common/xf86Helper.c
===================================================================
---- xserver.orig/hw/xfree86/common/xf86Helper.c 2013-08-02 15:09:07.884351967 +1000
-+++ xserver/hw/xfree86/common/xf86Helper.c 2013-08-02 15:11:54.768358939 +1000
+--- xserver.orig/hw/xfree86/common/xf86Helper.c 2013-08-02 17:45:27.679768902 +1000
++++ xserver/hw/xfree86/common/xf86Helper.c 2013-08-02 17:45:27.675768903 +1000
@@ -100,7 +100,14 @@
if (xf86DriverList[drvIndex]->module)
UnloadModule(xf86DriverList[drvIndex]->module);
commit cda9ecfaf670e424845bc9d9933c6e3d85da77d9
Author: Christopher James Halse Rogers <raof@ubuntu.com>
Date: Fri Aug 2 15:13:21 2013 +1000
Bump serverminver to ensure XMir availability
diff --git a/debian/serverminver b/debian/serverminver
index 0f9556a..08551ff 100644
--- a/debian/serverminver
+++ b/debian/serverminver
@@ -1,3 +1,3 @@
-2:1.13.99.901
+2:1.14.2-0ubuntu4~
ABI_VIDEODRV_VERSION:14.1
ABI_XINPUT_VERSION:19.1
commit 0bb30f5c354664c0ab696a9ac47b45c38f9a74f6
Author: Christopher James Halse Rogers <raof@ubuntu.com>
Date: Fri Aug 2 15:13:02 2013 +1000
Fix xf86NumDrivers again
diff --git a/debian/patches/xmir.patch b/debian/patches/xmir.patch
index f8b094a..953d82c 100644
--- a/debian/patches/xmir.patch
+++ b/debian/patches/xmir.patch
@@ -1,8 +1,8 @@
-diff --git a/configure.ac b/configure.ac
-index c6ecba4..cbba229 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -635,6 +635,7 @@ AC_ARG_ENABLE(windowswm, AS_HELP_STRING([--enable-windowswm], [Build XWin w
+Index: xserver/configure.ac
+===================================================================
+--- xserver.orig/configure.ac 2013-08-02 15:09:08.852352007 +1000
++++ xserver/configure.ac 2013-08-02 15:09:08.832352006 +1000
+@@ -639,6 +639,7 @@
AC_ARG_ENABLE(libdrm, AS_HELP_STRING([--enable-libdrm], [Build Xorg with libdrm support (default: enabled)]), [DRM=$enableval],[DRM=yes])
AC_ARG_ENABLE(clientids, AS_HELP_STRING([--disable-clientids], [Build Xorg with client ID tracking (default: enabled)]), [CLIENTIDS=$enableval], [CLIENTIDS=yes])
AC_ARG_ENABLE(pciaccess, AS_HELP_STRING([--enable-pciaccess], [Build Xorg with pciaccess library (default: enabled)]), [PCI=$enableval], [PCI=yes])
@@ -10,7 +10,7 @@ index c6ecba4..cbba229 100644
dnl DDXes.
AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
-@@ -1148,6 +1149,15 @@ if test "x$XINERAMA" = xyes; then
+@@ -1152,6 +1153,15 @@
SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $XINERAMAPROTO"
fi
@@ -26,7 +26,7 @@ index c6ecba4..cbba229 100644
AM_CONDITIONAL(XACE, [test "x$XACE" = xyes])
if test "x$XACE" = xyes; then
AC_DEFINE(XACE, 1, [Build X-ACE extension])
-@@ -2299,6 +2309,7 @@ hw/xfree86/utils/Makefile
+@@ -2300,6 +2310,7 @@
hw/xfree86/utils/man/Makefile
hw/xfree86/utils/cvt/Makefile
hw/xfree86/utils/gtf/Makefile
@@ -34,11 +34,11 @@ index c6ecba4..cbba229 100644
hw/dmx/config/Makefile
hw/dmx/config/man/Makefile
hw/dmx/doc/Makefile
-diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
-index c3899b5..6821198 100644
---- a/hw/xfree86/Makefile.am
-+++ b/hw/xfree86/Makefile.am
-@@ -25,15 +25,20 @@ if INT10MODULE
+Index: xserver/hw/xfree86/Makefile.am
+===================================================================
+--- xserver.orig/hw/xfree86/Makefile.am 2013-08-02 15:09:08.852352007 +1000
++++ xserver/hw/xfree86/Makefile.am 2013-08-02 15:09:08.836352006 +1000
+@@ -25,15 +25,20 @@
INT10_SUBDIR = int10
endif
@@ -61,11 +61,11 @@ index c3899b5..6821198 100644
bin_PROGRAMS = Xorg
nodist_Xorg_SOURCES = sdksyms.c
-diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
-index 74d5ed3..538ba4b 100644
---- a/hw/xfree86/common/xf86Config.c
-+++ b/hw/xfree86/common/xf86Config.c
-@@ -118,6 +118,7 @@ static ModuleDefault ModuleDefaults[] = {
+Index: xserver/hw/xfree86/common/xf86Config.c
+===================================================================
+--- xserver.orig/hw/xfree86/common/xf86Config.c 2013-08-02 15:09:08.852352007 +1000
++++ xserver/hw/xfree86/common/xf86Config.c 2013-08-02 15:09:08.836352006 +1000
+@@ -117,6 +117,7 @@
{.name = "fb",.toLoad = TRUE,.load_opt = NULL},
{.name = "shadow",.toLoad = TRUE,.load_opt = NULL},
#endif
@@ -73,7 +73,7 @@ index 74d5ed3..538ba4b 100644
{.name = NULL,.toLoad = FALSE,.load_opt = NULL}
};
-@@ -260,6 +261,17 @@ xf86ModulelistFromConfig(pointer **optlist)
+@@ -259,6 +260,17 @@
return NULL;
}
@@ -91,22 +91,31 @@ index 74d5ed3..538ba4b 100644
if (xf86configptr->conf_modules) {
/* Walk the disable list and let people know what we've parsed to
* not be loaded
-diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c
-index 7df7a80..17ed7c6 100644
---- a/hw/xfree86/common/xf86Globals.c
-+++ b/hw/xfree86/common/xf86Globals.c
-@@ -204,3 +204,6 @@ Bool xf86VidModeAllowNonLocal = FALSE;
+Index: xserver/hw/xfree86/common/xf86Globals.c
+===================================================================
+--- xserver.orig/hw/xfree86/common/xf86Globals.c 2013-08-02 15:09:08.852352007 +1000
++++ xserver/hw/xfree86/common/xf86Globals.c 2013-08-02 15:09:08.836352006 +1000
+@@ -206,3 +206,6 @@
#endif
RootWinPropPtr *xf86RegisteredPropertiesTable = NULL;
Bool xorgHWAccess = FALSE;
+Bool xorgMir = FALSE;
+const char *mirID = NULL;
+const char *mirSocket = NULL;
-diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
-index 91ec4c8..1e5415b 100644
---- a/hw/xfree86/common/xf86Init.c
-+++ b/hw/xfree86/common/xf86Init.c
-@@ -541,6 +541,13 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
+Index: xserver/hw/xfree86/common/xf86Init.c
+===================================================================
+--- xserver.orig/hw/xfree86/common/xf86Init.c 2013-08-02 15:09:08.852352007 +1000
++++ xserver/hw/xfree86/common/xf86Init.c 2013-08-02 15:11:54.768358939 +1000
+@@ -554,7 +554,7 @@
+ * needed at this early stage.
+ */
+
+- for (i = 0; i < xf86NumDrivers; i++) {
++ for (i = 0; i < xf86NumDrivers; ) {
+ xorgHWFlags flags = HW_IO;
+
+ if (xf86DriverList[i]->Identify != NULL)
+@@ -565,11 +565,20 @@
GET_REQUIRED_HW_INTERFACES,
&flags);
@@ -120,7 +129,27 @@ index 91ec4c8..1e5415b 100644
if (NEED_IO_ENABLED(flags))
want_hw_access = TRUE;
-@@ -1454,6 +1461,17 @@ ddxProcessArgument(int argc, char **argv, int i)
+ if (!(flags & HW_SKIP_CONSOLE))
+ xorgHWOpenConsole = TRUE;
++
++ i++;
+ }
+
+ if (xorgHWOpenConsole)
+@@ -662,9 +671,11 @@
+ }
+
+ /* Remove (unload) drivers that are not required */
+- for (i = 0; i < xf86NumDrivers; i++)
++ for (i = 0; i < xf86NumDrivers; )
+ if (xf86DriverList[i] && xf86DriverList[i]->refCount <= 0)
+ xf86DeleteDriver(i);
++ else
++ i++;
+
+ /*
+ * At this stage we know how many screens there are.
+@@ -1490,6 +1501,17 @@
xf86Info.ShareVTs = TRUE;
return 1;
}
@@ -138,7 +167,7 @@ index 91ec4c8..1e5415b 100644
/* OS-specific processing */
return xf86ProcessArgument(argc, argv, i);
-@@ -1527,6 +1545,8 @@ ddxUseMsg(void)
+@@ -1563,6 +1585,8 @@
ErrorF
("-novtswitch don't automatically switch VT at reset & exit\n");
ErrorF("-sharevts share VTs with another X server\n");
@@ -147,11 +176,11 @@ index 91ec4c8..1e5415b 100644
/* OS-specific usage */
xf86UseMsg();
ErrorF("\n");
-diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h
-index 58cfe0a..4630e9e 100644
---- a/hw/xfree86/common/xf86Priv.h
-+++ b/hw/xfree86/common/xf86Priv.h
-@@ -91,6 +91,9 @@ extern _X_EXPORT int xf86NumScreens;
+Index: xserver/hw/xfree86/common/xf86Priv.h
+===================================================================
+--- xserver.orig/hw/xfree86/common/xf86Priv.h 2013-08-02 15:09:08.852352007 +1000
++++ xserver/hw/xfree86/common/xf86Priv.h 2013-08-02 15:09:08.836352006 +1000
+@@ -93,6 +93,9 @@
extern _X_EXPORT const char *xf86VisualNames[];
extern _X_EXPORT int xf86Verbose; /* verbosity level */
extern _X_EXPORT int xf86LogVerbose; /* log file verbosity level */
@@ -161,11 +190,10 @@ index 58cfe0a..4630e9e 100644
extern _X_EXPORT RootWinPropPtr *xf86RegisteredPropertiesTable;
-diff --git a/hw/xfree86/xmir/Makefile.am b/hw/xfree86/xmir/Makefile.am
-new file mode 100644
-index 0000000..80715f8
---- /dev/null
-+++ b/hw/xfree86/xmir/Makefile.am
+Index: xserver/hw/xfree86/xmir/Makefile.am
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ xserver/hw/xfree86/xmir/Makefile.am 2013-08-02 15:09:08.836352006 +1000
@@ -0,0 +1,26 @@
+INCLUDES = \
+ $(XORG_INCS) \
@@ -193,11 +221,10 @@ index 0000000..80715f8
+ xmir-private.h
+
+sdk_HEADERS = xmir.h
-diff --git a/hw/xfree86/xmir/xmir-output.c b/hw/xfree86/xmir/xmir-output.c
-new file mode 100644
-index 0000000..e62c7fb
---- /dev/null
-+++ b/hw/xfree86/xmir/xmir-output.c
+Index: xserver/hw/xfree86/xmir/xmir-output.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ xserver/hw/xfree86/xmir/xmir-output.c 2013-08-02 15:09:08.840352007 +1000
@@ -0,0 +1,225 @@
+/*
+ * Copyright © 2012 Canonical, Inc
@@ -424,11 +451,10 @@ index 0000000..e62c7fb
+
+ return TRUE;
+}
-diff --git a/hw/xfree86/xmir/xmir-private.h b/hw/xfree86/xmir/xmir-private.h
-new file mode 100644
-index 0000000..7a518a4
---- /dev/null
-+++ b/hw/xfree86/xmir/xmir-private.h
+Index: xserver/hw/xfree86/xmir/xmir-private.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ xserver/hw/xfree86/xmir/xmir-private.h 2013-08-02 15:09:08.840352007 +1000
@@ -0,0 +1,90 @@
+/*
+ * Copyright © 2012 Canonical, Inc
@@ -520,11 +546,10 @@ index 0000000..7a518a4
+xmir_process_from_eventloop(void);
+
+ #endif /* _MIR_PRIVATE_H */
-diff --git a/hw/xfree86/xmir/xmir-thread-proxy.c b/hw/xfree86/xmir/xmir-thread-proxy.c
-new file mode 100644
-index 0000000..7464644
---- /dev/null
-+++ b/hw/xfree86/xmir/xmir-thread-proxy.c
+Index: xserver/hw/xfree86/xmir/xmir-thread-proxy.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ xserver/hw/xfree86/xmir/xmir-thread-proxy.c 2013-08-02 15:09:08.840352007 +1000
@@ -0,0 +1,117 @@
+/*
+ * Copyright © 2012 Canonical, Inc
@@ -643,11 +668,10 @@ index 0000000..7464644
+ }
+}
+
-diff --git a/hw/xfree86/xmir/xmir-window.c b/hw/xfree86/xmir/xmir-window.c
-new file mode 100644
-index 0000000..0c906e2
---- /dev/null
-+++ b/hw/xfree86/xmir/xmir-window.c
+Index: xserver/hw/xfree86/xmir/xmir-window.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ xserver/hw/xfree86/xmir/xmir-window.c 2013-08-02 15:09:08.840352007 +1000
@@ -0,0 +1,324 @@
+/*
+ * Copyright © 2012 Canonical, Inc
@@ -973,11 +997,10 @@ index 0000000..0c906e2
+
+ return TRUE;
+}
-diff --git a/hw/xfree86/xmir/xmir.c b/hw/xfree86/xmir/xmir.c
-new file mode 100644
-index 0000000..6e2ebb8
---- /dev/null
-+++ b/hw/xfree86/xmir/xmir.c
+Index: xserver/hw/xfree86/xmir/xmir.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ xserver/hw/xfree86/xmir/xmir.c 2013-08-02 15:09:08.840352007 +1000
@@ -0,0 +1,217 @@
+/*
+ * Copyright © 2012 Canonical, Inc
@@ -1196,11 +1219,10 @@ index 0000000..6e2ebb8
+xMirTeardown(pointer module)
+{
+}
-diff --git a/hw/xfree86/xmir/xmir.h b/hw/xfree86/xmir/xmir.h
-new file mode 100644
-index 0000000..573309d
---- /dev/null
-+++ b/hw/xfree86/xmir/xmir.h
+Index: xserver/hw/xfree86/xmir/xmir.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ xserver/hw/xfree86/xmir/xmir.h 2013-08-02 15:09:08.840352007 +1000
@@ -0,0 +1,95 @@
+/*
+ * Copyright © 2012 Canonical, Inc
@@ -1297,11 +1319,11 @@ index 0000000..573309d
+xmir_screen_for_each_damaged_window(xmir_screen *xmir, xmir_handle_window_damage_proc callback);
+
+#endif /* _XMIR_H */
-diff --git a/include/list.h b/include/list.h
-index 11de7c5..59f0233 100644
---- a/include/list.h
-+++ b/include/list.h
-@@ -184,6 +184,14 @@ __xorg_list_del(struct xorg_list *prev, struct xorg_list *next)
+Index: xserver/include/list.h
+===================================================================
+--- xserver.orig/include/list.h 2013-08-02 15:09:08.852352007 +1000
++++ xserver/include/list.h 2013-08-02 15:09:08.840352007 +1000
+@@ -184,6 +184,14 @@
prev->next = next;
}
@@ -1316,10 +1338,10 @@ index 11de7c5..59f0233 100644
/**
* Remove the element from the list it is in. Using this function will reset
* the pointers to/from this element so it is removed from the list. It does
-diff --git a/include/xorg-server.h.in b/include/xorg-server.h.in
-index 81935be..c9cd4e8 100644
---- a/include/xorg-server.h.in
-+++ b/include/xorg-server.h.in
+Index: xserver/include/xorg-server.h.in
+===================================================================
+--- xserver.orig/include/xorg-server.h.in 2013-08-02 15:09:08.852352007 +1000
++++ xserver/include/xorg-server.h.in 2013-08-02 15:09:08.840352007 +1000
@@ -212,4 +212,7 @@
#define _XSERVER64 1
#endif
@@ -1328,11 +1350,11 @@ index 81935be..c9cd4e8 100644
+#undef XMIR
+
#endif /* _XORG_SERVER_H_ */
-diff --git a/miext/damage/damage.c b/miext/damage/damage.c
-index a98c20e..a1daebb 100644
---- a/miext/damage/damage.c
-+++ b/miext/damage/damage.c
-@@ -123,18 +123,14 @@ static void
+Index: xserver/miext/damage/damage.c
+===================================================================
+--- xserver.orig/miext/damage/damage.c 2013-08-02 15:09:08.852352007 +1000
++++ xserver/miext/damage/damage.c 2013-08-02 15:09:08.844352007 +1000
+@@ -123,18 +123,14 @@
damageReportDamagePostRendering(DamagePtr pDamage, RegionPtr pOldDamage,
RegionPtr pDamageRegion)
{
@@ -1353,7 +1375,7 @@ index a98c20e..a1daebb 100644
RegionNull(&tmpRegion);
RegionSubtract(&tmpRegion, pDamageRegion, pOldDamage);
if (RegionNotEmpty(&tmpRegion)) {
-@@ -143,25 +139,31 @@ damageReportDamagePostRendering(DamagePtr pDamage, RegionPtr pOldDamage,
+@@ -143,25 +139,31 @@
}
RegionUninit(&tmpRegion);
break;
@@ -1390,11 +1412,11 @@ index a98c20e..a1daebb 100644
}
#if DAMAGE_DEBUG_ENABLE
-diff --git a/test/Makefile.am b/test/Makefile.am
-index 34f53fc..d1a0f27 100644
---- a/test/Makefile.am
-+++ b/test/Makefile.am
-@@ -6,7 +6,12 @@ if XORG
+Index: xserver/test/Makefile.am
+===================================================================
+--- xserver.orig/test/Makefile.am 2013-08-02 15:09:08.852352007 +1000
++++ xserver/test/Makefile.am 2013-08-02 15:09:08.844352007 +1000
+@@ -6,7 +6,12 @@
# For now, requires xf86 ddx, could be adjusted to use another
SUBDIRS += xi2
noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging
@@ -1408,7 +1430,7 @@ index 34f53fc..d1a0f27 100644
check_LTLIBRARIES = libxservertest.la
TESTS=$(noinst_PROGRAMS)
-@@ -38,6 +43,8 @@ touch_LDADD=$(TEST_LDADD)
+@@ -38,6 +43,8 @@
signal_logging_LDADD=$(TEST_LDADD)
hashtabletest_LDADD=$(TEST_LDADD) $(top_srcdir)/Xext/hashtable.c
os_LDADD=$(TEST_LDADD)
@@ -1417,11 +1439,10 @@ index 34f53fc..d1a0f27 100644
libxservertest_la_LIBADD = $(XSERVER_LIBS)
if XORG
-diff --git a/test/xmir-thread-proxy.c b/test/xmir-thread-proxy.c
-new file mode 100644
-index 0000000..7cf19cf
---- /dev/null
-+++ b/test/xmir-thread-proxy.c
+Index: xserver/test/xmir-thread-proxy.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ xserver/test/xmir-thread-proxy.c 2013-08-02 15:09:08.844352007 +1000
@@ -0,0 +1,154 @@
+/*
+ * Copyright © 2012 Canonical, Inc
@@ -1577,3 +1598,23 @@ index 0000000..7cf19cf
+ xmir_test_many_threads_to_eventloop();
+ xmir_test_refuses_to_marshall_too_large_msg();
+}
+Index: xserver/hw/xfree86/common/xf86Helper.c
+===================================================================
+--- xserver.orig/hw/xfree86/common/xf86Helper.c 2013-08-02 15:09:07.884351967 +1000
++++ xserver/hw/xfree86/common/xf86Helper.c 2013-08-02 15:11:54.768358939 +1000
+@@ -100,7 +100,14 @@
+ if (xf86DriverList[drvIndex]->module)
+ UnloadModule(xf86DriverList[drvIndex]->module);
+ free(xf86DriverList[drvIndex]);
+- xf86DriverList[drvIndex] = NULL;
++
++ /* Compact xf86DriverList array, update xf86NumDrivers */
++ xf86NumDrivers--;
++ if(drvIndex != xf86NumDrivers)
++ memmove(xf86DriverList + drvIndex,
++ xf86DriverList + drvIndex + 1,
++ sizeof(DriverPtr) * (xf86NumDrivers - drvIndex));
++ xf86DriverList = realloc(xf86DriverList, xf86NumDrivers * sizeof(DriverPtr));
+ }
+ }
+
commit 7829035be881459b826f1721964037913e02833d
Author: Christopher James Halse Rogers <raof@ubuntu.com>
Date: Thu Aug 1 13:01:42 2013 +1000
Add XMir support to archive packages
diff --git a/debian/changelog b/debian/changelog
index b7763a4..e80041d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.14.2-0ubuntu4) saucy; urgency=low
+
+ * Add xmir.patch; First upload with XMir support.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com> Thu, 01 Aug 2013 13:00:41 +1000
+
xorg-server (2:1.14.2-0ubuntu3) saucy; urgency=low
* Oops, refresh xf86-detach-scanout, embarassing bug in the for check.
diff --git a/debian/control b/debian/control
index 74c5327..c3e5a14 100644
--- a/debian/control
+++ b/debian/control
@@ -80,6 +80,8 @@ Build-Depends:
# unit tests
xkb-data,
x11-xkb-utils,
+# XMir
+ libmirclient-dev,
Standards-Version: 3.9.3
Vcs-Git: git://git.debian.org/git/pkg-xorg/xserver/xorg-server
Vcs-Browser: http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git
@@ -184,6 +186,7 @@ Depends:
libpciaccess-dev,
libpixman-1-dev (>= 0.21.8),
mesa-common-dev,
+ libmirclient-dev,
${misc:Depends},
Description: Xorg X server - development files
This package provides development files for the X.Org ('Xorg') X server.
@@ -355,3 +358,13 @@ Recommends:
Replaces: xserver-xorg-core (<< 2:1.5.2)
Description: common files used by various X servers
This package provides files necessary for all X.Org based X servers.
+
+Package: xserver-xorg-xmir
+Architecture: any
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+ xserver-xorg-core (= ${binary:Version}),
+Description: Xorg - the X.Org X server (module for running nested in Mir)
+ xserver-xorg-xmir provides an extension module to support running an
+ Xorg as a client of an existing Mir compositor.
diff --git a/debian/patches/series b/debian/patches/series
index 37a75fe..fada62e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -56,3 +56,4 @@ include-selection-h.patch
xf86-detach-scanout.patch
aarch64.patch
+xmir.patch
diff --git a/debian/patches/xmir.patch b/debian/patches/xmir.patch
new file mode 100644
index 0000000..f8b094a
--- /dev/null
+++ b/debian/patches/xmir.patch
@@ -0,0 +1,1579 @@
+diff --git a/configure.ac b/configure.ac
+index c6ecba4..cbba229 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -635,6 +635,7 @@ AC_ARG_ENABLE(windowswm, AS_HELP_STRING([--enable-windowswm], [Build XWin w
+ AC_ARG_ENABLE(libdrm, AS_HELP_STRING([--enable-libdrm], [Build Xorg with libdrm support (default: enabled)]), [DRM=$enableval],[DRM=yes])
+ AC_ARG_ENABLE(clientids, AS_HELP_STRING([--disable-clientids], [Build Xorg with client ID tracking (default: enabled)]), [CLIENTIDS=$enableval], [CLIENTIDS=yes])
+ AC_ARG_ENABLE(pciaccess, AS_HELP_STRING([--enable-pciaccess], [Build Xorg with pciaccess library (default: enabled)]), [PCI=$enableval], [PCI=yes])
++AC_ARG_ENABLE(xmir, AS_HELP_STRING([--enable-xmir], [Build support for nesting in Mir (default: auto)]), [XMIR=$enableval], [XMIR=auto])
+
+ dnl DDXes.
+ AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
+@@ -1148,6 +1149,15 @@ if test "x$XINERAMA" = xyes; then
+ SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $XINERAMAPROTO"
+ fi
+
++if test "x$XMIR" != xno; then
++ PKG_CHECK_MODULES([XMIR], [mirclient], [XMIR=yes], [XMIR=no])
++ AC_SUBST([XMIR_LIBS])
++ AC_SUBST([XMIR_CFLAGS])
++ AC_DEFINE(XMIR, 1, [Support Mir nested mode])
++ SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES mirclient"
++fi
++AM_CONDITIONAL(XMIR, [test "x$XMIR" = xyes])
++
+ AM_CONDITIONAL(XACE, [test "x$XACE" = xyes])
+ if test "x$XACE" = xyes; then
+ AC_DEFINE(XACE, 1, [Build X-ACE extension])
+@@ -2299,6 +2309,7 @@ hw/xfree86/utils/Makefile
+ hw/xfree86/utils/man/Makefile
+ hw/xfree86/utils/cvt/Makefile
+ hw/xfree86/utils/gtf/Makefile
++hw/xfree86/xmir/Makefile
+ hw/dmx/config/Makefile
+ hw/dmx/config/man/Makefile
+ hw/dmx/doc/Makefile
+diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
+index c3899b5..6821198 100644
+--- a/hw/xfree86/Makefile.am
++++ b/hw/xfree86/Makefile.am
+@@ -25,15 +25,20 @@ if INT10MODULE
+ INT10_SUBDIR = int10
+ endif
+
++if XMIR
++XMIR_SUBDIR = xmir
++endif
++
+ SUBDIRS = common ddc x86emu $(INT10_SUBDIR) os-support parser \
+ ramdac $(VGAHW_SUBDIR) loader modes $(DRI_SUBDIR) \
+ $(DRI2_SUBDIR) . $(VBE_SUBDIR) i2c dixmods \
+- fbdevhw shadowfb exa $(XF86UTILS_SUBDIR) doc man
++ fbdevhw shadowfb exa $(XF86UTILS_SUBDIR) doc man \
++ $(XMIR_SUBDIR)
+
+ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
+ parser ramdac shadowfb vbe vgahw \
+ loader dixmods dri dri2 exa modes \
+- utils doc man
++ utils doc man xmir
+
+ bin_PROGRAMS = Xorg
+ nodist_Xorg_SOURCES = sdksyms.c
+diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
+index 74d5ed3..538ba4b 100644
+--- a/hw/xfree86/common/xf86Config.c
++++ b/hw/xfree86/common/xf86Config.c
+@@ -118,6 +118,7 @@ static ModuleDefault ModuleDefaults[] = {
+ {.name = "fb",.toLoad = TRUE,.load_opt = NULL},
+ {.name = "shadow",.toLoad = TRUE,.load_opt = NULL},
+ #endif
++ {.name = "xmir", .toLoad = FALSE, .load_opt = NULL},
+ {.name = NULL,.toLoad = FALSE,.load_opt = NULL}
+ };
+
+@@ -260,6 +261,17 @@ xf86ModulelistFromConfig(pointer **optlist)
+ return NULL;
+ }
+
++ /*
++ * Set the xmir module to autoload if requested.
++ */
++ if (xorgMir) {
++ for (i=0 ; ModuleDefaults[i].name != NULL ; i++) {
++ if (strcmp(ModuleDefaults[i].name, "xmir") == 0) {
++ ModuleDefaults[i].toLoad = TRUE;
++ }
++ }
++ }
++
+ if (xf86configptr->conf_modules) {
+ /* Walk the disable list and let people know what we've parsed to
+ * not be loaded
+diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c
+index 7df7a80..17ed7c6 100644
+--- a/hw/xfree86/common/xf86Globals.c
++++ b/hw/xfree86/common/xf86Globals.c
+@@ -204,3 +204,6 @@ Bool xf86VidModeAllowNonLocal = FALSE;
+ #endif
+ RootWinPropPtr *xf86RegisteredPropertiesTable = NULL;
+ Bool xorgHWAccess = FALSE;
++Bool xorgMir = FALSE;
++const char *mirID = NULL;
++const char *mirSocket = NULL;
+diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
+index 91ec4c8..1e5415b 100644
+--- a/hw/xfree86/common/xf86Init.c
++++ b/hw/xfree86/common/xf86Init.c
+@@ -541,6 +541,13 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
+ GET_REQUIRED_HW_INTERFACES,
+ &flags);
+
++ if (xorgMir &&
++ (NEED_IO_ENABLED(flags) || !(flags & HW_SKIP_CONSOLE))) {
++ ErrorF("Driver needs flags %lu, incompatible with nested, deleting.\n", flags);
++ xf86DeleteDriver(i);
++ continue;
++ }
++
+ if (NEED_IO_ENABLED(flags))
+ want_hw_access = TRUE;
+
+@@ -1454,6 +1461,17 @@ ddxProcessArgument(int argc, char **argv, int i)
+ xf86Info.ShareVTs = TRUE;
+ return 1;
+ }
++ if (!strcmp(argv[i], "-mir")) {
++ CHECK_FOR_REQUIRED_ARGUMENT();
++ mirID = argv[++i];
++ xorgMir = TRUE;
++ return 2;
++ }
++ if (!strcmp(argv[i], "-mirSocket")) {
++ CHECK_FOR_REQUIRED_ARGUMENT();
++ mirSocket = argv[++i];
++ return 2;
++ }
+
+ /* OS-specific processing */
+ return xf86ProcessArgument(argc, argv, i);
+@@ -1527,6 +1545,8 @@ ddxUseMsg(void)
+ ErrorF
+ ("-novtswitch don't automatically switch VT at reset & exit\n");
+ ErrorF("-sharevts share VTs with another X server\n");
++ ErrorF
++ ("-mir MirID run nested in a Mir compositor with app id MirID\n");
+ /* OS-specific usage */
+ xf86UseMsg();
+ ErrorF("\n");
+diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h
+index 58cfe0a..4630e9e 100644
+--- a/hw/xfree86/common/xf86Priv.h
++++ b/hw/xfree86/common/xf86Priv.h
+@@ -91,6 +91,9 @@ extern _X_EXPORT int xf86NumScreens;
+ extern _X_EXPORT const char *xf86VisualNames[];
+ extern _X_EXPORT int xf86Verbose; /* verbosity level */
+ extern _X_EXPORT int xf86LogVerbose; /* log file verbosity level */
++extern _X_EXPORT Bool xorgMir;
++extern _X_EXPORT const char *mirID;
++extern _X_EXPORT const char *mirSocket;
+
+ extern _X_EXPORT RootWinPropPtr *xf86RegisteredPropertiesTable;
+
+diff --git a/hw/xfree86/xmir/Makefile.am b/hw/xfree86/xmir/Makefile.am
+new file mode 100644
+index 0000000..80715f8
+--- /dev/null
++++ b/hw/xfree86/xmir/Makefile.am
+@@ -0,0 +1,26 @@
++INCLUDES = \
++ $(XORG_INCS) \
++ -I$(srcdir)/../ddc \
++ -I$(srcdir)/../ramdac \
++ -I$(srcdir)/../i2c \
++ -I$(srcdir)/../parser \
++ -I$(srcdir)/../modes
++
++libxmir_la_LTLIBRARIES = libxmir.la
++libxmir_la_CFLAGS = \
++ -DHAVE_XORG_CONFIG_H \
++ $(DRI_CFLAGS) \
++ $(DIX_CFLAGS) $(XORG_CFLAGS) $(LIBDRM_CFLAGS) \
++ $(XMIR_CFLAGS)
++
++libxmir_la_LDFLAGS = -module -avoid-version $(LIBDRM_LIBS) $(XMIR_LIBS)
++libxmir_ladir = $(moduledir)/extensions
++libxmir_la_SOURCES = \
++ xmir.c \
++ xmir-window.c \
++ xmir-output.c \
++ xmir-thread-proxy.c \
++ xmir.h \
++ xmir-private.h
++
++sdk_HEADERS = xmir.h
+diff --git a/hw/xfree86/xmir/xmir-output.c b/hw/xfree86/xmir/xmir-output.c
+new file mode 100644
+index 0000000..e62c7fb
+--- /dev/null
++++ b/hw/xfree86/xmir/xmir-output.c
+@@ -0,0 +1,225 @@
++/*
++ * Copyright © 2012 Canonical, Inc
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining a
++ * copy of this software and associated documentation files (the "Soft-
++ * ware"), to deal in the Software without restriction, including without
++ * limitation the rights to use, copy, modify, merge, publish, distribute,
++ * and/or sell copies of the Software, and to permit persons to whom the
++ * Software is furnished to do so, provided that the above copyright
++ * notice(s) and this permission notice appear in all copies of the Soft-
++ * ware and that both the above copyright notice(s) and this permission
++ * notice appear in supporting documentation.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
++ * ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY
++ * RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
++ * THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE-
++ * QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR-
++ * MANCE OF THIS SOFTWARE.
++ *
++ * Except as contained in this notice, the name of a copyright holder shall
++ * not be used in advertising or otherwise to promote the sale, use or
++ * other dealings in this Software without prior written authorization of
++ * the copyright holder.
++ *
++ * Authors:
++ * Christopher James Halse Rogers (christopher.halse.rogers@canonical.com)
++ */
++
++#include <stdlib.h>
++
++#include "xmir-private.h"
++#include "xf86Crtc.h"
++
++static void
++crtc_dpms(xf86CrtcPtr drmmode_crtc, int mode)
++{
++}
++
Reply to: