diff --git a/Externals/SDL/CMakeLists.txt b/Externals/SDL/CMakeLists.txt
index 1f34328b270..9e054f77d9b 100644
--- a/Externals/SDL/CMakeLists.txt
+++ b/Externals/SDL/CMakeLists.txt
@@ -7,6 +7,16 @@ set(SDL_DISABLE_INSTALL_DOCS ON)
set(SDL_INSTALL_TESTS OFF)
set(SDL_UNIX_CONSOLE_BUILD ON)
+set(SDL_AUDIO OFF)
+if (NOT APPLE)
+ # Working around cocoa/SDL_tray.m linker errors.
+ set(SDL_VIDEO OFF)
+endif()
+set(SDL_GPU OFF)
+set(SDL_RENDER OFF)
+set(SDL_CAMERA OFF)
+set(SDL_DIALOG OFF)
+
add_subdirectory(SDL)
if (TARGET SDL3)
diff --git a/Externals/SDL/SDL b/Externals/SDL/SDL
index a8589a84226..badbf8da4ee 160000
--- a/Externals/SDL/SDL
+++ b/Externals/SDL/SDL
@@ -1 +1 @@
-Subproject commit a8589a84226a6202831a3d49ff4edda4acab9acd
+Subproject commit badbf8da4ee72b3ef599c721ffc9899e8d7c8d90
diff --git a/Externals/SDL/SDL3.vcxproj b/Externals/SDL/SDL3.vcxproj
index c4cafbefc09..63e0f81b8a0 100644
--- a/Externals/SDL/SDL3.vcxproj
+++ b/Externals/SDL/SDL3.vcxproj
@@ -18,7 +18,7 @@
SDL\src;SDL\include;SDL\include\build_config;%(AdditionalIncludeDirectories)
- HAVE_LIBC=1;%(PreprocessorDefinitions)
+ SDL_AUDIO_DISABLED;SDL_VIDEO_DISABLED;SDL_GPU_DISABLED;SDL_RENDER_DISABLED;SDL_CAMERA_DISABLED;SDL_DIALOG_DISABLED;%(PreprocessorDefinitions)
@@ -399,7 +399,6 @@
-