mir: Removed mir client support.

Fixes Bugzilla #4288.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0128c7a..13df80e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -326,8 +326,6 @@
 set_option(VIDEO_WAYLAND       "Use Wayland video driver" ${UNIX_SYS})
 dep_option(WAYLAND_SHARED      "Dynamically load Wayland support" ON "VIDEO_WAYLAND" OFF)
 dep_option(VIDEO_WAYLAND_QT_TOUCH  "QtWayland server support for Wayland video driver" ON "VIDEO_WAYLAND" OFF)
-set_option(VIDEO_MIR           "Use Mir video driver" ${UNIX_SYS})
-dep_option(MIR_SHARED          "Dynamically load Mir support" ON "VIDEO_MIR" OFF)
 set_option(VIDEO_RPI           "Use Raspberry Pi video driver" ${UNIX_SYS})
 dep_option(X11_SHARED          "Dynamically load X11 support" ON "VIDEO_X11" OFF)
 set(SDL_X11_OPTIONS Xcursor Xinerama XInput Xrandr Xscrnsaver XShape Xvm)
@@ -997,7 +995,6 @@
     # Need to check for Raspberry PI first and add platform specific compiler flags, otherwise the test for GLES fails!
     CheckRPI()
     CheckX11()
-    CheckMir()
     CheckDirectFB()
     CheckOpenGLX11()
     CheckOpenGLESX11()
diff --git a/build-scripts/raspberrypi-buildbot.sh b/build-scripts/raspberrypi-buildbot.sh
index e81fbb5..85124bc 100755
--- a/build-scripts/raspberrypi-buildbot.sh
+++ b/build-scripts/raspberrypi-buildbot.sh
@@ -42,7 +42,7 @@
 export CC="ccache /opt/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc --sysroot=$SYSROOT -I$SYSROOT/opt/vc/include -I$SYSROOT/usr/include -I$SYSROOT/opt/vc/include/interface/vcos/pthreads -I$SYSROOT/opt/vc/include/interface/vmcs_host/linux -L$SYSROOT/opt/vc/lib"
 # -L$SYSROOT/usr/lib/arm-linux-gnueabihf"
 # !!! FIXME: shouldn't have to --disable-* things here.
-../configure --with-sysroot=$SYSROOT --host=arm-raspberry-linux-gnueabihf --prefix=$PWD/rpi-sdl2-installed --disable-pulseaudio --disable-esd --disable-video-mir --disable-video-wayland
+../configure --with-sysroot=$SYSROOT --host=arm-raspberry-linux-gnueabihf --prefix=$PWD/rpi-sdl2-installed --disable-pulseaudio --disable-esd --disable-video-wayland
 $MAKE
 $MAKE install
 # Fix up a few things to a real install path on a real Raspberry Pi...
diff --git a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake
index 4a2c3ed..f71b3d4 100644
--- a/cmake/sdlchecks.cmake
+++ b/cmake/sdlchecks.cmake
@@ -564,46 +564,6 @@
   endif()
 endmacro()
 
-# Requires:
-# - EGL
-# - PkgCheckModules
-# Optional:
-# - MIR_SHARED opt
-# - HAVE_DLOPEN opt
-macro(CheckMir)
-    if(VIDEO_MIR)
-        find_library(MIR_LIB mirclient mircommon egl)
-        pkg_check_modules(MIR_TOOLKIT mirclient>=0.26 mircommon)
-        pkg_check_modules(EGL egl)
-        pkg_check_modules(XKB xkbcommon)
-
-        if (MIR_LIB AND MIR_TOOLKIT_FOUND AND EGL_FOUND AND XKB_FOUND)
-            set(HAVE_VIDEO_MIR TRUE)
-            set(HAVE_SDL_VIDEO TRUE)
-
-            file(GLOB MIR_SOURCES ${SDL2_SOURCE_DIR}/src/video/mir/*.c)
-            set(SOURCE_FILES ${SOURCE_FILES} ${MIR_SOURCES})
-            set(SDL_VIDEO_DRIVER_MIR 1)
-
-            list(APPEND EXTRA_CFLAGS ${MIR_TOOLKIT_CFLAGS} ${EGL_CFLAGS} ${XKB_CFLAGS})
-
-            if(MIR_SHARED)
-                if(NOT HAVE_DLOPEN)
-                    message_warn("You must have SDL_LoadObject() support for dynamic Mir loading")
-                else()
-                    FindLibraryAndSONAME(mirclient)
-                    FindLibraryAndSONAME(xkbcommon)
-                    set(SDL_VIDEO_DRIVER_MIR_DYNAMIC "\"${MIRCLIENT_LIB_SONAME}\"")
-                    set(SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON "\"${XKBCOMMON_LIB_SONAME}\"")
-                    set(HAVE_MIR_SHARED TRUE)
-                endif()
-            else()
-                set(EXTRA_LIBS ${MIR_TOOLKIT_LIBRARIES} ${EXTRA_LIBS})
-            endif()
-        endif()
-    endif()
-endmacro()
-
 macro(WaylandProtocolGen _SCANNER _XML _PROTL)
     set(_WAYLAND_PROT_C_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-protocol.c")
     set(_WAYLAND_PROT_H_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-client-protocol.h")
diff --git a/configure b/configure
index db15105..86aff9d 100755
--- a/configure
+++ b/configure
@@ -831,8 +831,6 @@
 enable_video_wayland
 enable_video_wayland_qt_touch
 enable_wayland_shared
-enable_video_mir
-enable_mir_shared
 enable_video_rpi
 enable_video_x11
 with_x
@@ -1576,8 +1574,6 @@
                           QtWayland server support for Wayland video driver
                           [[default=yes]]
   --enable-wayland-shared dynamically load Wayland support [[default=maybe]]
-  --enable-video-mir      use Mir video driver [[default=no]]
-  --enable-mir-shared     dynamically load Mir support [[default=maybe]]
   --enable-video-rpi      use Raspberry Pi video driver [[default=yes]]
   --enable-video-x11      use X11 video driver [[default=yes]]
   --enable-x11-shared     dynamically load X11 support [[default=maybe]]
@@ -19422,152 +19418,6 @@
     fi
 }
 
-CheckMir()
-{
-    # Check whether --enable-video-mir was given.
-if test "${enable_video_mir+set}" = set; then :
-  enableval=$enable_video_mir;
-else
-  enable_video_mir=no
-fi
-
-
-    if test x$enable_video = xyes -a x$enable_video_mir = xyes; then
-        # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
-  ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Mir support" >&5
-$as_echo_n "checking for Mir support... " >&6; }
-        video_mir=no
-        if test x$PKG_CONFIG != xno; then
-            if $PKG_CONFIG --exists mirclient egl xkbcommon ; then
-                MIR_CFLAGS=`$PKG_CONFIG --cflags mirclient egl xkbcommon`
-                MIR_LIBS=`$PKG_CONFIG --libs mirclient egl xkbcommon`
-                save_CFLAGS="$CFLAGS"
-                CFLAGS="$save_CFLAGS $MIR_CFLAGS"
-
-                                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-                #include <mir_toolkit/mir_client_library.h>
-
-int
-main ()
-{
-
-                    MirWindowAttrib attrib = mir_window_attrib_state
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-                video_mir=yes
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-                CFLAGS="$save_CFLAGS"
-            fi
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_mir" >&5
-$as_echo "$video_mir" >&6; }
-
-        if test x$video_mir = xyes; then
-
-$as_echo "#define SDL_VIDEO_DRIVER_MIR 1" >>confdefs.h
-
-            SOURCES="$SOURCES $srcdir/src/video/mir/*.c"
-            EXTRA_CFLAGS="$EXTRA_CFLAGS $MIR_CFLAGS"
-            # Check whether --enable-mir-shared was given.
-if test "${enable_mir_shared+set}" = set; then :
-  enableval=$enable_mir_shared;
-else
-  enable_mir_shared=maybe
-fi
-
-
-                        case "$host" in
-                *)
-                    mirclient_lib=`find_lib "libmirclient.so.*" "$MIR_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`
-                    xkbcommon_lib=`find_lib "libxkbcommon.so.*" "$MIR_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`
-                    ;;
-            esac
-
-            if test x$enable_mir_shared = xmaybe; then
-                enable_mir_shared=yes
-            fi
-            if test x$have_loadso != xyes && \
-               test x$enable_mir_shared = xyes; then
-                { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have SDL_LoadObject() support for dynamic Mir loading" >&5
-$as_echo "$as_me: WARNING: You must have SDL_LoadObject() support for dynamic Mir loading" >&2;}
-                enable_mir_shared=no
-            fi
-            if test x$have_loadso = xyes && \
-               test x$enable_mir_shared = xyes && \
-               test x$mirclient_lib != x && \
-               test x$xkbcommon_lib != x; then
-                echo "-- dynamic libmirclient -> $mirclient_lib"
-                echo "-- dynamic libxkbcommon -> $xkbcommon_lib"
-
-cat >>confdefs.h <<_ACEOF
-#define SDL_VIDEO_DRIVER_MIR_DYNAMIC "$mirclient_lib"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON "$xkbcommon_lib"
-_ACEOF
-
-                SUMMARY_video="${SUMMARY_video} mir(dynamic)"
-            else
-                enable_mir_shared=no
-                EXTRA_LDFLAGS="$EXTRA_LDFLAGS $MIR_LIBS"
-                SUMMARY_video="${SUMMARY_video} mir"
-            fi
-            have_video=yes
-        fi
-    fi
-}
-
 CheckNativeClient()
 {
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -24153,7 +24003,6 @@
         CheckOpenGLX11
         CheckOpenGLESX11
         CheckVulkan
-        CheckMir
         CheckWayland
         CheckLibUDev
         CheckDBus
diff --git a/configure.in b/configure.in
index 91b45d3..7f12b12 100644
--- a/configure.in
+++ b/configure.in
@@ -1528,79 +1528,6 @@
     fi
 }
 
-dnl Check for Mir
-CheckMir()
-{
-    AC_ARG_ENABLE(video-mir,
-AC_HELP_STRING([--enable-video-mir], [use Mir video driver [[default=no]]]),
-                  ,enable_video_mir=no)
-
-    if test x$enable_video = xyes -a x$enable_video_mir = xyes; then
-        AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-        AC_MSG_CHECKING(for Mir support)
-        video_mir=no
-        if test x$PKG_CONFIG != xno; then
-            if $PKG_CONFIG --exists mirclient egl xkbcommon ; then
-                MIR_CFLAGS=`$PKG_CONFIG --cflags mirclient egl xkbcommon`
-                MIR_LIBS=`$PKG_CONFIG --libs mirclient egl xkbcommon`
-                save_CFLAGS="$CFLAGS"
-                CFLAGS="$save_CFLAGS $MIR_CFLAGS"
-
-                dnl This will disable Mir if >= v0.26 is not available
-                AC_TRY_COMPILE([
-                #include <mir_toolkit/mir_client_library.h>
-                ],[
-                    MirWindowAttrib attrib = mir_window_attrib_state
-                ],[
-                video_mir=yes
-                ])
-                CFLAGS="$save_CFLAGS"
-            fi
-        fi
-        AC_MSG_RESULT($video_mir)
-
-        if test x$video_mir = xyes; then
-            AC_DEFINE(SDL_VIDEO_DRIVER_MIR, 1, [ ])
-            SOURCES="$SOURCES $srcdir/src/video/mir/*.c"
-            EXTRA_CFLAGS="$EXTRA_CFLAGS $MIR_CFLAGS"
-            AC_ARG_ENABLE(mir-shared,
-AC_HELP_STRING([--enable-mir-shared], [dynamically load Mir support [[default=maybe]]]),
-                          , enable_mir_shared=maybe)
-
-            dnl FIXME: Do BSD and OS X need special cases?
-            case "$host" in
-                *)
-                    mirclient_lib=[`find_lib "libmirclient.so.*" "$MIR_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`]
-                    xkbcommon_lib=[`find_lib "libxkbcommon.so.*" "$MIR_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`]
-                    ;;
-            esac
-
-            if test x$enable_mir_shared = xmaybe; then
-                enable_mir_shared=yes
-            fi
-            if test x$have_loadso != xyes && \
-               test x$enable_mir_shared = xyes; then
-                AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic Mir loading])
-                enable_mir_shared=no
-            fi
-            if test x$have_loadso = xyes && \
-               test x$enable_mir_shared = xyes && \
-               test x$mirclient_lib != x && \
-               test x$xkbcommon_lib != x; then
-                echo "-- dynamic libmirclient -> $mirclient_lib"
-                echo "-- dynamic libxkbcommon -> $xkbcommon_lib"
-                AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_MIR_DYNAMIC, "$mirclient_lib", [ ])
-                AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON, "$xkbcommon_lib", [ ])
-                SUMMARY_video="${SUMMARY_video} mir(dynamic)"
-            else
-                enable_mir_shared=no
-                EXTRA_LDFLAGS="$EXTRA_LDFLAGS $MIR_LIBS"
-                SUMMARY_video="${SUMMARY_video} mir"
-            fi
-            have_video=yes
-        fi
-    fi
-}
 
 dnl Check for Native Client stuff
 CheckNativeClient()
@@ -3476,7 +3403,6 @@
         CheckOpenGLX11
         CheckOpenGLESX11
         CheckVulkan
-        CheckMir
         CheckWayland
         CheckLibUDev
         CheckDBus
diff --git a/docs/README-linux.md b/docs/README-linux.md
index fdc06a0..10f80b9 100644
--- a/docs/README-linux.md
+++ b/docs/README-linux.md
@@ -25,9 +25,6 @@
 Ubuntu 16.04+ can also add "libwayland-dev libxkbcommon-dev wayland-protocols"

 to that command line for Wayland support.

 

-Ubuntu 16.10 can also add "libmirclient-dev libxkbcommon-dev" to that command

-line for Mir support.

-

 NOTES:

 - This includes all the audio targets except arts, because Ubuntu pulled the 

   artsc0-dev package, but in theory SDL still supports it.

diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake
index 48dd2d4..ab56471 100644
--- a/include/SDL_config.h.cmake
+++ b/include/SDL_config.h.cmake
@@ -339,9 +339,6 @@
 #cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR@
 #cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON@
 
-#cmakedefine SDL_VIDEO_DRIVER_MIR @SDL_VIDEO_DRIVER_MIR@
-#cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC @SDL_VIDEO_DRIVER_MIR_DYNAMIC@
-#cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON@
 #cmakedefine SDL_VIDEO_DRIVER_EMSCRIPTEN @SDL_VIDEO_DRIVER_EMSCRIPTEN@
 #cmakedefine SDL_VIDEO_DRIVER_X11 @SDL_VIDEO_DRIVER_X11@
 #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC @SDL_VIDEO_DRIVER_X11_DYNAMIC@
diff --git a/include/SDL_config.h.in b/include/SDL_config.h.in
index 883b6f4..373d1d8 100644
--- a/include/SDL_config.h.in
+++ b/include/SDL_config.h.in
@@ -327,9 +327,6 @@
 #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL
 #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR
 #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON
-#undef SDL_VIDEO_DRIVER_MIR
-#undef SDL_VIDEO_DRIVER_MIR_DYNAMIC
-#undef SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON
 #undef SDL_VIDEO_DRIVER_X11
 #undef SDL_VIDEO_DRIVER_RPI
 #undef SDL_VIDEO_DRIVER_KMSDRM
diff --git a/include/SDL_syswm.h b/include/SDL_syswm.h
index f1c4021..0748b92 100644
--- a/include/SDL_syswm.h
+++ b/include/SDL_syswm.h
@@ -122,7 +122,7 @@
     SDL_SYSWM_COCOA,
     SDL_SYSWM_UIKIT,
     SDL_SYSWM_WAYLAND,
-    SDL_SYSWM_MIR,
+    SDL_SYSWM_MIR,  /* no longer available, left for API/ABI compatibility. Remove in 2.1! */
     SDL_SYSWM_WINRT,
     SDL_SYSWM_ANDROID,
     SDL_SYSWM_VIVANTE,
@@ -257,11 +257,11 @@
             struct wl_shell_surface *shell_surface; /**< Wayland shell_surface (window manager handle) */
         } wl;
 #endif
-#if defined(SDL_VIDEO_DRIVER_MIR)
+#if defined(SDL_VIDEO_DRIVER_MIR)  /* no longer available, left for API/ABI compatibility. Remove in 2.1! */
         struct
         {
-            struct MirConnection *connection;  /**< Mir display server connection */
-            struct MirSurface *surface;  /**< Mir surface */
+            void *connection;  /**< Mir display server connection */
+            void *surface;  /**< Mir surface */
         } mir;
 #endif
 
diff --git a/src/video/SDL_sysvideo.h b/src/video/SDL_sysvideo.h
index 25862ca..f43742d 100644
--- a/src/video/SDL_sysvideo.h
+++ b/src/video/SDL_sysvideo.h
@@ -405,7 +405,6 @@
 /* Not all of these are available in a given build. Use #ifdefs, etc. */
 extern VideoBootStrap COCOA_bootstrap;
 extern VideoBootStrap X11_bootstrap;
-extern VideoBootStrap MIR_bootstrap;
 extern VideoBootStrap DirectFB_bootstrap;
 extern VideoBootStrap WINDOWS_bootstrap;
 extern VideoBootStrap WINRT_bootstrap;
diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c
index 336fdaa..7d9bb1d 100644
--- a/src/video/SDL_video.c
+++ b/src/video/SDL_video.c
@@ -64,9 +64,6 @@
 #if SDL_VIDEO_DRIVER_X11
     &X11_bootstrap,
 #endif
-#if SDL_VIDEO_DRIVER_MIR
-    &MIR_bootstrap,
-#endif
 #if SDL_VIDEO_DRIVER_WAYLAND
     &Wayland_bootstrap,
 #endif
diff --git a/src/video/SDL_vulkan_internal.h b/src/video/SDL_vulkan_internal.h
index cdf464e..261fc9c 100644
--- a/src/video/SDL_vulkan_internal.h
+++ b/src/video/SDL_vulkan_internal.h
@@ -38,9 +38,6 @@
 #if SDL_VIDEO_DRIVER_COCOA
 #define VK_USE_PLATFORM_MACOS_MVK
 #endif
-#if SDL_VIDEO_DRIVER_MIR
-#define VK_USE_PLATFORM_MIR_KHR
-#endif
 #if SDL_VIDEO_DRIVER_UIKIT
 #define VK_USE_PLATFORM_IOS_MVK
 #endif
diff --git a/src/video/mir/SDL_mirdyn.c b/src/video/mir/SDL_mirdyn.c
deleted file mode 100644
index 71dc73c..0000000
--- a/src/video/mir/SDL_mirdyn.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-#include "../../SDL_internal.h"
-
-#if SDL_VIDEO_DRIVER_MIR
-
-#define DEBUG_DYNAMIC_MIR 0
-
-#include "SDL_mirdyn.h"
-
-#if DEBUG_DYNAMIC_MIR
-#include "SDL_log.h"
-#endif
-
-#ifdef SDL_VIDEO_DRIVER_MIR_DYNAMIC
-
-#include "SDL_name.h"
-#include "SDL_loadso.h"
-
-typedef struct
-{
-    void *lib;
-    const char *libname;
-} mirdynlib;
-
-#ifndef SDL_VIDEO_DRIVER_MIR_DYNAMIC
-#define SDL_VIDEO_DRIVER_MIR_DYNAMIC NULL
-#endif
-#ifndef SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON
-#define SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON NULL
-#endif
-
-static mirdynlib mirlibs[] = {
-    {NULL, SDL_VIDEO_DRIVER_MIR_DYNAMIC},
-    {NULL, SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON}
-};
-
-static void *
-MIR_GetSym(const char *fnname, int *pHasModule)
-{
-    int i;
-    void *fn = NULL;
-    for (i = 0; i < SDL_TABLESIZE(mirlibs); i++) {
-        if (mirlibs[i].lib != NULL) {
-            fn = SDL_LoadFunction(mirlibs[i].lib, fnname);
-            if (fn != NULL)
-                break;
-        }
-    }
-
-#if DEBUG_DYNAMIC_MIR
-    if (fn != NULL)
-        SDL_Log("MIR: Found '%s' in %s (%p)\n", fnname, mirlibs[i].libname, fn);
-    else
-        SDL_Log("MIR: Symbol '%s' NOT FOUND!\n", fnname);
-#endif
-
-    if (fn == NULL)
-        *pHasModule = 0;  /* kill this module. */
-
-    return fn;
-}
-
-#endif /* SDL_VIDEO_DRIVER_MIR_DYNAMIC */
-
-/* Define all the function pointers and wrappers... */
-#define SDL_MIR_MODULE(modname) int SDL_MIR_HAVE_##modname = 0;
-#define SDL_MIR_SYM(rc,fn,params) SDL_DYNMIRFN_##fn MIR_##fn = NULL;
-#define SDL_MIR_SYM_CONST(type,name) SDL_DYMMIRCONST_##name MIR_##name = NULL;
-#include "SDL_mirsym.h"
-
-static int mir_load_refcount = 0;
-
-void
-SDL_MIR_UnloadSymbols(void)
-{
-    /* Don't actually unload if more than one module is using the libs... */
-    if (mir_load_refcount > 0) {
-        if (--mir_load_refcount == 0) {
-#ifdef SDL_VIDEO_DRIVER_MIR_DYNAMIC            
-            int i;
-#endif
-            
-            /* set all the function pointers to NULL. */
-#define SDL_MIR_MODULE(modname) SDL_MIR_HAVE_##modname = 0;
-#define SDL_MIR_SYM(rc,fn,params) MIR_##fn = NULL;
-#define SDL_MIR_SYM_CONST(type,name) MIR_##name = NULL;
-#include "SDL_mirsym.h"
-
-
-#ifdef SDL_VIDEO_DRIVER_MIR_DYNAMIC
-            for (i = 0; i < SDL_TABLESIZE(mirlibs); i++) {
-                if (mirlibs[i].lib != NULL) {
-                    SDL_UnloadObject(mirlibs[i].lib);
-                    mirlibs[i].lib = NULL;
-                }
-            }
-#endif
-        }
-    }
-}
-
-/* returns non-zero if all needed symbols were loaded. */
-int
-SDL_MIR_LoadSymbols(void)
-{
-    int rc = 1;                 /* always succeed if not using Dynamic MIR stuff. */
-
-    /* deal with multiple modules (dga, wayland, mir, etc) needing these symbols... */
-    if (mir_load_refcount++ == 0) {
-#ifdef SDL_VIDEO_DRIVER_MIR_DYNAMIC
-        int i;
-        int *thismod = NULL;
-        for (i = 0; i < SDL_TABLESIZE(mirlibs); i++) {
-            if (mirlibs[i].libname != NULL) {
-                mirlibs[i].lib = SDL_LoadObject(mirlibs[i].libname);
-            }
-        }
-
-#define SDL_MIR_MODULE(modname) SDL_MIR_HAVE_##modname = 1; /* default yes */
-#include "SDL_mirsym.h"
-
-#define SDL_MIR_MODULE(modname) thismod = &SDL_MIR_HAVE_##modname;
-#define SDL_MIR_SYM(rc,fn,params) MIR_##fn = (SDL_DYNMIRFN_##fn) MIR_GetSym(#fn,thismod);
-#define SDL_MIR_SYM_CONST(type,name) MIR_##name = *(SDL_DYMMIRCONST_##name*) MIR_GetSym(#name,thismod);
-#include "SDL_mirsym.h"
-
-        if ((SDL_MIR_HAVE_MIR_CLIENT) && (SDL_MIR_HAVE_XKBCOMMON)) {
-            /* all required symbols loaded. */
-            SDL_ClearError();
-        } else {
-            /* in case something got loaded... */
-            SDL_MIR_UnloadSymbols();
-            rc = 0;
-        }
-
-#else  /* no dynamic MIR */
-
-#define SDL_MIR_MODULE(modname) SDL_MIR_HAVE_##modname = 1; /* default yes */
-#define SDL_MIR_SYM(rc,fn,params) MIR_##fn = fn;
-#define SDL_MIR_SYM_CONST(type,name) MIR_##name = name;
-#include "SDL_mirsym.h"
-
-#endif
-    }
-
-    return rc;
-}
-
-#endif /* SDL_VIDEO_DRIVER_MIR */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/video/mir/SDL_mirdyn.h b/src/video/mir/SDL_mirdyn.h
deleted file mode 100644
index 32364aa..0000000
--- a/src/video/mir/SDL_mirdyn.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-#ifndef SDL_mirdyn_h_
-#define SDL_mirdyn_h_
-
-#include "../../SDL_internal.h"
-
-#include <EGL/egl.h>
-#include <mir_toolkit/mir_client_library.h>
-#include <xkbcommon/xkbcommon.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int SDL_MIR_LoadSymbols(void);
-void SDL_MIR_UnloadSymbols(void);
-
-/* Declare all the function pointers and wrappers... */
-#define SDL_MIR_SYM(rc,fn,params) \
-    typedef rc (*SDL_DYNMIRFN_##fn) params; \
-    extern SDL_DYNMIRFN_##fn MIR_##fn;
-#define SDL_MIR_SYM_CONST(type, name) \
-    typedef type SDL_DYMMIRCONST_##name; \
-    extern SDL_DYMMIRCONST_##name MIR_##name;
-#include "SDL_mirsym.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined SDL_mirdyn_h_ */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/video/mir/SDL_mirevents.c b/src/video/mir/SDL_mirevents.c
deleted file mode 100644
index df92799..0000000
--- a/src/video/mir/SDL_mirevents.c
+++ /dev/null
@@ -1,321 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
-  Contributed by Brandon Schaefer, <brandon.schaefer@canonical.com>
-*/
-
-#include "../../SDL_internal.h"
-
-#if SDL_VIDEO_DRIVER_MIR
-
-#include "../../events/SDL_events_c.h"
-#include "../../events/SDL_keyboard_c.h"
-#include "../../events/SDL_touch_c.h"
-#include "../../events/scancodes_xfree86.h"
-
-#include "SDL_mirevents.h"
-#include "SDL_mirwindow.h"
-
-#include <xkbcommon/xkbcommon.h>
-
-#include "SDL_mirdyn.h"
-
-static void
-HandleKeyText(int32_t key_code)
-{
-    char text[8];
-    int size = 0;
-
-    size = MIR_xkb_keysym_to_utf8(key_code, text, sizeof text);
-
-    if (size > 0) {
-        text[size] = '\0';
-        SDL_SendKeyboardText(text);
-    }
-}
-
-/* FIXME
-   Mir still needs to implement its IM API, for now we assume
-   a single key press produces a character.
-*/
-static void
-HandleKeyEvent(MirKeyboardEvent const* key_event, SDL_Window* window)
-{
-    xkb_keysym_t key_code;
-    Uint8 key_state;
-    int event_scancode;
-    uint32_t sdl_scancode = SDL_SCANCODE_UNKNOWN;
-
-    MirKeyboardAction action = MIR_mir_keyboard_event_action(key_event);
-
-    key_state      = SDL_PRESSED;
-    key_code       = MIR_mir_keyboard_event_key_code(key_event);
-    event_scancode = MIR_mir_keyboard_event_scan_code(key_event);
-
-    if (action == mir_keyboard_action_up)
-        key_state = SDL_RELEASED;
-
-    if (event_scancode < SDL_arraysize(xfree86_scancode_table2))
-        sdl_scancode = xfree86_scancode_table2[event_scancode];
-
-    if (sdl_scancode != SDL_SCANCODE_UNKNOWN)
-        SDL_SendKeyboardKey(key_state, sdl_scancode);
-
-    if (key_state == SDL_PRESSED)
-        HandleKeyText(key_code);
-}
-
-static void
-HandleMouseButton(SDL_Window* sdl_window, Uint8 state, MirPointerEvent const* pointer)
-{
-    uint32_t sdl_button           = SDL_BUTTON_LEFT;
-    MirPointerButton button_state = mir_pointer_button_primary;
-
-    static uint32_t old_button_states = 0;
-    uint32_t new_button_states = MIR_mir_pointer_event_buttons(pointer);
-
-    // XOR on our old button states vs our new states to get the newley pressed/released button
-    button_state = new_button_states ^ old_button_states;
-
-    switch (button_state) {
-        case mir_pointer_button_primary:
-            sdl_button = SDL_BUTTON_LEFT;
-            break;
-        case mir_pointer_button_secondary:
-            sdl_button = SDL_BUTTON_RIGHT;
-            break;
-        case mir_pointer_button_tertiary:
-            sdl_button = SDL_BUTTON_MIDDLE;
-            break;
-        case mir_pointer_button_forward:
-            sdl_button = SDL_BUTTON_X1;
-            break;
-        case mir_pointer_button_back:
-            sdl_button = SDL_BUTTON_X2;
-            break;
-        default:
-            break;
-    }
-
-    old_button_states = new_button_states;
-
-    SDL_SendMouseButton(sdl_window, 0, state, sdl_button);
-}
-
-static void
-HandleMouseMotion(SDL_Window* sdl_window, int x, int y)
-{
-    SDL_Mouse* mouse = SDL_GetMouse();
-    SDL_SendMouseMotion(sdl_window, 0, mouse->relative_mode, x, y);
-}
-
-static void
-HandleTouchPress(int device_id, int source_id, SDL_bool down, float x, float y, float pressure)
-{
-    SDL_SendTouch(device_id, source_id, down, x, y, pressure);
-}
-
-static void
-HandleTouchMotion(int device_id, int source_id, float x, float y, float pressure)
-{
-    SDL_SendTouchMotion(device_id, source_id, x, y, pressure);
-}
-
-static void
-HandleMouseScroll(SDL_Window* sdl_window, float hscroll, float vscroll)
-{
-    SDL_SendMouseWheel(sdl_window, 0, hscroll, vscroll, SDL_MOUSEWHEEL_NORMAL);
-}
-
-static void
-AddTouchDevice(int device_id)
-{
-    if (SDL_AddTouch(device_id, "") < 0)
-        SDL_SetError("Error: can't add touch %s, %d", __FILE__, __LINE__);
-}
-
-static void
-HandleTouchEvent(MirTouchEvent const* touch, int device_id, SDL_Window* sdl_window)
-{
-    int i, point_count;
-    point_count = MIR_mir_touch_event_point_count(touch);
-
-    AddTouchDevice(device_id);
-
-    for (i = 0; i < point_count; i++) {
-        int id = MIR_mir_touch_event_id(touch, i);
-
-        int width  = sdl_window->w;
-        int height = sdl_window->h;
-
-        float x = MIR_mir_touch_event_axis_value(touch, i, mir_touch_axis_x);
-        float y = MIR_mir_touch_event_axis_value(touch, i, mir_touch_axis_y);
-
-        float n_x = x / width;
-        float n_y = y / height;
-
-        float pressure = MIR_mir_touch_event_axis_value(touch, i, mir_touch_axis_pressure);
-
-        switch (MIR_mir_touch_event_action(touch, i)) {
-            case mir_touch_action_up:
-                HandleTouchPress(device_id, id, SDL_FALSE, n_x, n_y, pressure);
-                break;
-            case mir_touch_action_down:
-                HandleTouchPress(device_id, id, SDL_TRUE, n_x, n_y, pressure);
-                break;
-            case mir_touch_action_change:
-                HandleTouchMotion(device_id, id, n_x, n_y, pressure);
-                break;
-            case mir_touch_actions:
-                break;
-        }
-    }
-}
-
-static void
-HandleMouseEvent(MirPointerEvent const* pointer, SDL_Window* sdl_window)
-{
-    SDL_SetMouseFocus(sdl_window);
-
-    switch (MIR_mir_pointer_event_action(pointer)) {
-        case mir_pointer_action_button_down:
-            HandleMouseButton(sdl_window, SDL_PRESSED, pointer);
-            break;
-        case mir_pointer_action_button_up:
-            HandleMouseButton(sdl_window, SDL_RELEASED, pointer);
-            break;
-        case mir_pointer_action_motion: {
-            int x, y;
-            float hscroll, vscroll;
-            SDL_Mouse* mouse = SDL_GetMouse();
-            x = MIR_mir_pointer_event_axis_value(pointer, mir_pointer_axis_x);
-            y = MIR_mir_pointer_event_axis_value(pointer, mir_pointer_axis_y);
-
-            if (mouse) {
-                if (mouse->relative_mode) {
-                    int relative_x = MIR_mir_pointer_event_axis_value(pointer, mir_pointer_axis_relative_x);
-                    int relative_y = MIR_mir_pointer_event_axis_value(pointer, mir_pointer_axis_relative_y);
-                    HandleMouseMotion(sdl_window, relative_x, relative_y);
-                }
-                else if (mouse->x != x || mouse->y != y) {
-                    HandleMouseMotion(sdl_window, x, y);
-                }
-            }
-
-            hscroll = MIR_mir_pointer_event_axis_value(pointer, mir_pointer_axis_hscroll);
-            vscroll = MIR_mir_pointer_event_axis_value(pointer, mir_pointer_axis_vscroll);
-            if (vscroll != 0 || hscroll != 0)
-                HandleMouseScroll(sdl_window, hscroll, vscroll);
-        }
-            break;
-        case mir_pointer_action_leave:
-            SDL_SetMouseFocus(NULL);
-            break;
-        case mir_pointer_action_enter:
-        default:
-            break;
-    }
-}
-
-static void
-HandleInput(MirInputEvent const* input_event, SDL_Window* window)
-{
-    switch (MIR_mir_input_event_get_type(input_event)) {
-        case (mir_input_event_type_key):
-            HandleKeyEvent(MIR_mir_input_event_get_keyboard_event(input_event), window);
-            break;
-        case (mir_input_event_type_pointer):
-            HandleMouseEvent(MIR_mir_input_event_get_pointer_event(input_event), window);
-            break;
-        case (mir_input_event_type_touch):
-            HandleTouchEvent(MIR_mir_input_event_get_touch_event(input_event),
-                             MIR_mir_input_event_get_device_id(input_event),
-                             window);
-            break;
-        default:
-            break;
-    }
-}
-
-static void
-HandleResize(MirResizeEvent const* resize_event, SDL_Window* window)
-{
-    int new_w = MIR_mir_resize_event_get_width (resize_event);
-    int new_h = MIR_mir_resize_event_get_height(resize_event);
-
-    int old_w = window->w;
-    int old_h = window->h;
-
-    if (new_w != old_w || new_h != old_h)
-        SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, new_w, new_h);
-}
-
-static void
-HandleWindow(MirWindowEvent const* event, SDL_Window* window)
-{
-    MirWindowAttrib attrib = MIR_mir_window_event_get_attribute(event);
-    int value              = MIR_mir_window_event_get_attribute_value(event);
-
-    if (attrib == mir_window_attrib_focus) {
-        if (value == mir_window_focus_state_focused) {
-            SDL_SetKeyboardFocus(window);
-        }
-        else if (value == mir_window_focus_state_unfocused) {
-            SDL_SetKeyboardFocus(NULL);
-        }
-    }
-}
-
-static void
-MIR_HandleClose(SDL_Window* window) {
-    SDL_SendWindowEvent(window, SDL_WINDOWEVENT_CLOSE, 0, 0);
-}
-
-void
-MIR_HandleEvent(MirWindow* mirwindow, MirEvent const* ev, void* context)
-{
-    MirEventType event_type = MIR_mir_event_get_type(ev);
-    SDL_Window* window      = (SDL_Window*)context;
-
-    if (window) {
-        switch (event_type) {
-            case (mir_event_type_input):
-                HandleInput(MIR_mir_event_get_input_event(ev), window);
-                break;
-            case (mir_event_type_resize):
-                HandleResize(MIR_mir_event_get_resize_event(ev), window);
-                break;
-            case (mir_event_type_window):
-                HandleWindow(MIR_mir_event_get_window_event(ev), window);
-                break;
-            case (mir_event_type_close_window):
-                MIR_HandleClose(window);
-                break;
-            default:
-                break;
-        }
-    }
-}
-
-#endif /* SDL_VIDEO_DRIVER_MIR */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/video/mir/SDL_mirevents.h b/src/video/mir/SDL_mirevents.h
deleted file mode 100644
index 4b0f209..0000000
--- a/src/video/mir/SDL_mirevents.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
-  Contributed by Brandon Schaefer, <brandon.schaefer@canonical.com>
-*/
-
-#ifndef SDL_mirevents_h_
-#define SDL_mirevents_h_
-
-#include <mir_toolkit/mir_client_library.h>
-
-extern void
-MIR_HandleEvent(MirWindow*, MirEvent const* ev, void* context);
-
-#endif /* SDL_mirevents_h_ */
-
-/* vi: set ts=4 sw=4 expandtab: */
-
diff --git a/src/video/mir/SDL_mirframebuffer.c b/src/video/mir/SDL_mirframebuffer.c
deleted file mode 100644
index d678fff..0000000
--- a/src/video/mir/SDL_mirframebuffer.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
-  Contributed by Brandon Schaefer, <brandon.schaefer@canonical.com>
-*/
-
-#include "../../SDL_internal.h"
-
-#if SDL_VIDEO_DRIVER_MIR
-
-#include "SDL_mirevents.h"
-#include "SDL_mirframebuffer.h"
-#include "SDL_mirwindow.h"
-
-#include "SDL_mirdyn.h"
-
-int
-MIR_CreateWindowFramebuffer(_THIS, SDL_Window* window, Uint32* format,
-                            void** pixels, int* pitch)
-{
-    MIR_Data* mir_data = _this->driverdata;
-
-    mir_data->software = SDL_TRUE;
-
-    if (MIR_CreateWindow(_this, window) < 0)
-        return SDL_SetError("Failed to create a mir window.");
-
-    *format = MIR_GetSDLPixelFormat(mir_data->pixel_format);
-    if (*format == SDL_PIXELFORMAT_UNKNOWN)
-        return SDL_SetError("Unknown pixel format");
-
-    *pitch = (((window->w * SDL_BYTESPERPIXEL(*format)) + 3) & ~3);
-
-    *pixels = SDL_malloc(window->h*(*pitch));
-    if (*pixels == NULL)
-        return SDL_OutOfMemory();
-
-    return 0;
-}
-
-int
-MIR_UpdateWindowFramebuffer(_THIS, SDL_Window* window,
-                            const SDL_Rect* rects, int numrects)
-{
-    MIR_Window* mir_window = window->driverdata;
-
-    MirGraphicsRegion region;
-    MirBufferStream* bs;
-    int i, j, x, y, w, h, start;
-    int bytes_per_pixel, bytes_per_row, s_stride, d_stride;
-    char* s_dest;
-    char* pixels;
-
-    bs = MIR_mir_window_get_buffer_stream(mir_window->window);
-    MIR_mir_buffer_stream_get_graphics_region(bs, &region);
-
-    s_dest = region.vaddr;
-    pixels = (char*)window->surface->pixels;
-
-    s_stride = window->surface->pitch;
-    d_stride = region.stride;
-    bytes_per_pixel = window->surface->format->BytesPerPixel;
-
-    for (i = 0; i < numrects; i++) {
-        s_dest = region.vaddr;
-        pixels = (char*)window->surface->pixels;
-
-        x = rects[i].x;
-        y = rects[i].y;
-        w = rects[i].w;
-        h = rects[i].h;
-
-        if (w <= 0 || h <= 0 || (x + w) <= 0 || (y + h) <= 0)
-            continue;
-
-        if (x < 0) {
-            x += w;
-            w += rects[i].x;
-        }
-
-        if (y < 0) {
-            y += h;
-            h += rects[i].y;
-        }
-
-        if (x + w > window->w)
-            w = window->w - x;
-        if (y + h > window->h)
-            h = window->h - y;
-
-        start = y * s_stride + x;
-        pixels += start;
-        s_dest += start;
-
-        bytes_per_row =  bytes_per_pixel * w;
-        for (j = 0; j < h; j++) {
-            SDL_memcpy(s_dest, pixels, bytes_per_row);
-            pixels += s_stride;
-            s_dest += d_stride;
-        }
-    }
-
-    MIR_mir_buffer_stream_swap_buffers_sync(bs);
-
-    return 0;
-}
-
-void
-MIR_DestroyWindowFramebuffer(_THIS, SDL_Window* window)
-{
-}
-
-#endif /* SDL_VIDEO_DRIVER_MIR */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/video/mir/SDL_mirframebuffer.h b/src/video/mir/SDL_mirframebuffer.h
deleted file mode 100644
index 502337c..0000000
--- a/src/video/mir/SDL_mirframebuffer.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
-  Contributed by Brandon Schaefer, <brandon.schaefer@canonical.com>
-*/
-
-#ifndef SDL_mirframebuffer_h_
-#define SDL_mirframebuffer_h_
-
-#include "../SDL_sysvideo.h"
-
-#include "SDL_mirvideo.h"
-
-extern int
-MIR_CreateWindowFramebuffer(_THIS, SDL_Window* sdl_window, Uint32* format,
-                            void** pixels, int* pitch);
-
-extern int
-MIR_UpdateWindowFramebuffer(_THIS, SDL_Window* sdl_window,
-                            const SDL_Rect* rects, int numrects);
-
-extern void
-MIR_DestroyWindowFramebuffer(_THIS, SDL_Window* sdl_window);
-
-#endif /* SDL_mirframebuffer_h_ */
-
-/* vi: set ts=4 sw=4 expandtab: */
-
diff --git a/src/video/mir/SDL_mirmouse.c b/src/video/mir/SDL_mirmouse.c
deleted file mode 100644
index 5f6e38c..0000000
--- a/src/video/mir/SDL_mirmouse.c
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
-  Contributed by Brandon Schaefer, <brandon.schaefer@canonical.com>
-*/
-
-#include "../../SDL_internal.h"
-
-#if SDL_VIDEO_DRIVER_MIR
-
-#include "../../events/SDL_mouse_c.h"
-#include "../SDL_sysvideo.h"
-#include "SDL_assert.h"
-
-#include "SDL_mirdyn.h"
-
-#include "SDL_mirvideo.h"
-#include "SDL_mirmouse.h"
-#include "SDL_mirwindow.h"
-
-typedef struct
-{
-    MirCursorConfiguration* conf;
-    MirBufferStream*        stream;
-    char const*             name;
-} MIR_Cursor;
-
-static SDL_Cursor*
-MIR_CreateDefaultCursor()
-{
-    SDL_Cursor* cursor;
-
-    cursor = SDL_calloc(1, sizeof(SDL_Cursor));
-    if (cursor) {
-
-        MIR_Cursor* mir_cursor = SDL_calloc(1, sizeof(MIR_Cursor));
-        if (mir_cursor) {
-            mir_cursor->conf   = NULL;
-            mir_cursor->stream = NULL;
-            mir_cursor->name   = NULL;
-            cursor->driverdata = mir_cursor;
-        }
-        else {
-            SDL_OutOfMemory();
-            SDL_free(cursor);
-            cursor = NULL;
-        }
-    }
-    else {
-        SDL_OutOfMemory();
-    }
-
-    return cursor;
-}
-
-static void
-CopySurfacePixelsToMirStream(SDL_Surface* surface, MirBufferStream* stream)
-{
-    char* dest, *pixels;
-    int i, s_w, s_h, r_stride, p_stride, bytes_per_pixel, bytes_per_row;
-
-    MirGraphicsRegion region;
-    MIR_mir_buffer_stream_get_graphics_region(stream, &region);
-
-    s_w = surface->w;
-    s_h = surface->h;
-
-    bytes_per_pixel = surface->format->BytesPerPixel;
-    bytes_per_row   = bytes_per_pixel * s_w;
-
-    dest = region.vaddr;
-    pixels = (char*)surface->pixels;
-
-    r_stride = region.stride;
-    p_stride = surface->pitch;
-
-    for (i = 0; i < s_h; i++)
-    {
-        SDL_memcpy(dest, pixels, bytes_per_row);
-        dest   += r_stride;
-        pixels += p_stride;
-    }
-}
-
-static SDL_Cursor*
-MIR_CreateCursor(SDL_Surface* surface, int hot_x, int hot_y)
-{
-    MirCursorConfiguration* conf;
-    MirBufferStream*        stream;
-
-    int s_w = surface->w;
-    int s_h = surface->h;
-
-    MIR_Data* mir_data     = (MIR_Data*)SDL_GetVideoDevice()->driverdata;
-    SDL_Cursor* cursor     = MIR_CreateDefaultCursor();
-    MIR_Cursor* mir_cursor;
-
-    if (!cursor) {
-        return NULL;
-    }
-
-    mir_cursor = (MIR_Cursor*)cursor->driverdata;
-
-    stream = MIR_mir_connection_create_buffer_stream_sync(mir_data->connection,
-                                                          s_w, s_h, mir_data->pixel_format,
-                                                          mir_buffer_usage_software);
-
-    conf = MIR_mir_cursor_configuration_from_buffer_stream(stream, hot_x, hot_y);
-
-    CopySurfacePixelsToMirStream(surface, stream);
-    MIR_mir_buffer_stream_swap_buffers_sync(stream);
-
-    mir_cursor->conf   = conf;
-    mir_cursor->stream = stream;
-
-    return cursor;
-}
-
-static SDL_Cursor*
-MIR_CreateSystemCursor(SDL_SystemCursor id)
-{
-    char const* cursor_name = NULL;
-    SDL_Cursor* cursor;
-    MIR_Cursor* mir_cursor;
-
-    switch(id) {
-        case SDL_SYSTEM_CURSOR_ARROW:
-            cursor_name = MIR_mir_arrow_cursor_name;
-            break;
-        case SDL_SYSTEM_CURSOR_IBEAM:
-            cursor_name = MIR_mir_caret_cursor_name;
-            break;
-        case SDL_SYSTEM_CURSOR_WAIT:
-            cursor_name = MIR_mir_busy_cursor_name;
-            break;
-        case SDL_SYSTEM_CURSOR_CROSSHAIR:
-            /* Unsupported */
-            cursor_name = MIR_mir_arrow_cursor_name;
-            break;
-        case SDL_SYSTEM_CURSOR_WAITARROW:
-            cursor_name = MIR_mir_busy_cursor_name;
-            break;
-        case SDL_SYSTEM_CURSOR_SIZENWSE:
-            cursor_name = MIR_mir_omnidirectional_resize_cursor_name;
-            break;
-        case SDL_SYSTEM_CURSOR_SIZENESW:
-            cursor_name = MIR_mir_omnidirectional_resize_cursor_name;
-            break;
-        case SDL_SYSTEM_CURSOR_SIZEWE:
-            cursor_name = MIR_mir_horizontal_resize_cursor_name;
-            break;
-        case SDL_SYSTEM_CURSOR_SIZENS:
-            cursor_name = MIR_mir_vertical_resize_cursor_name;
-            break;
-        case SDL_SYSTEM_CURSOR_SIZEALL:
-            cursor_name = MIR_mir_omnidirectional_resize_cursor_name;
-            break;
-        case SDL_SYSTEM_CURSOR_NO:
-            /* Unsupported */
-            cursor_name = MIR_mir_closed_hand_cursor_name;
-            break;
-        case SDL_SYSTEM_CURSOR_HAND:
-            cursor_name = MIR_mir_open_hand_cursor_name;
-            break;
-        default:
-            SDL_assert(0);
-            return NULL;
-    }
-
-    cursor = MIR_CreateDefaultCursor();
-    if (!cursor) {
-        return NULL;
-    }
-
-    mir_cursor = (MIR_Cursor*)cursor->driverdata;
-    mir_cursor->name = cursor_name;
-
-    return cursor;
-}
-
-static void
-MIR_FreeCursor(SDL_Cursor* cursor)
-{
-    if (cursor) {
-
-        if (cursor->driverdata) {
-            MIR_Cursor* mir_cursor = (MIR_Cursor*)cursor->driverdata;
-
-            if (mir_cursor->conf)
-                MIR_mir_cursor_configuration_destroy(mir_cursor->conf);
-            if (mir_cursor->stream)
-                MIR_mir_buffer_stream_release_sync(mir_cursor->stream);
-
-            SDL_free(mir_cursor);
-        }
-
-        SDL_free(cursor);
-    }
-}
-
-static int
-MIR_ShowCursor(SDL_Cursor* cursor)
-{
-    MIR_Data* mir_data      = (MIR_Data*)SDL_GetVideoDevice()->driverdata;
-    MIR_Window* mir_window  = mir_data->current_window;
-
-    if (cursor && cursor->driverdata) {
-        if (mir_window && MIR_mir_window_is_valid(mir_window->window)) {
-            MIR_Cursor* mir_cursor = (MIR_Cursor*)cursor->driverdata;
-
-            if (mir_cursor->name != NULL) {
-                MirWindowSpec* spec = MIR_mir_create_window_spec(mir_data->connection);
-                MIR_mir_window_spec_set_cursor_name(spec, mir_cursor->name);
-                MIR_mir_window_apply_spec(mir_window->window, spec);
-                MIR_mir_window_spec_release(spec);
-            }
-
-            if (mir_cursor->conf) {
-                MIR_mir_window_configure_cursor(mir_window->window, mir_cursor->conf);
-            }
-        }
-    }
-    else if(mir_window && MIR_mir_window_is_valid(mir_window->window)) {
-        MIR_mir_window_configure_cursor(mir_window->window, NULL);
-    }
-
-    return 0;
-}
-
-static void
-MIR_WarpMouse(SDL_Window* window, int x, int y)
-{
-    SDL_Unsupported();
-}
-
-static int
-MIR_WarpMouseGlobal(int x, int y)
-{
-    return SDL_Unsupported();
-}
-
-static int
-MIR_SetRelativeMouseMode(SDL_bool enabled)
-{
-    return 0;
-}
-
-/* TODO Actually implement the cursor, need to wait for mir support */
-void
-MIR_InitMouse()
-{
-    SDL_Mouse* mouse = SDL_GetMouse();
-
-    mouse->CreateCursor         = MIR_CreateCursor;
-    mouse->ShowCursor           = MIR_ShowCursor;
-    mouse->FreeCursor           = MIR_FreeCursor;
-    mouse->WarpMouse            = MIR_WarpMouse;
-    mouse->WarpMouseGlobal      = MIR_WarpMouseGlobal;
-    mouse->CreateSystemCursor   = MIR_CreateSystemCursor;
-    mouse->SetRelativeMouseMode = MIR_SetRelativeMouseMode;
-
-    SDL_SetDefaultCursor(MIR_CreateDefaultCursor());
-}
-
-void
-MIR_FiniMouse()
-{
-}
-
-#endif /* SDL_VIDEO_DRIVER_MIR */
-
-/* vi: set ts=4 sw=4 expandtab: */
-
diff --git a/src/video/mir/SDL_mirmouse.h b/src/video/mir/SDL_mirmouse.h
deleted file mode 100644
index de32610..0000000
--- a/src/video/mir/SDL_mirmouse.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
-  Contributed by Brandon Schaefer, <brandon.schaefer@canonical.com>
-*/
-
-#ifndef SDL_mirmouse_h_
-#define SDL_mirmouse_h_
-
-extern void
-MIR_InitMouse();
-
-extern void
-MIR_FiniMouse();
-
-#endif /* SDL_mirmouse_h_ */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/video/mir/SDL_miropengl.c b/src/video/mir/SDL_miropengl.c
deleted file mode 100644
index 7795f97..0000000
--- a/src/video/mir/SDL_miropengl.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
-  Contributed by Brandon Schaefer, <brandon.schaefer@canonical.com>
-*/
-
-#include "../../SDL_internal.h"
-
-#if SDL_VIDEO_DRIVER_MIR
-
-#include "SDL_miropengl.h"
-
-#include "SDL_mirdyn.h"
-
-int
-MIR_GL_SwapWindow(_THIS, SDL_Window* window)
-{
-    MIR_Window* mir_wind = window->driverdata;
-
-    return SDL_EGL_SwapBuffers(_this, mir_wind->egl_surface);
-}
-
-int
-MIR_GL_MakeCurrent(_THIS, SDL_Window* window, SDL_GLContext context)
-{
-  if (window) {
-      EGLSurface egl_surface = ((MIR_Window*)window->driverdata)->egl_surface;
-      return SDL_EGL_MakeCurrent(_this, egl_surface, context);
-  }
-
-  return SDL_EGL_MakeCurrent(_this, NULL, NULL);
-}
-
-SDL_GLContext
-MIR_GL_CreateContext(_THIS, SDL_Window* window)
-{
-    MIR_Window* mir_window = window->driverdata;
-
-    SDL_GLContext context;
-    context = SDL_EGL_CreateContext(_this, mir_window->egl_surface);
-
-    return context;
-}
-
-int
-MIR_GL_LoadLibrary(_THIS, const char* path)
-{
-    MIR_Data* mir_data = _this->driverdata;
-
-    SDL_EGL_LoadLibrary(_this, path, MIR_mir_connection_get_egl_native_display(mir_data->connection), 0);
-
-    SDL_EGL_ChooseConfig(_this);
-
-    return 0;
-}
-
-#endif /* SDL_VIDEO_DRIVER_MIR */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/video/mir/SDL_miropengl.h b/src/video/mir/SDL_miropengl.h
deleted file mode 100644
index 2168f96..0000000
--- a/src/video/mir/SDL_miropengl.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
-  Contributed by Brandon Schaefer, <brandon.schaefer@canonical.com>
-*/
-
-#ifndef SDL_miropengl_h_
-#define SDL_miropengl_h_
-
-#include "SDL_mirwindow.h"
-
-#include "../SDL_egl_c.h"
-
-#define MIR_GL_DeleteContext   SDL_EGL_DeleteContext
-#define MIR_GL_GetSwapInterval SDL_EGL_GetSwapInterval
-#define MIR_GL_SetSwapInterval SDL_EGL_SetSwapInterval
-#define MIR_GL_UnloadLibrary   SDL_EGL_UnloadLibrary
-#define MIR_GL_GetProcAddress  SDL_EGL_GetProcAddress
-
-extern int
-MIR_GL_SwapWindow(_THIS, SDL_Window* window);
-
-extern int
-MIR_GL_MakeCurrent(_THIS, SDL_Window* window, SDL_GLContext context);
-
-extern SDL_GLContext
-MIR_GL_CreateContext(_THIS, SDL_Window* window);
-
-extern int
-MIR_GL_LoadLibrary(_THIS, const char* path);
-
-#endif /* SDL_miropengl_h_ */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/video/mir/SDL_mirsym.h b/src/video/mir/SDL_mirsym.h
deleted file mode 100644
index 6e18b53..0000000
--- a/src/video/mir/SDL_mirsym.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/* *INDENT-OFF* */
-
-#ifndef SDL_MIR_MODULE
-#define SDL_MIR_MODULE(modname)
-#endif
-
-#ifndef SDL_MIR_SYM
-#define SDL_MIR_SYM(rc,fn,params)
-#endif
-
-#ifndef SDL_MIR_SYM_CONST
-#define SDL_MIR_SYM_CONST(type, name)
-#endif
-
-SDL_MIR_MODULE(MIR_CLIENT)
-SDL_MIR_SYM(MirWindow *,mir_create_window_sync,(MirWindowSpec* spec))
-SDL_MIR_SYM(MirEGLNativeWindowType,mir_buffer_stream_get_egl_native_window,(MirBufferStream *surface))
-SDL_MIR_SYM(bool,mir_buffer_stream_get_graphics_region,(MirBufferStream *stream, MirGraphicsRegion *graphics_region))
-SDL_MIR_SYM(void,mir_buffer_stream_swap_buffers_sync,(MirBufferStream *stream))
-SDL_MIR_SYM(void,mir_window_set_event_handler,(MirWindow* window, MirWindowEventCallback callback, void* context))
-SDL_MIR_SYM(MirWindowSpec*,mir_create_normal_window_spec,(MirConnection *connection, int width, int height))
-SDL_MIR_SYM(MirWindowSpec*,mir_create_window_spec,(MirConnection *connection))
-SDL_MIR_SYM(void,mir_window_spec_set_buffer_usage,(MirWindowSpec *spec, MirBufferUsage usage))
-SDL_MIR_SYM(void,mir_window_spec_set_name,(MirWindowSpec *spec, char const *name))
-SDL_MIR_SYM(void,mir_window_spec_release,(MirWindowSpec *spec))
-SDL_MIR_SYM(void,mir_window_spec_set_width,(MirWindowSpec *spec, unsigned width))
-SDL_MIR_SYM(void,mir_window_spec_set_height,(MirWindowSpec *spec, unsigned height))
-SDL_MIR_SYM(void,mir_window_spec_set_min_width,(MirWindowSpec *spec, unsigned min_width))
-SDL_MIR_SYM(void,mir_window_spec_set_min_height,(MirWindowSpec *spec, unsigned min_height))
-SDL_MIR_SYM(void,mir_window_spec_set_max_width,(MirWindowSpec *spec, unsigned max_width))
-SDL_MIR_SYM(void,mir_window_spec_set_max_height,(MirWindowSpec *spec, unsigned max_height))
-SDL_MIR_SYM(void,mir_window_spec_set_type,(MirWindowSpec *spec, MirWindowType type))
-SDL_MIR_SYM(void,mir_window_spec_set_state,(MirWindowSpec *spec, MirWindowState state))
-SDL_MIR_SYM(void,mir_window_spec_set_pointer_confinement,(MirWindowSpec *spec, MirPointerConfinementState state))
-SDL_MIR_SYM(void,mir_window_spec_set_pixel_format,(MirWindowSpec *spec, MirPixelFormat pixel_format))
-SDL_MIR_SYM(void,mir_window_spec_set_cursor_name,(MirWindowSpec *spec, char const* cursor_name))
-SDL_MIR_SYM(void,mir_window_apply_spec,(MirWindow* window, MirWindowSpec* spec))
-SDL_MIR_SYM(void,mir_window_get_parameters,(MirWindow *window, MirWindowParameters *params))
-SDL_MIR_SYM(MirBufferStream*,mir_window_get_buffer_stream,(MirWindow* window))
-SDL_MIR_SYM(MirCursorConfiguration*,mir_cursor_configuration_from_buffer_stream,(MirBufferStream const* stream, int hot_x, int hot_y))
-SDL_MIR_SYM(MirBufferStream*,mir_connection_create_buffer_stream_sync,(MirConnection *connection, int w, int h, MirPixelFormat format, MirBufferUsage usage))
-SDL_MIR_SYM(MirKeyboardAction,mir_keyboard_event_action,(MirKeyboardEvent const *event))
-SDL_MIR_SYM(xkb_keysym_t,mir_keyboard_event_key_code,(MirKeyboardEvent const *event))
-SDL_MIR_SYM(int,mir_keyboard_event_scan_code,(MirKeyboardEvent const *event))
-SDL_MIR_SYM(bool,mir_pointer_event_button_state,(MirPointerEvent const *event, MirPointerButton button))
-SDL_MIR_SYM(MirPointerButtons,mir_pointer_event_buttons,(MirPointerEvent const *event))
-SDL_MIR_SYM(MirInputDeviceId,mir_input_event_get_device_id,(MirInputEvent const* ev))
-SDL_MIR_SYM(MirTouchId,mir_touch_event_id,(MirTouchEvent const *event, size_t touch_index))
-SDL_MIR_SYM(float,mir_touch_event_axis_value,(MirTouchEvent const *event, size_t touch_index, MirTouchAxis axis))
-SDL_MIR_SYM(MirTouchAction,mir_touch_event_action,(MirTouchEvent const *event, size_t touch_index))
-SDL_MIR_SYM(MirPointerAction,mir_pointer_event_action,(MirPointerEvent const *event))
-SDL_MIR_SYM(float,mir_pointer_event_axis_value,(MirPointerEvent const *event, MirPointerAxis))
-SDL_MIR_SYM(MirEventType,mir_event_get_type,(MirEvent const *event))
-SDL_MIR_SYM(MirInputEventType,mir_input_event_get_type,(MirInputEvent const *event))
-SDL_MIR_SYM(MirInputEvent const*,mir_event_get_input_event,(MirEvent const *event))
-SDL_MIR_SYM(MirResizeEvent const*,mir_event_get_resize_event,(MirEvent const *event))
-SDL_MIR_SYM(MirKeyboardEvent const*,mir_input_event_get_keyboard_event,(MirInputEvent const *event))
-SDL_MIR_SYM(MirPointerEvent const*,mir_input_event_get_pointer_event,(MirInputEvent const *event))
-SDL_MIR_SYM(MirTouchEvent const*,mir_input_event_get_touch_event,(MirInputEvent const *event))
-SDL_MIR_SYM(MirWindowEvent const*,mir_event_get_window_event,(MirEvent const *event))
-SDL_MIR_SYM(unsigned int,mir_touch_event_point_count,(MirTouchEvent const *event))
-SDL_MIR_SYM(void,mir_connection_get_available_surface_formats,(MirConnection* connection, MirPixelFormat* formats, unsigned const int format_size, unsigned int *num_valid_formats))
-SDL_MIR_SYM(MirEGLNativeDisplayType,mir_connection_get_egl_native_display,(MirConnection *connection))
-SDL_MIR_SYM(bool,mir_connection_is_valid,(MirConnection *connection))
-SDL_MIR_SYM(void,mir_connection_release,(MirConnection *connection))
-SDL_MIR_SYM(MirPixelFormat,mir_connection_get_egl_pixel_format,(MirConnection* connection, void* egldisplay, void* eglconfig))
-SDL_MIR_SYM(MirConnection *,mir_connect_sync,(char const *server, char const *app_name))
-SDL_MIR_SYM(char const *,mir_window_get_error_message,(MirWindow *window))
-SDL_MIR_SYM(bool,mir_window_is_valid,(MirWindow *window))
-SDL_MIR_SYM(void,mir_window_release_sync,(MirWindow* window))
-SDL_MIR_SYM(void,mir_buffer_stream_release_sync,(MirBufferStream *stream))
-SDL_MIR_SYM(void,mir_window_configure_cursor,(MirWindow* window, MirCursorConfiguration const* conf))
-SDL_MIR_SYM(void,mir_cursor_configuration_destroy,(MirCursorConfiguration* conf))
-SDL_MIR_SYM(int,mir_resize_event_get_width,(MirResizeEvent const* resize_event))
-SDL_MIR_SYM(int,mir_resize_event_get_height,(MirResizeEvent const* resize_event))
-SDL_MIR_SYM(char const*,mir_connection_get_error_message,(MirConnection* connection))
-SDL_MIR_SYM(MirWindowAttrib,mir_window_event_get_attribute,(MirWindowEvent const* event))
-SDL_MIR_SYM(int,mir_window_event_get_attribute_value,(MirWindowEvent const* window_event))
-SDL_MIR_SYM(MirDisplayConfig*,mir_connection_create_display_configuration,(MirConnection* connection))
-SDL_MIR_SYM(void,mir_display_config_release,(MirDisplayConfig* config))
-SDL_MIR_SYM(int,mir_display_config_get_num_outputs,(MirDisplayConfig const* config))
-SDL_MIR_SYM(MirOutput*,mir_display_config_get_mutable_output,(MirDisplayConfig* config, size_t index))
-SDL_MIR_SYM(int,mir_output_get_num_modes,(MirOutput const* output))
-SDL_MIR_SYM(MirOutputMode const*,mir_output_get_current_mode,(MirOutput const* output))
-SDL_MIR_SYM(MirPixelFormat,mir_output_get_current_pixel_format,(MirOutput const* output))
-SDL_MIR_SYM(int,mir_output_get_position_x,(MirOutput const* output))
-SDL_MIR_SYM(int,mir_output_get_position_y,(MirOutput const* output))
-SDL_MIR_SYM(bool,mir_output_is_enabled,(MirOutput const* output))
-SDL_MIR_SYM(MirOutputConnectionState,mir_output_get_connection_state,(MirOutput const* output))
-SDL_MIR_SYM(size_t,mir_output_get_preferred_mode_index,(MirOutput const* output))
-SDL_MIR_SYM(MirOutputType,mir_output_get_type,(MirOutput const* output))
-SDL_MIR_SYM(char const*,mir_output_type_name,(MirOutputType type))
-SDL_MIR_SYM(void,mir_output_set_current_mode,(MirOutput* output, MirOutputMode const* mode))
-SDL_MIR_SYM(MirOutputMode const*,mir_output_get_mode,(MirOutput const* output, size_t index))
-SDL_MIR_SYM(int,mir_output_mode_get_width,(MirOutputMode const* mode))
-SDL_MIR_SYM(int,mir_output_mode_get_height,(MirOutputMode const* mode))
-SDL_MIR_SYM(double,mir_output_mode_get_refresh_rate,(MirOutputMode const* mode))
-SDL_MIR_SYM(bool,mir_output_is_gamma_supported,(MirOutput const* output))
-SDL_MIR_SYM(uint32_t,mir_output_get_gamma_size,(MirOutput const* output))
-SDL_MIR_SYM(void,mir_output_get_gamma,(MirOutput const* output, uint16_t* red, uint16_t* green, uint16_t* blue, uint32_t size))
-SDL_MIR_SYM(void,mir_output_set_gamma,(MirOutput* output, uint16_t const* red, uint16_t const* green, uint16_t const* blue, uint32_t size))
-
-SDL_MIR_SYM_CONST(char const*,mir_omnidirectional_resize_cursor_name)
-SDL_MIR_SYM_CONST(char const*,mir_busy_cursor_name)
-SDL_MIR_SYM_CONST(char const*,mir_arrow_cursor_name)
-SDL_MIR_SYM_CONST(char const*,mir_caret_cursor_name)
-SDL_MIR_SYM_CONST(char const*,mir_vertical_resize_cursor_name)
-SDL_MIR_SYM_CONST(char const*,mir_horizontal_resize_cursor_name)
-SDL_MIR_SYM_CONST(char const*,mir_open_hand_cursor_name)
-SDL_MIR_SYM_CONST(char const*,mir_closed_hand_cursor_name)
-SDL_MIR_SYM_CONST(char const*,mir_disabled_cursor_name)
-
-SDL_MIR_MODULE(XKBCOMMON)
-SDL_MIR_SYM(int,xkb_keysym_to_utf8,(xkb_keysym_t keysym, char *buffer, size_t size))
-
-#undef SDL_MIR_MODULE
-#undef SDL_MIR_SYM
-#undef SDL_MIR_SYM_CONST
-
-/* *INDENT-ON* */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/video/mir/SDL_mirvideo.c b/src/video/mir/SDL_mirvideo.c
deleted file mode 100644
index 8f3a368..0000000
--- a/src/video/mir/SDL_mirvideo.c
+++ /dev/null
@@ -1,423 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
-  Contributed by Brandon Schaefer, <brandon.schaefer@canonical.com>
-*/
-
-#include "../../SDL_internal.h"
-
-#if SDL_VIDEO_DRIVER_MIR
-
-#include "SDL_assert.h"
-#include "SDL_log.h"
-
-#include "SDL_mirwindow.h"
-#include "SDL_video.h"
-
-#include "SDL_mirframebuffer.h"
-#include "SDL_mirmouse.h"
-#include "SDL_miropengl.h"
-#include "SDL_mirvideo.h"
-#include "SDL_mirvulkan.h"
-
-#include "SDL_mirdyn.h"
-
-#define MIR_DRIVER_NAME "mir"
-
-static const Uint32 mir_pixel_format_to_sdl_format[] = {
-    SDL_PIXELFORMAT_UNKNOWN,  /* mir_pixel_format_invalid   */
-    SDL_PIXELFORMAT_ABGR8888, /* mir_pixel_format_abgr_8888 */
-    SDL_PIXELFORMAT_BGR888,   /* mir_pixel_format_xbgr_8888 */
-    SDL_PIXELFORMAT_ARGB8888, /* mir_pixel_format_argb_8888 */
-    SDL_PIXELFORMAT_RGB888,   /* mir_pixel_format_xrgb_8888 */
-    SDL_PIXELFORMAT_BGR24,    /* mir_pixel_format_bgr_888   */
-    SDL_PIXELFORMAT_RGB24,    /* mir_pixel_format_rgb_888   */
-    SDL_PIXELFORMAT_RGB565,   /* mir_pixel_format_rgb_565   */
-    SDL_PIXELFORMAT_RGBA5551, /* mir_pixel_format_rgba_5551 */
-    SDL_PIXELFORMAT_RGBA4444  /* mir_pixel_format_rgba_4444 */
-};
-
-Uint32
-MIR_GetSDLPixelFormat(MirPixelFormat format)
-{
-    return mir_pixel_format_to_sdl_format[format];
-}
-
-static int
-MIR_VideoInit(_THIS);
-
-static void
-MIR_VideoQuit(_THIS);
-
-static int
-MIR_GetDisplayBounds(_THIS, SDL_VideoDisplay* display, SDL_Rect* rect);
-
-static void
-MIR_GetDisplayModes(_THIS, SDL_VideoDisplay* sdl_display);
-
-static int
-MIR_SetDisplayMode(_THIS, SDL_VideoDisplay* sdl_display, SDL_DisplayMode* mode);
-
-static SDL_WindowShaper*
-MIR_CreateShaper(SDL_Window* window)
-{
-    /* FIXME Im not sure if mir support this atm, will have to come back to this */
-    return NULL;
-}
-
-static int
-MIR_SetWindowShape(SDL_WindowShaper* shaper, SDL_Surface* shape, SDL_WindowShapeMode* shape_mode)
-{
-    return SDL_Unsupported();
-}
-
-static int
-MIR_ResizeWindowShape(SDL_Window* window)
-{
-    return SDL_Unsupported();
-}
-
-static int
-MIR_Available()
-{
-    int available = 0;
-
-    if (SDL_MIR_LoadSymbols()) {
-
-        /* Lets ensure we can connect to the mir server */
-        MirConnection* connection = MIR_mir_connect_sync(NULL, SDL_FUNCTION);
-
-        if (!MIR_mir_connection_is_valid(connection)) {
-            SDL_LogWarn(SDL_LOG_CATEGORY_VIDEO, "Unable to connect to the mir server %s",
-                MIR_mir_connection_get_error_message(connection));
-
-            return available;
-        }
-
-        MIR_mir_connection_release(connection);
-
-        available = 1;
-        SDL_MIR_UnloadSymbols();
-    }
-
-    return available;
-}
-
-static void
-MIR_DeleteDevice(SDL_VideoDevice* device)
-{
-    SDL_free(device);
-    SDL_MIR_UnloadSymbols();
-}
-
-static void
-MIR_PumpEvents(_THIS)
-{
-}
-
-static SDL_VideoDevice*
-MIR_CreateDevice(int device_index)
-{
-    MIR_Data* mir_data;
-    SDL_VideoDevice* device = NULL;
-
-    if (!SDL_MIR_LoadSymbols()) {
-        return NULL;
-    }
-
-    device = SDL_calloc(1, sizeof(SDL_VideoDevice));
-    if (!device) {
-        SDL_MIR_UnloadSymbols();
-        SDL_OutOfMemory();
-        return NULL;
-    }
-
-    mir_data = SDL_calloc(1, sizeof(MIR_Data));
-    if (!mir_data) {
-        SDL_free(device);
-        SDL_MIR_UnloadSymbols();
-        SDL_OutOfMemory();
-        return NULL;
-    }
-
-    device->driverdata = mir_data;
-
-    /* mirvideo */
-    device->VideoInit        = MIR_VideoInit;
-    device->VideoQuit        = MIR_VideoQuit;
-    device->GetDisplayBounds = MIR_GetDisplayBounds;
-    device->GetDisplayModes  = MIR_GetDisplayModes;
-    device->SetDisplayMode   = MIR_SetDisplayMode;
-    device->free             = MIR_DeleteDevice;
-
-    /* miropengles */
-    device->GL_SwapWindow      = MIR_GL_SwapWindow;
-    device->GL_MakeCurrent     = MIR_GL_MakeCurrent;
-    device->GL_CreateContext   = MIR_GL_CreateContext;
-    device->GL_DeleteContext   = MIR_GL_DeleteContext;
-    device->GL_LoadLibrary     = MIR_GL_LoadLibrary;
-    device->GL_UnloadLibrary   = MIR_GL_UnloadLibrary;
-    device->GL_GetSwapInterval = MIR_GL_GetSwapInterval;
-    device->GL_SetSwapInterval = MIR_GL_SetSwapInterval;
-    device->GL_GetProcAddress  = MIR_GL_GetProcAddress;
-
-    /* mirwindow */
-    device->CreateSDLWindow         = MIR_CreateWindow;
-    device->DestroyWindow        = MIR_DestroyWindow;
-    device->GetWindowWMInfo      = MIR_GetWindowWMInfo;
-    device->SetWindowFullscreen  = MIR_SetWindowFullscreen;
-    device->MaximizeWindow       = MIR_MaximizeWindow;
-    device->MinimizeWindow       = MIR_MinimizeWindow;
-    device->RestoreWindow        = MIR_RestoreWindow;
-    device->ShowWindow           = MIR_RestoreWindow;
-    device->HideWindow           = MIR_HideWindow;
-    device->SetWindowSize        = MIR_SetWindowSize;
-    device->SetWindowMinimumSize = MIR_SetWindowMinimumSize;
-    device->SetWindowMaximumSize = MIR_SetWindowMaximumSize;
-    device->SetWindowTitle       = MIR_SetWindowTitle;
-    device->SetWindowGrab        = MIR_SetWindowGrab;
-    device->SetWindowGammaRamp   = MIR_SetWindowGammaRamp;
-    device->GetWindowGammaRamp   = MIR_GetWindowGammaRamp;
-
-    device->CreateSDLWindowFrom     = NULL;
-    device->SetWindowIcon        = NULL;
-    device->RaiseWindow          = NULL;
-    device->SetWindowBordered    = NULL;
-    device->SetWindowResizable   = NULL;
-    device->OnWindowEnter        = NULL;
-    device->SetWindowPosition    = NULL;
-
-    /* mirframebuffer */
-    device->CreateWindowFramebuffer  = MIR_CreateWindowFramebuffer;
-    device->UpdateWindowFramebuffer  = MIR_UpdateWindowFramebuffer;
-    device->DestroyWindowFramebuffer = MIR_DestroyWindowFramebuffer;
-
-    device->shape_driver.CreateShaper      = MIR_CreateShaper;
-    device->shape_driver.SetWindowShape    = MIR_SetWindowShape;
-    device->shape_driver.ResizeWindowShape = MIR_ResizeWindowShape;
-
-    device->PumpEvents = MIR_PumpEvents;
-
-    device->SuspendScreenSaver = NULL;
-
-    device->StartTextInput   = NULL;
-    device->StopTextInput    = NULL;
-    device->SetTextInputRect = NULL;
-
-    device->HasScreenKeyboardSupport = NULL;
-    device->ShowScreenKeyboard       = NULL;
-    device->HideScreenKeyboard       = NULL;
-    device->IsScreenKeyboardShown    = NULL;
-
-    device->SetClipboardText = NULL;
-    device->GetClipboardText = NULL;
-    device->HasClipboardText = NULL;
-
-    device->ShowMessageBox = NULL;
-
-#if SDL_VIDEO_VULKAN
-    device->Vulkan_LoadLibrary = MIR_Vulkan_LoadLibrary;
-    device->Vulkan_UnloadLibrary = MIR_Vulkan_UnloadLibrary;
-    device->Vulkan_GetInstanceExtensions = MIR_Vulkan_GetInstanceExtensions;
-    device->Vulkan_CreateSurface = MIR_Vulkan_CreateSurface;
-#endif
-
-    return device;
-}
-
-VideoBootStrap MIR_bootstrap = {
-    MIR_DRIVER_NAME, "SDL Mir video driver",
-    MIR_Available, MIR_CreateDevice
-};
-
-static SDL_DisplayMode
-MIR_ConvertModeToSDLMode(MirOutputMode const* mode, MirPixelFormat format)
-{
-    SDL_DisplayMode sdl_mode  = {
-        .format = MIR_GetSDLPixelFormat(format),
-        .w      = MIR_mir_output_mode_get_width(mode),
-        .h      = MIR_mir_output_mode_get_height(mode),
-        .refresh_rate = MIR_mir_output_mode_get_refresh_rate(mode),
-        .driverdata   = NULL
-    };
-
-    return sdl_mode;
-}
-
-static void
-MIR_AddModeToDisplay(SDL_VideoDisplay* display, MirOutputMode const* mode, MirPixelFormat format)
-{
-    SDL_DisplayMode sdl_mode = MIR_ConvertModeToSDLMode(mode, format);
-    SDL_AddDisplayMode(display, &sdl_mode);
-}
-
-static void
-MIR_InitDisplayFromOutput(_THIS, MirOutput* output)
-{
-    SDL_VideoDisplay display;
-    int m;
-
-    MirPixelFormat format = MIR_mir_output_get_current_pixel_format(output);
-    int num_modes         = MIR_mir_output_get_num_modes(output);
-    SDL_DisplayMode current_mode = MIR_ConvertModeToSDLMode(MIR_mir_output_get_current_mode(output), format);
-
-    SDL_zero(display);
-
-    // Unfortunate cast, but SDL_AddVideoDisplay will strdup this pointer so its read-only in this case.
-    display.name = (char*)MIR_mir_output_type_name(MIR_mir_output_get_type(output));
-
-    for (m = 0; m < num_modes; m++) {
-        MirOutputMode const* mode = MIR_mir_output_get_mode(output, m);
-        MIR_AddModeToDisplay(&display, mode, format);
-    }
-
-    display.desktop_mode = current_mode;
-    display.current_mode = current_mode;
-
-    display.driverdata = output;
-    SDL_AddVideoDisplay(&display);
-}
-
-static void
-MIR_InitDisplays(_THIS)
-{
-    MIR_Data* mir_data = _this->driverdata;
-    int num_outputs    = MIR_mir_display_config_get_num_outputs(mir_data->display_config);
-    int d;
-
-    for (d = 0; d < num_outputs; d++) {
-        MirOutput* output = MIR_mir_display_config_get_mutable_output(mir_data->display_config, d);
-        SDL_bool enabled  = MIR_mir_output_is_enabled(output);
-        MirOutputConnectionState state = MIR_mir_output_get_connection_state(output);
-
-        if (enabled && state == mir_output_connection_state_connected) {
-            MIR_InitDisplayFromOutput(_this, output);
-        }
-    }
-}
-
-static int
-MIR_VideoInit(_THIS)
-{
-    MIR_Data* mir_data = _this->driverdata;
-
-    mir_data->connection     = MIR_mir_connect_sync(NULL, SDL_FUNCTION);
-    mir_data->current_window = NULL;
-    mir_data->software       = SDL_FALSE;
-    mir_data->pixel_format   = mir_pixel_format_invalid;
-
-    if (!MIR_mir_connection_is_valid(mir_data->connection)) {
-        return SDL_SetError("Failed to connect to the mir server: %s",
-            MIR_mir_connection_get_error_message(mir_data->connection));
-    }
-
-    mir_data->display_config = MIR_mir_connection_create_display_configuration(mir_data->connection);
-
-    MIR_InitDisplays(_this);
-    MIR_InitMouse();
-
-    return 0;
-}
-
-static void
-MIR_CleanUpDisplayConfig(_THIS)
-{
-    MIR_Data* mir_data = _this->driverdata;
-    int i;
-
-    // SDL_VideoQuit frees the display driverdata, we own it not them
-    for (i = 0; i < _this->num_displays; ++i) {
-        _this->displays[i].driverdata = NULL;
-    }
-
-    MIR_mir_display_config_release(mir_data->display_config);
-}
-
-static void
-MIR_VideoQuit(_THIS)
-{
-    MIR_Data* mir_data = _this->driverdata;
-
-    MIR_CleanUpDisplayConfig(_this);
-
-    MIR_FiniMouse();
-
-    MIR_GL_DeleteContext(_this, NULL);
-    MIR_GL_UnloadLibrary(_this);
-
-    MIR_mir_connection_release(mir_data->connection);
-
-    SDL_free(mir_data);
-    _this->driverdata = NULL;
-}
-
-static int
-MIR_GetDisplayBounds(_THIS, SDL_VideoDisplay* display, SDL_Rect* rect)
-{
-    MirOutput const* output = display->driverdata;
-
-    rect->x = MIR_mir_output_get_position_x(output);
-    rect->y = MIR_mir_output_get_position_y(output);
-    rect->w = display->current_mode.w;
-    rect->h = display->current_mode.h;
-
-    return 0;
-}
-
-static void
-MIR_GetDisplayModes(_THIS, SDL_VideoDisplay* display)
-{
-}
-
-static int
-MIR_SetDisplayMode(_THIS, SDL_VideoDisplay* display, SDL_DisplayMode* mode)
-{
-    int m;
-    MirOutput* output = display->driverdata;
-    int num_modes     = MIR_mir_output_get_num_modes(output);
-    Uint32 sdl_format = MIR_GetSDLPixelFormat(
-                            MIR_mir_output_get_current_pixel_format(output));
-
-    for (m = 0; m < num_modes; m++) {
-        MirOutputMode const* mir_mode = MIR_mir_output_get_mode(output, m);
-        int width  = MIR_mir_output_mode_get_width(mir_mode);
-        int height = MIR_mir_output_mode_get_height(mir_mode);
-        double refresh_rate = MIR_mir_output_mode_get_refresh_rate(mir_mode);
-
-        if (mode->format == sdl_format &&
-            mode->w      == width &&
-            mode->h      == height &&
-            mode->refresh_rate == refresh_rate) {
-
-            // FIXME Currently wont actually *set* anything. Need to wait for applying display changes
-            MIR_mir_output_set_current_mode(output, mir_mode);
-            return 0;
-        }
-    }
-
-    return -1;
-}
-
-#endif /* SDL_VIDEO_DRIVER_MIR */
-
-/* vi: set ts=4 sw=4 expandtab: */
-
diff --git a/src/video/mir/SDL_mirvideo.h b/src/video/mir/SDL_mirvideo.h
deleted file mode 100644
index 6850bac..0000000
--- a/src/video/mir/SDL_mirvideo.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
-  Contributed by Brandon Schaefer, <brandon.schaefer@canonical.com>
-*/
-
-#ifndef SDL_mirvideo_h__
-#define SDL_mirvideo_h__
-
-#include <EGL/egl.h>
-#include <mir_toolkit/mir_client_library.h>
-#include "SDL_stdinc.h"
-
-typedef struct MIR_Window MIR_Window;
-
-typedef struct
-{
-    MirConnection*    connection;
-    MirDisplayConfig* display_config;
-    MIR_Window*       current_window;
-    SDL_bool          software;
-    MirPixelFormat    pixel_format;
-} MIR_Data;
-
-extern Uint32
-MIR_GetSDLPixelFormat(MirPixelFormat format);
-
-#endif /* SDL_mirvideo_h__ */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/video/mir/SDL_mirvulkan.c b/src/video/mir/SDL_mirvulkan.c
deleted file mode 100644
index 6ba3fa3..0000000
--- a/src/video/mir/SDL_mirvulkan.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
- * @author Mark Callow, www.edgewise-consulting.com. Based on Jacob Lifshay's
- * SDL_x11vulkan.c.
- */
-
-#include "../../SDL_internal.h"
-
-#if SDL_VIDEO_VULKAN && SDL_VIDEO_DRIVER_MIR
-
-#include "SDL_mirvideo.h"
-#include "SDL_mirwindow.h"
-#include "SDL_assert.h"
-
-#include "SDL_loadso.h"
-#include "SDL_mirvulkan.h"
-#include "SDL_syswm.h"
-
-int MIR_Vulkan_LoadLibrary(_THIS, const char *path)
-{
-    VkExtensionProperties *extensions = NULL;
-    Uint32 extensionCount = 0;
-    SDL_bool hasSurfaceExtension = SDL_FALSE;
-    SDL_bool hasMIRSurfaceExtension = SDL_FALSE;
-    PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = NULL;
-    if(_this->vulkan_config.loader_handle)
-        return SDL_SetError("Vulkan already loaded");
-
-    /* Load the Vulkan loader library */
-    if(!path)
-        path = SDL_getenv("SDL_VULKAN_LIBRARY");
-    if(!path)
-        path = "libvulkan.so.1";
-    _this->vulkan_config.loader_handle = SDL_LoadObject(path);
-    if(!_this->vulkan_config.loader_handle)
-        return -1;
-    SDL_strlcpy(_this->vulkan_config.loader_path, path,
-                SDL_arraysize(_this->vulkan_config.loader_path));
-    vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)SDL_LoadFunction(
-        _this->vulkan_config.loader_handle, "vkGetInstanceProcAddr");
-    if(!vkGetInstanceProcAddr)
-        goto fail;
-    _this->vulkan_config.vkGetInstanceProcAddr = (void *)vkGetInstanceProcAddr;
-    _this->vulkan_config.vkEnumerateInstanceExtensionProperties =
-        (void *)((PFN_vkGetInstanceProcAddr)_this->vulkan_config.vkGetInstanceProcAddr)(
-            VK_NULL_HANDLE, "vkEnumerateInstanceExtensionProperties");
-    if(!_this->vulkan_config.vkEnumerateInstanceExtensionProperties)
-        goto fail;
-    extensions = SDL_Vulkan_CreateInstanceExtensionsList(
-        (PFN_vkEnumerateInstanceExtensionProperties)
-            _this->vulkan_config.vkEnumerateInstanceExtensionProperties,
-        &extensionCount);
-    if(!extensions)
-        goto fail;
-    for(Uint32 i = 0; i < extensionCount; i++)
-    {
-        if(SDL_strcmp(VK_KHR_SURFACE_EXTENSION_NAME, extensions[i].extensionName) == 0)
-            hasSurfaceExtension = SDL_TRUE;
-        else if(SDL_strcmp(VK_KHR_MIR_SURFACE_EXTENSION_NAME, extensions[i].extensionName) == 0)
-            hasMIRSurfaceExtension = SDL_TRUE;
-    }
-    SDL_free(extensions);
-    if(!hasSurfaceExtension)
-    {
-        SDL_SetError("Installed Vulkan doesn't implement the "
-                     VK_KHR_SURFACE_EXTENSION_NAME " extension");
-        goto fail;
-    }
-    else if(!hasMIRSurfaceExtension)
-    {
-        SDL_SetError("Installed Vulkan doesn't implement the "
-                     VK_KHR_MIR_SURFACE_EXTENSION_NAME "extension");
-        goto fail;
-    }
-    return 0;
-
-fail:
-    SDL_UnloadObject(_this->vulkan_config.loader_handle);
-    _this->vulkan_config.loader_handle = NULL;
-    return -1;
-}
-
-void MIR_Vulkan_UnloadLibrary(_THIS)
-{
-    if(_this->vulkan_config.loader_handle)
-    {
-        SDL_UnloadObject(_this->vulkan_config.loader_handle);
-        _this->vulkan_config.loader_handle = NULL;
-    }
-}
-
-SDL_bool MIR_Vulkan_GetInstanceExtensions(_THIS,
-                                          SDL_Window *window,
-                                          unsigned *count,
-                                          const char **names)
-{
-    static const char *const extensionsForMir[] = {
-        VK_KHR_SURFACE_EXTENSION_NAME, VK_KHR_MIR_SURFACE_EXTENSION_NAME
-    };
-    if(!_this->vulkan_config.loader_handle)
-    {
-        SDL_SetError("Vulkan is not loaded");
-        return SDL_FALSE;
-    }
-    return SDL_Vulkan_GetInstanceExtensions_Helper(
-            count, names, SDL_arraysize(extensionsForMir),
-            extensionsForMir);
-}
-
-SDL_bool MIR_Vulkan_CreateSurface(_THIS,
-                                  SDL_Window *window,
-                                  VkInstance instance,
-                                  VkSurfaceKHR *surface)
-{
-    MIR_Window *windowData = (MIR_Window *)window->driverdata;
-    PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr =
-        (PFN_vkGetInstanceProcAddr)_this->vulkan_config.vkGetInstanceProcAddr;
-    PFN_vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR =
-        (PFN_vkCreateMirSurfaceKHR)vkGetInstanceProcAddr(
-                                            (VkInstance)instance,
-                                            "vkCreateMirSurfaceKHR");
-    VkMirSurfaceCreateInfoKHR createInfo;
-    VkResult result;
-
-    if(!_this->vulkan_config.loader_handle)
-    {
-        SDL_SetError("Vulkan is not loaded");
-        return SDL_FALSE;
-    }
-
-    if(!vkCreateMirSurfaceKHR)
-    {
-        SDL_SetError(VK_KHR_MIR_SURFACE_EXTENSION_NAME
-                     " extension is not enabled in the Vulkan instance.");
-        return SDL_FALSE;
-    }
-    SDL_zero(createInfo);
-    createInfo.sType = VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR;
-    createInfo.pNext = NULL;
-    createInfo.flags = 0;
-    createInfo.connection = windowData->mir_data->connection;
-    createInfo.mirSurface = windowData->window;
-    result = vkCreateMirSurfaceKHR(instance, &createInfo,
-                                       NULL, surface);
-    if(result != VK_SUCCESS)
-    {
-        SDL_SetError("vkCreateMirSurfaceKHR failed: %s",
-                     SDL_Vulkan_GetResultString(result));
-        return SDL_FALSE;
-    }
-    return SDL_TRUE;
-}
-
-#endif
-
-/* vim: set ts=4 sw=4 expandtab: */
diff --git a/src/video/mir/SDL_mirvulkan.h b/src/video/mir/SDL_mirvulkan.h
deleted file mode 100644
index 6f40d5b..0000000
--- a/src/video/mir/SDL_mirvulkan.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
- * @author Mark Callow, www.edgewise-consulting.com. Based on Jacob Lifshay's
- * SDL_x11vulkan.h.
- */
-
-#include "../../SDL_internal.h"
-
-#ifndef SDL_mirvulkan_h_
-#define SDL_mirvulkan_h_
-
-#include "../SDL_vulkan_internal.h"
-#include "../SDL_sysvideo.h"
-
-#if SDL_VIDEO_VULKAN && SDL_VIDEO_DRIVER_MIR
-
-int MIR_Vulkan_LoadLibrary(_THIS, const char *path);
-void MIR_Vulkan_UnloadLibrary(_THIS);
-SDL_bool MIR_Vulkan_GetInstanceExtensions(_THIS,
-                                          SDL_Window *window,
-                                          unsigned *count,
-                                          const char **names);
-SDL_bool MIR_Vulkan_CreateSurface(_THIS,
-                                  SDL_Window *window,
-                                  VkInstance instance,
-                                  VkSurfaceKHR *surface);
-
-#endif
-
-#endif /* SDL_mirvulkan_h_ */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/video/mir/SDL_mirwindow.c b/src/video/mir/SDL_mirwindow.c
deleted file mode 100644
index 80877ee..0000000
--- a/src/video/mir/SDL_mirwindow.c
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
-  Contributed by Brandon Schaefer, <brandon.schaefer@canonical.com>
-*/
-
-#include "../../SDL_internal.h"
-
-#if SDL_VIDEO_DRIVER_MIR
-
-#include "../SDL_egl_c.h"
-#include "../SDL_sysvideo.h"
-#include "../../events/SDL_keyboard_c.h"
-
-#include "SDL_mirevents.h"
-#include "SDL_mirwindow.h"
-
-#include "SDL_mirdyn.h"
-
-static int
-IsMirWindowValid(MIR_Window* mir_window)
-{
-    if (!MIR_mir_window_is_valid(mir_window->window)) {
-        const char* error = MIR_mir_window_get_error_message(mir_window->window);
-        return SDL_SetError("Failed to create a mir surface: %s", error);
-    }
-
-    return 1;
-}
-
-static MirPixelFormat
-FindValidPixelFormat(MIR_Data* mir_data)
-{
-    unsigned int pf_size = 32;
-    unsigned int valid_formats;
-    unsigned int f;
-
-    MirPixelFormat formats[pf_size];
-    MIR_mir_connection_get_available_surface_formats(mir_data->connection, formats,
-                                                     pf_size, &valid_formats);
-
-    for (f = 0; f < valid_formats; f++) {
-        MirPixelFormat cur_pf = formats[f];
-
-        if (cur_pf == mir_pixel_format_abgr_8888 ||
-            cur_pf == mir_pixel_format_xbgr_8888 ||
-            cur_pf == mir_pixel_format_argb_8888 ||
-            cur_pf == mir_pixel_format_xrgb_8888) {
-
-            return cur_pf;
-        }
-    }
-
-    return mir_pixel_format_invalid;
-}
-
-int
-MIR_CreateWindow(_THIS, SDL_Window* window)
-{
-    MIR_Window* mir_window;
-    MIR_Data* mir_data;
-    MirPixelFormat pixel_format;
-    MirBufferUsage buffer_usage;
-
-    MirWindowSpec* spec;
-
-    mir_window = SDL_calloc(1, sizeof(MIR_Window));
-    if (!mir_window)
-        return SDL_OutOfMemory();
-
-    mir_data = _this->driverdata;
-    window->driverdata = mir_window;
-
-    if (window->x == SDL_WINDOWPOS_UNDEFINED)
-        window->x = 0;
-
-    if (window->y == SDL_WINDOWPOS_UNDEFINED)
-        window->y = 0;
-
-    mir_window->mir_data = mir_data;
-    mir_window->sdl_window = window;
-
-    if (window->flags & SDL_WINDOW_OPENGL) {
-        pixel_format = MIR_mir_connection_get_egl_pixel_format(mir_data->connection,
-                                                               _this->egl_data->egl_display,
-                                                               _this->egl_data->egl_config);
-    }
-    else {
-        pixel_format = FindValidPixelFormat(mir_data);
-    }
-
-    mir_data->pixel_format = pixel_format;
-    if (pixel_format == mir_pixel_format_invalid) {
-        return SDL_SetError("Failed to find a valid pixel format.");
-    }
-
-    buffer_usage = mir_buffer_usage_hardware;
-    if (mir_data->software)
-        buffer_usage = mir_buffer_usage_software;
-
-    spec = MIR_mir_create_normal_window_spec(mir_data->connection,
-                                             window->w,
-                                             window->h);
-
-    MIR_mir_window_spec_set_buffer_usage(spec, buffer_usage);
-    MIR_mir_window_spec_set_name(spec, "Mir surface");
-    MIR_mir_window_spec_set_pixel_format(spec, pixel_format);
-
-    if (window->flags & SDL_WINDOW_INPUT_FOCUS)
-        SDL_SetKeyboardFocus(window);
-
-    mir_window->window = MIR_mir_create_window_sync(spec);
-    MIR_mir_window_set_event_handler(mir_window->window, MIR_HandleEvent, window);
-
-    MIR_mir_window_spec_release(spec);
-
-    if (!MIR_mir_window_is_valid(mir_window->window)) {
-        return SDL_SetError("Failed to create a mir surface: %s",
-            MIR_mir_window_get_error_message(mir_window->window));
-    }
-
-    if (window->flags & SDL_WINDOW_OPENGL) {
-        EGLNativeWindowType egl_native_window =
-                        (EGLNativeWindowType)MIR_mir_buffer_stream_get_egl_native_window(
-                                                       MIR_mir_window_get_buffer_stream(mir_window->window));
-
-        mir_window->egl_surface = SDL_EGL_CreateSurface(_this, egl_native_window);
-
-        if (mir_window->egl_surface == EGL_NO_SURFACE) {
-            return SDL_SetError("Failed to create a window surface %p",
-                                _this->egl_data->egl_display);
-        }
-    }
-    else {
-        mir_window->egl_surface = EGL_NO_SURFACE;
-    }
-
-    mir_data->current_window = mir_window;
-
-    return 0;
-}
-
-void
-MIR_DestroyWindow(_THIS, SDL_Window* window)
-{
-    MIR_Data* mir_data     = _this->driverdata;
-    MIR_Window* mir_window = window->driverdata;
-
-    if (mir_data) {
-        SDL_EGL_DestroySurface(_this, mir_window->egl_surface);
-        MIR_mir_window_release_sync(mir_window->window);
-
-        mir_data->current_window = NULL;
-
-        SDL_free(mir_window);
-    }
-    window->driverdata = NULL;
-}
-
-SDL_bool
-MIR_GetWindowWMInfo(_THIS, SDL_Window* window, SDL_SysWMinfo* info)
-{
-    if (info->version.major == SDL_MAJOR_VERSION &&
-        info->version.minor == SDL_MINOR_VERSION) {
-        MIR_Window* mir_window = window->driverdata;
-
-        info->subsystem = SDL_SYSWM_MIR;
-        info->info.mir.connection = mir_window->mir_data->connection;
-        // Cannot change this to window due to it being in the public API
-        info->info.mir.surface = mir_window->window;
-
-        return SDL_TRUE;
-    }
-
-    return SDL_FALSE;
-}
-
-static void
-UpdateMirWindowState(MIR_Data* mir_data, MIR_Window* mir_window, MirWindowState window_state)
-{
-    if (IsMirWindowValid(mir_window)) {
-        MirWindowSpec* spec = MIR_mir_create_window_spec(mir_data->connection);
-        MIR_mir_window_spec_set_state(spec, window_state);
-
-        MIR_mir_window_apply_spec(mir_window->window, spec);
-        MIR_mir_window_spec_release(spec);
-    }
-}
-
-void
-MIR_SetWindowFullscreen(_THIS, SDL_Window* window,
-                        SDL_VideoDisplay* display,
-                        SDL_bool fullscreen)
-{
-    if (IsMirWindowValid(window->driverdata)) {
-        MirWindowState state;
-
-        if (fullscreen) {
-            state = mir_window_state_fullscreen;
-        }
-        else {
-            state = mir_window_state_restored;
-        }
-
-        UpdateMirWindowState(_this->driverdata, window->driverdata, state);
-    }
-}
-
-void
-MIR_MaximizeWindow(_THIS, SDL_Window* window)
-{
-    UpdateMirWindowState(_this->driverdata, window->driverdata, mir_window_state_maximized);
-}
-
-void
-MIR_MinimizeWindow(_THIS, SDL_Window* window)
-{
-    UpdateMirWindowState(_this->driverdata, window->driverdata, mir_window_state_minimized);
-}
-
-void
-MIR_RestoreWindow(_THIS, SDL_Window * window)
-{
-    UpdateMirWindowState(_this->driverdata, window->driverdata, mir_window_state_restored);
-}
-
-void
-MIR_HideWindow(_THIS, SDL_Window* window)
-{
-    UpdateMirWindowState(_this->driverdata, window->driverdata, mir_window_state_hidden);
-}
-
-void
-MIR_SetWindowSize(_THIS, SDL_Window* window)
-{
-    MIR_Data* mir_data     = _this->driverdata;
-    MIR_Window* mir_window = window->driverdata;
-
-    if (IsMirWindowValid(mir_window)) {
-        MirWindowSpec* spec = MIR_mir_create_window_spec(mir_data->connection);
-        MIR_mir_window_spec_set_width (spec, window->w);
-        MIR_mir_window_spec_set_height(spec, window->h);
-
-        MIR_mir_window_apply_spec(mir_window->window, spec);
-    }
-}
-
-void
-MIR_SetWindowMinimumSize(_THIS, SDL_Window* window)
-{
-    MIR_Data* mir_data     = _this->driverdata;
-    MIR_Window* mir_window = window->driverdata;
-
-    if (IsMirWindowValid(mir_window)) {
-        MirWindowSpec* spec = MIR_mir_create_window_spec(mir_data->connection);
-        MIR_mir_window_spec_set_min_width (spec, window->min_w);
-        MIR_mir_window_spec_set_min_height(spec, window->min_h);
-
-        MIR_mir_window_apply_spec(mir_window->window, spec);
-    }
-}
-
-void
-MIR_SetWindowMaximumSize(_THIS, SDL_Window* window)
-{
-    MIR_Data* mir_data     = _this->driverdata;
-    MIR_Window* mir_window = window->driverdata;
-
-    if (IsMirWindowValid(mir_window)) {
-        MirWindowSpec* spec = MIR_mir_create_window_spec(mir_data->connection);
-        MIR_mir_window_spec_set_max_width (spec, window->max_w);
-        MIR_mir_window_spec_set_max_height(spec, window->max_h);
-
-        MIR_mir_window_apply_spec(mir_window->window, spec);
-    }
-}
-
-void
-MIR_SetWindowTitle(_THIS, SDL_Window* window)
-{
-    MIR_Data*   mir_data   = _this->driverdata;
-    MIR_Window* mir_window = window->driverdata;
-    char const* title = window->title ? window->title : "";
-    MirWindowSpec* spec;
-
-    if (IsMirWindowValid(mir_window) < 0)
-        return;
-
-    spec = MIR_mir_create_window_spec(mir_data->connection);
-    MIR_mir_window_spec_set_name(spec, title);
-
-    MIR_mir_window_apply_spec(mir_window->window, spec);
-    MIR_mir_window_spec_release(spec);
-}
-
-void
-MIR_SetWindowGrab(_THIS, SDL_Window* window, SDL_bool grabbed)
-{
-    MIR_Data*   mir_data   = _this->driverdata;
-    MIR_Window* mir_window = window->driverdata;
-    MirPointerConfinementState confined = mir_pointer_unconfined;
-    MirWindowSpec* spec;
-
-    if (grabbed)
-        confined = mir_pointer_confined_to_window;
-
-    spec = MIR_mir_create_window_spec(mir_data->connection);
-    MIR_mir_window_spec_set_pointer_confinement(spec, confined);
-
-    MIR_mir_window_apply_spec(mir_window->window, spec);
-    MIR_mir_window_spec_release(spec);
-}
-
-int
-MIR_SetWindowGammaRamp(_THIS, SDL_Window* window, Uint16 const* ramp)
-{
-    MirOutput* output = SDL_GetDisplayForWindow(window)->driverdata;
-    Uint32 ramp_size = 256;
-
-    // FIXME Need to apply the changes to the output, once that public API function is around
-    if (MIR_mir_output_is_gamma_supported(output) == mir_output_gamma_supported) {
-        MIR_mir_output_set_gamma(output,
-                                 ramp + ramp_size * 0,
-                                 ramp + ramp_size * 1,
-                                 ramp + ramp_size * 2,
-                                 ramp_size);
-        return 0;
-    }
-
-    return -1;
-}
-
-int
-MIR_GetWindowGammaRamp(_THIS, SDL_Window* window, Uint16* ramp)
-{
-    MirOutput* output = SDL_GetDisplayForWindow(window)->driverdata;
-    Uint32 ramp_size = 256;
-
-    if (MIR_mir_output_is_gamma_supported(output) == mir_output_gamma_supported) {
-        if (MIR_mir_output_get_gamma_size(output) == ramp_size) {
-            MIR_mir_output_get_gamma(output,
-                                     ramp + ramp_size * 0,
-                                     ramp + ramp_size * 1,
-                                     ramp + ramp_size * 2,
-                                     ramp_size);
-            return 0;
-        }
-    }
-
-    return -1;
-}
-
-#endif /* SDL_VIDEO_DRIVER_MIR */
-
-/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/video/mir/SDL_mirwindow.h b/src/video/mir/SDL_mirwindow.h
deleted file mode 100644
index af618f5..0000000
--- a/src/video/mir/SDL_mirwindow.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-/*
-  Contributed by Brandon Schaefer, <brandon.schaefer@canonical.com>
-*/
-
-#ifndef SDL_mirwindow_h_
-#define SDL_mirwindow_h_
-
-#include "../SDL_sysvideo.h"
-#include "SDL_syswm.h"
-
-#include "SDL_mirvideo.h"
-
-struct MIR_Window {
-    SDL_Window* sdl_window;
-    MIR_Data*   mir_data;
-
-    MirWindow*  window;
-    EGLSurface  egl_surface;
-};
-
-
-extern int
-MIR_CreateWindow(_THIS, SDL_Window* window);
-
-extern void
-MIR_DestroyWindow(_THIS, SDL_Window* window);
-
-extern void
-MIR_SetWindowFullscreen(_THIS, SDL_Window* window,
-                        SDL_VideoDisplay* display,
-                        SDL_bool fullscreen);
-
-extern void
-MIR_MaximizeWindow(_THIS, SDL_Window* window);
-
-extern void
-MIR_MinimizeWindow(_THIS, SDL_Window* window);
-
-extern void
-MIR_RestoreWindow(_THIS, SDL_Window* window);
-
-extern void
-MIR_HideWindow(_THIS, SDL_Window* window);
-
-extern SDL_bool
-MIR_GetWindowWMInfo(_THIS, SDL_Window* window, SDL_SysWMinfo* info);
-
-extern void
-MIR_SetWindowSize(_THIS, SDL_Window* window);
-
-extern void
-MIR_SetWindowMinimumSize(_THIS, SDL_Window* window);
-
-extern void
-MIR_SetWindowMaximumSize(_THIS, SDL_Window* window);
-
-extern void
-MIR_SetWindowTitle(_THIS, SDL_Window* window);
-
-extern void
-MIR_SetWindowGrab(_THIS, SDL_Window* window, SDL_bool grabbed);
-
-extern int
-MIR_SetWindowGammaRamp(_THIS, SDL_Window* window, Uint16 const* ramp);
-
-extern int
-MIR_GetWindowGammaRamp(_THIS, SDL_Window* window, Uint16* ramp);
-
-#endif /* SDL_mirwindow_h_ */
-
-/* vi: set ts=4 sw=4 expandtab: */
-