diff --git a/.gitmodules b/.gitmodules
index f987256221..36caa59f81 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -22,3 +22,6 @@
 [submodule "cryptopp"]
     path = externals/cryptopp/cryptopp
     url = https://github.com/weidai11/cryptopp.git
+[submodule "fmt"]
+    path = externals/fmt
+    url = https://github.com/fmtlib/fmt.git
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 306959e242..121b0f2f84 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -258,6 +258,7 @@ add_subdirectory(${INI_PREFIX})
 add_subdirectory(externals)
 
 option(DYNARMIC_TESTS OFF)
+set(DYNARMIC_NO_BUNDLED_FMT ON)
 add_subdirectory(externals/dynarmic)
 
 add_subdirectory(externals/glad)
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index 309e98464a..57fc5d5662 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -9,3 +9,4 @@ endif()
 
 add_subdirectory(cryptopp)
 
+add_subdirectory(fmt)
diff --git a/externals/dynarmic b/externals/dynarmic
index 358cf7c322..7707ff13e9 160000
--- a/externals/dynarmic
+++ b/externals/dynarmic
@@ -1 +1 @@
-Subproject commit 358cf7c32205a5114964865c86a8455daf810732
+Subproject commit 7707ff13e981b0aecf87f3156ee0b641469f7bb3
diff --git a/externals/fmt b/externals/fmt
new file mode 160000
index 0000000000..ac5484c4e7
--- /dev/null
+++ b/externals/fmt
@@ -0,0 +1 @@
+Subproject commit ac5484c4e7365b59d8c7e14db6778de26635e428