diff --git a/meson.build b/meson.build
index 1146a26..9634dc0 100644
--- a/meson.build
+++ b/meson.build
@@ -253,13 +253,14 @@ if get_option('mangoapp')
   ]
 endif

-imgui_sp = subproject('imgui', default_options: imgui_options)
-dearimgui_dep = imgui_sp.get_variable('imgui_dep')
+dearimgui_dep = dependency('imgui', fallback: ['imgui'], required: true, default_options: imgui_options)

-meson.override_dependency('imgui', dearimgui_dep)
-
-implot_sp = subproject('implot', default_options: ['default_library=static'])
-implot_dep = implot_sp.get_variable('implot_dep')
+if is_unixy
+  implot_dep = dependency('implot', fallback: ['implot'], required: true, default_options: ['default_library=static'])
+else
+  implot_dep = null_dep
+  implot_lib = static_library('nulllib', [])
+endif

 spdlog_options = [
   'default_library=static',
diff --git a/src/app/main.cpp b/src/app/main.cpp
index 2235476..0d457c8 100644
--- a/src/app/main.cpp
+++ b/src/app/main.cpp
@@ -6,9 +6,9 @@
 #include <sys/ipc.h>
 #include <sys/msg.h>

-#include "imgui.h"
-#include "imgui_impl_glfw.h"
-#include "imgui_impl_opengl3.h"
+#include <imgui/imgui.h>
+#include <imgui/imgui_impl_glfw.h>
+#include <imgui/imgui_impl_opengl3.h>
 #include <stdio.h>
 #include <thread>
 #include <unistd.h>
diff --git a/src/gl/gl_hud.cpp b/src/gl/gl_hud.cpp
index 2ef688d..c47cadc 100644
--- a/src/gl/gl_hud.cpp
+++ b/src/gl/gl_hud.cpp
@@ -7,7 +7,7 @@
 #include <memory>
 #include <unistd.h>
 #include <spdlog/spdlog.h>
-#include <imgui.h>
+#include <imgui/imgui.h>
 #ifdef __linux__
 #include <implot.h>
 #endif
diff --git a/src/gl/gl_renderer.cpp b/src/gl/gl_renderer.cpp
index 08111f1..69b38a0 100644
--- a/src/gl/gl_renderer.cpp
+++ b/src/gl/gl_renderer.cpp
@@ -65,7 +65,7 @@
 //----------------------------------------

 #include <spdlog/spdlog.h>
-#include <imgui.h>
+#include <imgui/imgui.h>
 #include "gl_renderer.h"
 #include <stdio.h>
 #include <stdint.h>     // intptr_t
diff --git a/src/hud_elements.h b/src/hud_elements.h
index 70deb51..3ccdba8 100644
--- a/src/hud_elements.h
+++ b/src/hud_elements.h
@@ -3,7 +3,7 @@
 #include <string>
 #include <utility>
 #include <map>
-#include <imgui.h>
+#include <imgui/imgui.h>
 #include "timing.hpp"
 #include <functional>
 #include "vulkan/vulkan.h"
diff --git a/src/imgui_utils.h b/src/imgui_utils.h
index f2797e4..3923d3a 100644
--- a/src/imgui_utils.h
+++ b/src/imgui_utils.h
@@ -1,6 +1,6 @@
 #pragma once

-#include <imgui.h>
+#include <imgui/imgui.h>

 #ifdef __linux__
 #include <implot.h>
diff --git a/src/overlay.h b/src/overlay.h
index cad97c2..bf9faf6 100644
--- a/src/overlay.h
+++ b/src/overlay.h
@@ -6,8 +6,8 @@
 #include <stdint.h>
 #include <vector>
 #include <deque>
-#include <imgui.h>
-#include "imgui_internal.h"
+#include <imgui/imgui.h>
+#include <imgui/imgui_internal.h>
 #include "overlay_params.h"
 #include "hud_elements.h"

diff --git a/src/overlay_params.cpp b/src/overlay_params.cpp
index ab7e37d..5e4bf90 100644
--- a/src/overlay_params.cpp
+++ b/src/overlay_params.cpp
@@ -10,7 +10,7 @@
 #include <wordexp.h>
 #include <unistd.h>
 #endif
-#include "imgui.h"
+#include <imgui/imgui.h>
 #include <iostream>
 #include <string>
 #include <sstream>
diff --git a/src/vulkan.cpp b/src/vulkan.cpp
index ffadf25..b1e8c23 100644
--- a/src/vulkan.cpp
+++ b/src/vulkan.cpp
@@ -37,7 +37,7 @@
 #include <sstream>
 #include <inttypes.h>
 #include <spdlog/spdlog.h>
-#include <imgui.h>
+#include <imgui/imgui.h>

 #include "mesa/util/macros.h" // defines "restrict" for vk_util.h
 #include "mesa/util/os_socket.h"
diff --git a/mangohud-next/render/imgui/egl.h b/mangohud-next/render/imgui/egl.h
index ff08211..f796470 100644
--- a/mangohud-next/render/imgui/egl.h
+++ b/mangohud-next/render/imgui/egl.h
@@ -2,7 +2,7 @@
 #include <mutex>
 #include <imgui.h>
 #include "implot.h"
-#include <backends/imgui_impl_opengl3.h>
+#include <imgui_impl_opengl3.h>

 #include "imgui_ctx.h"
 #include "font/font.h"
diff --git a/mangohud-next/render/imgui/imgui_ctx.cpp b/mangohud-next/render/imgui/imgui_ctx.cpp
index 5bf29d6..b6688d9 100644
--- a/mangohud-next/render/imgui/imgui_ctx.cpp
+++ b/mangohud-next/render/imgui/imgui_ctx.cpp
@@ -1,7 +1,7 @@
 #include <deque>
 #include <unistd.h>
 #include <math.h>
-#include "backends/imgui_impl_opengl3.h"
+#include "imgui_impl_opengl3.h"
 #include "imgui_ctx.h"
 #include "imgui.h"
 #include "imgui_internal.h"
diff --git a/mangohud-next/render/imgui/vk.h b/mangohud-next/render/imgui/vk.h
index 81504b6..127d743 100644
--- a/mangohud-next/render/imgui/vk.h
+++ b/mangohud-next/render/imgui/vk.h
@@ -1,7 +1,7 @@
 #include "imgui.h"
 #include "implot.h"
 #include <vulkan/vulkan.h>
-#include "backends/imgui_impl_vulkan.h"
+#include "imgui_impl_vulkan.h"
 #include "../vulkan_ctx.h"
 #include "font/font.h"

diff --git a/mangohud-next/server/metrics/metrics.cpp b/mangohud-next/server/metrics/metrics.cpp
index 90fd381..1339058 100644
--- a/mangohud-next/server/metrics/metrics.cpp
+++ b/mangohud-next/server/metrics/metrics.cpp
@@ -5,7 +5,7 @@
 #include <cctype>
 #include <algorithm>
 #include <sys/stat.h>
-#include <spdlog/fmt/bundled/format.h>
+#include <fmt/format.h>
 #include "../common/json.h"
 #include "../common/table_structs.h"
 #include "../common/helpers.hpp"
