--- cmake/FindFluidSynth.cmake
+++ cmake/FindFluidSynth.cmake
@@ -65,7 +65,7 @@ pkg_check_modules(PC_FluidSynth QUIET fl
 find_library(FluidSynth_LIBRARIES
   NAMES fluidsynth
   HINTS
-  "${FluidSynth_DIR}/lib"
+  "${FluidSynth_DIR}/lib/arm64ec"
   ${PC_FluidSynth_LIBDIR}
 )
 
@@ -101,6 +101,6 @@ if(FluidSynth_FOUND AND NOT TARGET Fluid
   if(WIN32 AND FluidSynth_DIR)
     # On Windows, we need to figure out the location of our library files
     # so we can copy and package them.
-    set(FluidSynth_DLL_DIR "${FluidSynth_DIR}/bin" CACHE INTERNAL "")
+    set(FluidSynth_DLL_DIR "${FluidSynth_DIR}/bin/arm64ec" CACHE INTERNAL "")
   endif()
 endif()
--- cmake/FindSDL2.cmake
+++ cmake/FindSDL2.cmake
@@ -44,16 +44,12 @@ endif()
 if(CMAKE_SIZEOF_VOID_P STREQUAL 8)
     find_path(SDL2_INCLUDE_DIR "SDL_version.h"
         HINTS
-        "${SDL2_DIR}/include"
         "${SDL2_DIR}/include/SDL2"
-        "${SDL2_DIR}/x86_64-w64-mingw32/include/SDL2"
         ${PC_SDL2_INCLUDE_DIRS})
 else()
     find_path(SDL2_INCLUDE_DIR "SDL_version.h"
         HINTS
-        "${SDL2_DIR}/include"
         "${SDL2_DIR}/include/SDL2"
-        "${SDL2_DIR}/i686-w64-mingw32/include/SDL2"
         ${PC_SDL2_INCLUDE_DIRS})
 endif()
 
@@ -75,33 +71,14 @@ if(SDL2_INCLUDE_DIR AND EXISTS "${SDL2_I
 endif()
 
 # Find the SDL2 and SDL2main libraries
-if(CMAKE_SIZEOF_VOID_P STREQUAL 8)
     find_library(SDL2_LIBRARY "SDL2"
         HINTS
-        "${SDL2_DIR}/lib"
-        "${SDL2_DIR}/lib/x64"
-        "${SDL2_DIR}/x86_64-w64-mingw32/lib"
+        "${SDL2_DIR}/lib/arm64ec"
         ${PC_SDL2_LIBRARY_DIRS})
     find_library(SDL2_MAIN_LIBRARY "SDL2main"
         HINTS
-        "${SDL2_DIR}/lib"
-        "${SDL2_DIR}/lib/x64"
-        "${SDL2_DIR}/x86_64-w64-mingw32/lib"
-        ${PC_SDL2_LIBRARY_DIRS})
-else()
-    find_library(SDL2_LIBRARY "SDL2"
-        HINTS
-        "${SDL2_DIR}/lib"
-        "${SDL2_DIR}/lib/x86"
-        "${SDL2_DIR}/i686-w64-mingw32/lib"
+        "${SDL2_DIR}/lib/arm64ec"
         ${PC_SDL2_LIBRARY_DIRS})
-    find_library(SDL2_MAIN_LIBRARY "SDL2main"
-        HINTS
-        "${SDL2_DIR}/lib"
-        "${SDL2_DIR}/lib/x86"
-        "${SDL2_DIR}/i686-w64-mingw32/lib"
-        ${PC_SDL2_LIBRARY_DIRS})
-endif()
 set(SDL2_LIBRARIES "${SDL2_MAIN_LIBRARY}" "${SDL2_LIBRARY}")
 
 include(FindPackageHandleStandardArgs)
@@ -145,10 +122,10 @@ if(SDL2_FOUND)
         # On Windows, we need to figure out the location of our library files
         # so we can copy and package them.
         get_filename_component(SDL2_DLL_DIR "${SDL2_LIBRARY}" DIRECTORY)
-        if(EXISTS "${SDL2_DLL_DIR}/SDL2.dll")
+        if(EXISTS "${SDL2_DLL_DIR}/../../bin/arm64ec/SDL2.dll")
             set(SDL2_DLL_DIR "${SDL2_DLL_DIR}" CACHE INTERNAL "")
-        elseif(EXISTS "${SDL2_DLL_DIR}/../bin/SDL2.dll")
-            get_filename_component(SDL2_DLL_DIR "${SDL2_DLL_DIR}/../bin" REALPATH)
+        elseif(EXISTS "${SDL2_DLL_DIR}/../../bin/arm64ec/SDL2.dll")
+            get_filename_component(SDL2_DLL_DIR "${SDL2_DLL_DIR}/../../bin/arm64ec" REALPATH)
             set(SDL2_DLL_DIR "${SDL2_DLL_DIR}" CACHE INTERNAL "")
         else()
             message(ERROR "Can't find SDL2 dynamic library directory.")
--- cmake/FindSDL2_mixer.cmake
+++ cmake/FindSDL2_mixer.cmake
@@ -44,16 +44,12 @@ endif()
 if(CMAKE_SIZEOF_VOID_P STREQUAL 8)
     find_path(SDL2_MIXER_INCLUDE_DIR "SDL_mixer.h"
         HINTS
-        "${SDL2_MIXER_DIR}/include"
         "${SDL2_MIXER_DIR}/include/SDL2"
-        "${SDL2_MIXER_DIR}/x86_64-w64-mingw32/include/SDL2"
         ${PC_SDL2_MIXER_INCLUDE_DIRS})
 else()
     find_path(SDL2_MIXER_INCLUDE_DIR "SDL_mixer.h"
         HINTS
-        "${SDL2_MIXER_DIR}/include"
         "${SDL2_MIXER_DIR}/include/SDL2"
-        "${SDL2_MIXER_DIR}/i686-w64-mingw32/include/SDL2"
         ${PC_SDL2_MIXER_INCLUDE_DIRS})
 endif()
 
@@ -75,21 +71,10 @@ if(SDL2_MIXER_INCLUDE_DIR AND EXISTS "${
 endif()
 
 # Find the library.
-if(CMAKE_SIZEOF_VOID_P STREQUAL 8)
-    find_library(SDL2_MIXER_LIBRARY "SDL2_mixer"
+    find_library(SDL2_MIXER_LIBRARY "SDL2_mixer_static"
         HINTS
-        "${SDL2_MIXER_DIR}/lib"
-        "${SDL2_MIXER_DIR}/lib/x64"
-        "${SDL2_MIXER_DIR}/x86_64-w64-mingw32/lib"
+        "${SDL2_MIXER_DIR}/lib/arm64ec"
         ${PC_SDL2_MIXER_LIBRARY_DIRS})
-else()
-    find_library(SDL2_MIXER_LIBRARY "SDL2_mixer"
-        HINTS
-        "${SDL2_MIXER_DIR}/lib"
-        "${SDL2_MIXER_DIR}/lib/x86"
-        "${SDL2_MIXER_DIR}/i686-w64-mingw32/lib"
-        ${PC_SDL2_MIXER_LIBRARY_DIRS})
-endif()
 
 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(SDL2_mixer
@@ -113,8 +98,8 @@ if(SDL2_MIXER_FOUND)
         get_filename_component(SDL2_MIXER_DLL_DIR "${SDL2_MIXER_LIBRARY}" DIRECTORY)
         if(EXISTS "${SDL2_MIXER_DLL_DIR}/SDL2_mixer.dll")
             set(SDL2_MIXER_DLL_DIR "${SDL2_MIXER_DLL_DIR}" CACHE INTERNAL "")
-        elseif(EXISTS "${SDL2_MIXER_DLL_DIR}/../bin/SDL2_mixer.dll")
-            get_filename_component(SDL2_MIXER_DLL_DIR "${SDL2_MIXER_DLL_DIR}/../bin" REALPATH)
+        elseif(EXISTS "${SDL2_MIXER_DLL_DIR}/../../bin/arm64ec/SDL2_mixer.dll")
+            get_filename_component(SDL2_MIXER_DLL_DIR "${SDL2_MIXER_DLL_DIR}/../../bin/arm64ec" REALPATH)
             set(SDL2_MIXER_DLL_DIR "${SDL2_MIXER_DLL_DIR}" CACHE INTERNAL "")
         else()
             message(ERROR "Can't find SDL2_mixer dynamic library directory.")
--- cmake/FindSDL2_net.cmake
+++ cmake/FindSDL2_net.cmake
@@ -44,16 +44,12 @@ endif()
 if(CMAKE_SIZEOF_VOID_P STREQUAL 8)
     find_path(SDL2_NET_INCLUDE_DIR "SDL_net.h"
         HINTS
-        "${SDL2_NET_DIR}/include"
         "${SDL2_NET_DIR}/include/SDL2"
-        "${SDL2_NET_DIR}/x86_64-w64-mingw32/include/SDL2"
         ${PC_SDL2_NET_INCLUDE_DIRS})
 else()
     find_path(SDL2_NET_INCLUDE_DIR "SDL_net.h"
         HINTS
-        "${SDL2_NET_DIR}/include"
         "${SDL2_NET_DIR}/include/SDL2"
-        "${SDL2_NET_DIR}/i686-w64-mingw32/include/SDL2"
         ${PC_SDL2_NET_INCLUDE_DIRS})
 endif()
 
@@ -75,21 +71,10 @@ if(SDL2_NET_INCLUDE_DIR AND EXISTS "${SD
 endif()
 
 # Find the library.
-if(CMAKE_SIZEOF_VOID_P STREQUAL 8)
-    find_library(SDL2_NET_LIBRARY "SDL2_net"
+    find_library(SDL2_NET_LIBRARY "SDL2_net_static"
         HINTS
-        "${SDL2_NET_DIR}/lib"
-        "${SDL2_NET_DIR}/lib/x64"
-        "${SDL2_NET_DIR}/x86_64-w64-mingw32/lib"
+        "${SDL2_NET_DIR}/lib/arm64ec"
         ${PC_SDL2_NET_LIBRARY_DIRS})
-else()
-    find_library(SDL2_NET_LIBRARY "SDL2_net"
-        HINTS
-        "${SDL2_NET_DIR}/lib"
-        "${SDL2_NET_DIR}/lib/x86"
-        "${SDL2_NET_DIR}/i686-w64-mingw32/lib"
-        ${PC_SDL2_NET_LIBRARY_DIRS})
-endif()
 
 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(SDL2_net
@@ -113,8 +98,8 @@ if(SDL2_NET_FOUND)
         get_filename_component(SDL2_NET_DLL_DIR "${SDL2_NET_LIBRARY}" DIRECTORY)
         if(EXISTS "${SDL2_NET_DLL_DIR}/SDL2_net.dll")
             set(SDL2_NET_DLL_DIR "${SDL2_NET_DLL_DIR}" CACHE INTERNAL "")
-        elseif(EXISTS "${SDL2_NET_DLL_DIR}/../bin/SDL2_net.dll")
-            get_filename_component(SDL2_NET_DLL_DIR "${SDL2_NET_DLL_DIR}/../bin" REALPATH)
+        elseif(EXISTS "${SDL2_NET_DLL_DIR}/../../bin/arm64ec/SDL2_net.dll")
+            get_filename_component(SDL2_NET_DLL_DIR "${SDL2_NET_DLL_DIR}/../../bin/arm64ec" REALPATH)
             set(SDL2_NET_DLL_DIR "${SDL2_NET_DLL_DIR}" CACHE INTERNAL "")
         else()
             message(ERROR "Can't find SDL2_net dynamic library directory.")
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -71,108 +71,10 @@ check_symbol_exists(strncasecmp "strings
 #
 # In some instances, we can do useful things if a library can't be found.
 
-# SDL2.  On Windows, we use the official development library.
-if(NOT SDL2_DIR)
-    if(WIN32 AND NOT MSYS)
-        message(STATUS "Downloading SDL2 Development Library...")
-        set(pkgver "2.26.1")
-        if(MSVC)
-            file(DOWNLOAD
-                "https://github.com/libsdl-org/SDL/releases/download/release-${pkgver}/SDL2-devel-${pkgver}-VC.zip"
-                "${CMAKE_CURRENT_BINARY_DIR}/SDL2-VC.zip"
-                EXPECTED_HASH SHA256=256a8b46e4a278b7b2b649368bc38a400d943de5b3ef8c14e1b907725cd70072)
-            execute_process(COMMAND "${CMAKE_COMMAND}" -E tar xf
-                "${CMAKE_CURRENT_BINARY_DIR}/SDL2-VC.zip"
-                WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
-        else()
-            file(DOWNLOAD
-                "https://github.com/libsdl-org/SDL/releases/download/release-${pkgver}/SDL2-devel-${pkgver}-mingw.tar.gz"
-                "${CMAKE_CURRENT_BINARY_DIR}/SDL2-mingw.tar.gz"
-                EXPECTED_HASH SHA256=aa43e1531a89551f9f9e14b27953a81d4ac946a9e574b5813cd0f2b36e83cc1c)
-            execute_process(COMMAND "${CMAKE_COMMAND}" -E tar xf
-                "${CMAKE_CURRENT_BINARY_DIR}/SDL2-mingw.tar.gz"
-                WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
-        endif()
-        set(SDL2_DIR "${CMAKE_CURRENT_BINARY_DIR}/SDL2-${pkgver}")
-    endif()
-endif()
 find_package(SDL2 2.0.7)
-
-# SDL2_mixer.  On Windows, we use the official development library.
-if(NOT SDL2_MIXER_DIR)
-    if(WIN32 AND NOT MSYS)
-        message(STATUS "Downloading SDL2_mixer Development Library...")
-        set(pkgver "2.6.2")
-        if(MSVC)
-            file(DOWNLOAD
-                "https://github.com/libsdl-org/SDL_mixer/releases/download/release-${pkgver}/SDL2_mixer-devel-${pkgver}-VC.zip"
-                "${CMAKE_CURRENT_BINARY_DIR}/SDL2_mixer-VC.zip"
-                EXPECTED_HASH SHA256=7f050663ccc7911bb9c57b11e32ca79578b712490186b8645ddbbe4e7d2fe1c9)
-            execute_process(COMMAND "${CMAKE_COMMAND}" -E tar xf
-                "${CMAKE_CURRENT_BINARY_DIR}/SDL2_mixer-VC.zip"
-                WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
-        else()
-            file(DOWNLOAD
-                "https://github.com/libsdl-org/SDL_mixer/releases/download/release-${pkgver}/SDL2_mixer-devel-${pkgver}-mingw.tar.gz"
-                "${CMAKE_CURRENT_BINARY_DIR}/SDL2_mixer-mingw.tar.gz"
-                EXPECTED_HASH SHA256=6c414d05a3b867e0d59e0f9b28ea7e5e64527e612ccf961735dc2478391315b3)
-            execute_process(COMMAND "${CMAKE_COMMAND}" -E tar xf
-                "${CMAKE_CURRENT_BINARY_DIR}/SDL2_mixer-mingw.tar.gz"
-                WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
-        endif()
-        set(SDL2_MIXER_DIR "${CMAKE_CURRENT_BINARY_DIR}/SDL2_mixer-${pkgver}")
-    endif()
-endif()
 find_package(SDL2_mixer 2.0.2)
-
-# SDL2_net.  On Windows, we use the official development library.
-if(NOT SDL2_NET_DIR)
-    if(WIN32 AND NOT MSYS)
-        message(STATUS "Downloading SDL2_net Development Library...")
-        set(pkgver "2.2.0")
-        if(MSVC)
-            file(DOWNLOAD
-                "https://github.com/libsdl-org/SDL_net/releases/download/release-${pkgver}/SDL2_net-devel-${pkgver}-VC.zip"
-                "${CMAKE_CURRENT_BINARY_DIR}/SDL2_net-VC.zip"
-                EXPECTED_HASH SHA256=f364e55babb44e47b41d039a43c640aa1f76615b726855591b555321c7d870dd)
-            execute_process(COMMAND "${CMAKE_COMMAND}" -E tar xf
-                "${CMAKE_CURRENT_BINARY_DIR}/SDL2_net-VC.zip"
-                WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
-        else()
-            file(DOWNLOAD
-                "https://github.com/libsdl-org/SDL_net/releases/download/release-${pkgver}/SDL2_net-devel-${pkgver}-mingw.tar.gz"
-                "${CMAKE_CURRENT_BINARY_DIR}/SDL2_net-mingw.tar.gz"
-                EXPECTED_HASH SHA256=369829e06c509d5e001fabdcbe006ff3efa934f3825dc0ae1b076f5ce9c183c4)
-            execute_process(COMMAND "${CMAKE_COMMAND}" -E tar xf
-                "${CMAKE_CURRENT_BINARY_DIR}/SDL2_net-mingw.tar.gz"
-                WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
-        endif()
-        set(SDL2_NET_DIR "${CMAKE_CURRENT_BINARY_DIR}/SDL2_net-${pkgver}")
-    endif()
-endif()
 find_package(SDL2_net)
-
-# FluidSynth backend
-if (NOT FluidSynth_DIR)
-    if (WIN32 AND MSVC AND CMAKE_SIZEOF_VOID_P STREQUAL 4)
-        message(STATUS "Downloading FluidSynth Development Library...")
-        set(pkgver "2.3.0")
-        file(DOWNLOAD
-            "https://github.com/FluidSynth/fluidsynth/releases/download/v${pkgver}/fluidsynth-${pkgver}-winXP-x86.zip"
-            "${CMAKE_CURRENT_BINARY_DIR}/fluidsynth-x86.zip"
-            EXPECTED_HASH SHA256=ea84ee14b9c9f394085bbbe6651df7a119879b5e19ebed47d7fd096b18b56c09)
-        execute_process(
-            COMMAND "${CMAKE_COMMAND}" -E make_directory
-            "${CMAKE_CURRENT_BINARY_DIR}/fluidsynth-${pkgver}")
-        execute_process(
-            COMMAND "${CMAKE_COMMAND}" -E tar xf
-            "${CMAKE_CURRENT_BINARY_DIR}/fluidsynth-x86.zip"
-            WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/fluidsynth-${pkgver}")
-        set(FluidSynth_DIR "${CMAKE_CURRENT_BINARY_DIR}/fluidsynth-${pkgver}")
-    endif()
-endif()
-# 2.2.0 for unicode fopen on Windows
-find_package(FluidSynth 2.2.0)
+find_package(FluidSynth 2.0.0)
 
 # Python 3
 find_package(Python3 COMPONENTS Interpreter)
