diff --git a/.ci/linux/build.sh b/.ci/linux/build.sh
index a92cb3fd91..114df7051b 100755
--- a/.ci/linux/build.sh
+++ b/.ci/linux/build.sh
@@ -3,47 +3,53 @@
# SPDX-FileCopyrightText: 2025 eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
-
case "$1" in
- amd64|"")
- echo "Making amd64-v3 optimized build of Eden"
- ARCH="amd64_v3"
- ARCH_FLAGS="-march=x86-64-v3"
- ;;
- steamdeck|zen2)
- echo "Making Steam Deck (Zen 2) optimized build of Eden"
- ARCH="steamdeck"
- ARCH_FLAGS="-march=znver2 -mtune=znver2"
- ;;
- rog-ally|allyx|zen4)
- echo "Making ROG Ally X (Zen 4) optimized build of Eden"
- ARCH="rog-ally-x"
- ARCH_FLAGS="-march=znver4 -mtune=znver4"
- ;;
- legacy)
- echo "Making amd64 generic build of Eden"
- ARCH=amd64
- ARCH_FLAGS="-march=x86-64 -mtune=generic"
- ;;
- aarch64)
- echo "Making armv8-a build of Eden"
- ARCH=aarch64
- ARCH_FLAGS="-march=armv8-a -mtune=generic -w"
- ;;
- armv9)
- echo "Making armv9-a build of Eden"
- ARCH=armv9
- ARCH_FLAGS="-march=armv9-a -mtune=generic -w"
- ;;
- native)
- echo "Making native build of Eden"
- ARCH="$(uname -m)"
- ARCH_FLAGS="-march=native -mtune=native"
- ;;
- *)
- echo "Invalid target $1 specified, must be one of native, amd64, steamdeck, zen2, allyx, rog-ally, zen4, legacy, aarch64, armv9"
- exit 1
- ;;
+amd64 | "")
+ echo "Making amd64-v3 optimized build of Eden"
+ ARCH="amd64_v3"
+ ARCH_FLAGS="-march=x86-64-v3"
+ export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=v3)
+ ;;
+steamdeck | zen2)
+ echo "Making Steam Deck (Zen 2) optimized build of Eden"
+ ARCH="steamdeck"
+ ARCH_FLAGS="-march=znver2 -mtune=znver2"
+ export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=zen2 -DYUZU_SYSTEM_PROFILE=steamdeck)
+ ;;
+rog-ally | allyx | zen4)
+ echo "Making ROG Ally X (Zen 4) optimized build of Eden"
+ ARCH="rog-ally-x"
+ ARCH_FLAGS="-march=znver4 -mtune=znver4"
+ export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=zen2 -DYUZU_SYSTEM_PROFILE=steamdeck)
+ ;;
+legacy)
+ echo "Making amd64 generic build of Eden"
+ ARCH=amd64
+ ARCH_FLAGS="-march=x86-64 -mtune=generic"
+ export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=generic)
+ ;;
+aarch64)
+ echo "Making armv8-a build of Eden"
+ ARCH=aarch64
+ ARCH_FLAGS="-march=armv8-a -mtune=generic -w"
+ export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=generic)
+ ;;
+armv9)
+ echo "Making armv9-a build of Eden"
+ ARCH=armv9
+ ARCH_FLAGS="-march=armv9-a -mtune=generic -w"
+ export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=armv9)
+ ;;
+native)
+ echo "Making native build of Eden"
+ ARCH="$(uname -m)"
+ ARCH_FLAGS="-march=native -mtune=native"
+ export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=native)
+ ;;
+*)
+ echo "Invalid target $1 specified, must be one of native, amd64, steamdeck, zen2, allyx, rog-ally, zen4, legacy, aarch64, armv9"
+ exit 1
+ ;;
esac
export ARCH_FLAGS="$ARCH_FLAGS -O3"
@@ -55,10 +61,10 @@ fi
if [ "$1" != "" ]; then shift; fi
if [ "$TARGET" = "appimage" ]; then
- export EXTRA_CMAKE_FLAGS=(-DCMAKE_INSTALL_PREFIX=/usr -DYUZU_ROOM=ON -DYUZU_ROOM_STANDALONE=OFF -DYUZU_CMD=OFF)
+ export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" -DCMAKE_INSTALL_PREFIX=/usr -DYUZU_ROOM=ON -DYUZU_ROOM_STANDALONE=OFF -DYUZU_CMD=OFF)
else
# For the linux-fresh verification target, verify compilation without PCH as well.
- export EXTRA_CMAKE_FLAGS=(-DYUZU_USE_PRECOMPILED_HEADERS=OFF)
+ export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" -DYUZU_USE_PRECOMPILED_HEADERS=OFF)
fi
if [ "$DEVEL" != "true" ]; then
@@ -86,7 +92,7 @@ export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" $@)
mkdir -p build && cd build
cmake .. -G Ninja \
-DCMAKE_BUILD_TYPE="$BUILD_TYPE" \
- -DENABLE_QT_TRANSLATION=ON \
+ -DENABLE_QT_TRANSLATION=ON \
-DUSE_DISCORD_PRESENCE=ON \
-DCMAKE_CXX_FLAGS="$ARCH_FLAGS" \
-DCMAKE_C_FLAGS="$ARCH_FLAGS" \
@@ -99,12 +105,12 @@ cmake .. -G Ninja \
-DYUZU_USE_QT_WEB_ENGINE=$WEBENGINE \
-DYUZU_USE_FASTER_LD=ON \
-DYUZU_ENABLE_LTO=ON \
- "${EXTRA_CMAKE_FLAGS[@]}"
+ "${EXTRA_CMAKE_FLAGS[@]}"
ninja -j${NPROC}
if [ -d "bin/Release" ]; then
- strip -s bin/Release/*
+ strip -s bin/Release/*
else
- strip -s bin/*
+ strip -s bin/*
fi
diff --git a/.ci/linux/package.sh b/.ci/linux/package.sh
index 41e07ea207..911fea2f7b 100755
--- a/.ci/linux/package.sh
+++ b/.ci/linux/package.sh
@@ -92,7 +92,6 @@ chmod +x ./sharun-aio
xvfb-run -a ./sharun-aio l -p -v -e -s -k \
../$BUILDDIR/bin/eden* \
$LIBDIR/lib*GL*.so* \
- $LIBDIR/libSDL2*.so* \
$LIBDIR/dri/* \
$LIBDIR/vdpau/* \
$LIBDIR/libvulkan* \
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 941f94ae26..ac67f73d00 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -2,9 +2,9 @@
# some stuff needs cleaned up etc
name: eden-build
-on:
- push:
- branches: [ "master" ]
+#on:
+# push:
+# branches: [ "master" ]
# TODO: combine build.yml into trigger_release.yml
jobs:
diff --git a/.github/workflows/trigger_release.yml b/.github/workflows/trigger_release.yml
index 638ab3424b..645b21e25a 100644
--- a/.github/workflows/trigger_release.yml
+++ b/.github/workflows/trigger_release.yml
@@ -1,8 +1,8 @@
name: Build Application and Make Release
-on:
- push:
- tags: [ "*" ]
+#on:
+# push:
+# tags: [ "*" ]
permissions:
contents: write
diff --git a/.gitmodules b/.gitmodules
index 371b62a605..10f9f7de96 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -16,15 +16,9 @@
[submodule "opus"]
path = externals/opus
url = https://github.com/xiph/opus.git
-[submodule "SDL"]
- path = externals/SDL
- url = https://github.com/libsdl-org/SDL.git
[submodule "cpp-httplib"]
path = externals/cpp-httplib
url = https://github.com/yhirose/cpp-httplib.git
-[submodule "ffmpeg"]
- path = externals/ffmpeg/ffmpeg
- url = https://github.com/FFmpeg/FFmpeg.git
[submodule "vcpkg"]
path = externals/vcpkg
url = https://github.com/microsoft/vcpkg.git
@@ -49,9 +43,6 @@
[submodule "externals/dynarmic/externals/unordered_dense"]
path = externals/dynarmic/externals/unordered_dense
url = https://github.com/Lizzie841/unordered_dense.git
-[submodule "externals/dynarmic/externals/xbyak"]
- path = externals/dynarmic/externals/xbyak
- url = https://github.com/Lizzie841/xbyak.git
[submodule "externals/dynarmic/externals/zycore-c"]
path = externals/dynarmic/externals/zycore-c
url = https://github.com/zyantific/zycore-c.git
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 007debd047..0c2a880ae0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -33,9 +33,9 @@ endif()
option(ENABLE_SDL2 "Enable the SDL2 frontend" ON)
CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_SDL2 "Download bundled SDL2 binaries" ON "ENABLE_SDL2;MSVC" OFF)
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
- CMAKE_DEPENDENT_OPTION(YUZU_USE_EXTERNAL_SDL2 "Compile external SDL2" OFF "ENABLE_SDL2;NOT MSVC" OFF)
+ CMAKE_DEPENDENT_OPTION(YUZU_USE_EXTERNAL_SDL2 "Compile external SDL2" OFF "ENABLE_SDL2;NOT MSVC" OFF)
else()
- CMAKE_DEPENDENT_OPTION(YUZU_USE_EXTERNAL_SDL2 "Compile external SDL2" ON "ENABLE_SDL2;NOT MSVC" OFF)
+ CMAKE_DEPENDENT_OPTION(YUZU_USE_EXTERNAL_SDL2 "Compile external SDL2" ON "ENABLE_SDL2;NOT MSVC" OFF)
endif()
cmake_dependent_option(ENABLE_LIBUSB "Enable the use of LibUSB" ON "NOT ANDROID" OFF)
@@ -332,6 +332,41 @@ if (YUZU_ROOM)
add_definitions(-DYUZU_ROOM)
endif()
+# Build/optimization presets
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ if (ARCHITECTURE_x86_64)
+ set(YUZU_BUILD_PRESET "generic" CACHE STRING "Build preset to use. One of: generic, v3, zen2, zen4, native")
+ if (${YUZU_BUILD_PRESET} STREQUAL "generic")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=x86-64 -mtune=generic")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=x86-64 -mtune=generic")
+ elseif (${YUZU_BUILD_PRESET} STREQUAL "v3")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=x86-64-v3 -mtune=generic")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=x86-64-v3 -mtune=generic")
+ elseif (${YUZU_BUILD_PRESET} STREQUAL "zen2")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=znver2 -mtune=znver2")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=znver2 -mtune=znver2")
+ elseif (${YUZU_BUILD_PRESET} STREQUAL "zen4")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=znver4 -mtune=znver4")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=znver4 -mtune=znver4")
+ elseif (${YUZU_BUILD_PRESET} STREQUAL "native")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -mtune=native")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native -mtune=native")
+ endif()
+ elseif(ARCHITECTURE_arm64)
+ set(YUZU_BUILD_PRESET "generic" CACHE STRING "Build preset to use. One of: generic, armv9")
+ if (${YUZU_BUILD_PRESET} STREQUAL "generic")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a -mtune=generic")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv8-a -mtune=generic")
+ elseif (${YUZU_BUILD_PRESET} STREQUAL "armv9")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv9-a -mtune=generic")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv9-a -mtune=generic")
+ endif()
+ endif()
+endif()
+
+# Other presets, e.g. steamdeck
+set(YUZU_SYSTEM_PROFILE "generic" CACHE STRING "CMake and Externals profile to use. One of: generic, steamdeck")
+
# Configure C++ standard
# ===========================
@@ -420,6 +455,7 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR ANDROID)
endif()
# find SDL2 exports a bunch of variables that are needed, so its easier to do this outside of the YUZU_find_package
+# TODO(crueter): combine this all with CPM.
if (ENABLE_SDL2)
if (YUZU_USE_BUNDLED_SDL2)
# Detect toolchain and platform
@@ -455,6 +491,8 @@ set(FFmpeg_COMPONENTS
avutil
swscale)
+set(CPM_SOURCE_CACHE ${CMAKE_SOURCE_DIR}/.cache/cpm)
+
add_subdirectory(externals)
if (ENABLE_QT)
diff --git a/README.md b/README.md
index 724e567516..8e8c769070 100644
--- a/README.md
+++ b/README.md
@@ -15,8 +15,7 @@
-
Eden is a open-source Nintendo Switch emulator, forked from the Yuzu emulator — started by former Citron developer Camille LaVey and the Eden team.
-
+Eden is an open-source Nintendo Switch emulator, forked from the Yuzu emulator — started by former Citron developer Camille LaVey and the Eden team.
It is written in C++ with portability in mind, and we actively maintain builds for Windows, Linux and Android.
@@ -76,7 +75,7 @@ Any donations received will go towards things such as:
* Additional hardware (e.g. GPUs as needed to improve rendering support, other peripherals to add support for, etc.)
* CI Infrastructure
-If you would prefer to support us in a different way, please join our [Discord](https://discord.gg/edenemu), once public, and talk to Camille or any of our other developers.
+If you would prefer to support us in a different way, please join our [Discord](https://discord.gg/edenemu) and talk to Camille or any of our other developers.
## License
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index e5b35954f7..cd7b80a33c 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -83,7 +83,23 @@ if (YUZU_USE_EXTERNAL_SDL2)
set(SDL_FILE ON)
endif()
- add_subdirectory(SDL)
+ include(CPM)
+ set(CPM_USE_LOCAL_PACKAGES OFF)
+
+ if ("${YUZU_SYSTEM_PROFILE}" STREQUAL "steamdeck")
+ set(SDL_HASH cc016b0046)
+ set(SDL_PIPEWIRE OFF) # build errors out with this on
+ set(SDL_SHA512SUM 34d5ef58da6a4f9efa6689c82f67badcbd741f5a4f562a9c2c30828fa839830fb07681c5dc6a7851520e261c8405a416ac0a2c2513b51984fb3b4fa4dcb3e20b)
+ else()
+ set(SDL_HASH 2e4c12cd2c)
+ set(SDL_SHA512SUM d95af47f469a312876f8ab361074a1e7b8083db19935a102d9c6e5887ace6008e64475a8c54b00164b40cad86492bb1b2366084efdd0b2555e5fea6d9c5da80e)
+ endif()
+
+ CPMAddPackage(
+ NAME SDL2
+ URL "https://github.com/libsdl-org/SDL/archive/${SDL_HASH}.zip"
+ URL_HASH SHA512=${SDL_SHA512SUM}
+ )
endif()
# ENet
diff --git a/externals/SDL b/externals/SDL
deleted file mode 160000
index 2e4c12cd2c..0000000000
--- a/externals/SDL
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 2e4c12cd2cb2c5d0b60ef2196b400339591e733c
diff --git a/externals/Vulkan-Headers b/externals/Vulkan-Headers
index 16cedde356..89268a6d17 160000
--- a/externals/Vulkan-Headers
+++ b/externals/Vulkan-Headers
@@ -1 +1 @@
-Subproject commit 16cedde3564629c43808401ad1eb3ca6ef24709a
+Subproject commit 89268a6d17fc87003b209a1422c17ab288be99a0
diff --git a/externals/Vulkan-Utility-Libraries b/externals/Vulkan-Utility-Libraries
index f216bb107b..df2e358152 160000
--- a/externals/Vulkan-Utility-Libraries
+++ b/externals/Vulkan-Utility-Libraries
@@ -1 +1 @@
-Subproject commit f216bb107bfc6d99a9605572963613e828b10880
+Subproject commit df2e3581520f36776cd42b9fec3ec4a51ab878ef
diff --git a/externals/VulkanMemoryAllocator b/externals/VulkanMemoryAllocator
index 6ec8481c8a..1076b348ab 160000
--- a/externals/VulkanMemoryAllocator
+++ b/externals/VulkanMemoryAllocator
@@ -1 +1 @@
-Subproject commit 6ec8481c8a13db586d7b3ba58f4eb9bbf017edf0
+Subproject commit 1076b348abd17859a116f4b111c43d58a588a086
diff --git a/externals/cubeb b/externals/cubeb
index 832fcf38e6..fa02160712 160000
--- a/externals/cubeb
+++ b/externals/cubeb
@@ -1 +1 @@
-Subproject commit 832fcf38e600bf80b4b728a3e0227403088d992c
+Subproject commit fa021607121360af7c171d881dc5bc8af7bb56eb
diff --git a/externals/dynarmic/externals/CMakeLists.txt b/externals/dynarmic/externals/CMakeLists.txt
index f96497db7a..67fb0f4190 100644
--- a/externals/dynarmic/externals/CMakeLists.txt
+++ b/externals/dynarmic/externals/CMakeLists.txt
@@ -64,12 +64,13 @@ if (NOT TARGET ankerl::unordered_dense)
endif()
# xbyak
+# uncomment if in an independent repo.
-if (NOT TARGET xbyak::xbyak)
- if ("x86_64" IN_LIST ARCHITECTURE)
- add_subdirectory(xbyak)
- endif()
-endif()
+# if (NOT TARGET xbyak::xbyak)
+# if ("x86_64" IN_LIST ARCHITECTURE)
+# add_subdirectory(xbyak)
+# endif()
+# endif()
# zydis
diff --git a/externals/dynarmic/externals/catch b/externals/dynarmic/externals/catch
index 74fcff6e5b..5aa8d11321 160000
--- a/externals/dynarmic/externals/catch
+++ b/externals/dynarmic/externals/catch
@@ -1 +1 @@
-Subproject commit 74fcff6e5b190fb833a231b7f7c1829e3c3ac54d
+Subproject commit 5aa8d113215bd9a97ecc1a2f3fc9506947a2fa57
diff --git a/externals/dynarmic/externals/fmt b/externals/dynarmic/externals/fmt
index 02de29e003..35dcc58263 160000
--- a/externals/dynarmic/externals/fmt
+++ b/externals/dynarmic/externals/fmt
@@ -1 +1 @@
-Subproject commit 02de29e00321787fa515ca60f0f5911e61892dc6
+Subproject commit 35dcc58263d6b55419a5932bd6b0b3029a0a8c00
diff --git a/externals/dynarmic/externals/xbyak b/externals/dynarmic/externals/xbyak
deleted file mode 160000
index 44a72f3692..0000000000
--- a/externals/dynarmic/externals/xbyak
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 44a72f369268f7d552650891b296693e91db86bb
diff --git a/externals/dynarmic/externals/zycore-c b/externals/dynarmic/externals/zycore-c
index 7ad36e5211..75a36c45ae 160000
--- a/externals/dynarmic/externals/zycore-c
+++ b/externals/dynarmic/externals/zycore-c
@@ -1 +1 @@
-Subproject commit 7ad36e52110b39cfb62b47bfdb6def94ac531309
+Subproject commit 75a36c45ae1ad382b0f4e0ede0af84c11ee69928
diff --git a/externals/dynarmic/externals/zydis b/externals/dynarmic/externals/zydis
index 6372690e30..c2d2bab025 160000
--- a/externals/dynarmic/externals/zydis
+++ b/externals/dynarmic/externals/zydis
@@ -1 +1 @@
-Subproject commit 6372690e30389a94db65ece2d8a1f0a2310475ed
+Subproject commit c2d2bab0255e53a7c3e9b615f4eb69449eb942df
diff --git a/externals/dynarmic/src/dynarmic/CMakeLists.txt b/externals/dynarmic/src/dynarmic/CMakeLists.txt
index a43c9eae10..ab2d653152 100644
--- a/externals/dynarmic/src/dynarmic/CMakeLists.txt
+++ b/externals/dynarmic/src/dynarmic/CMakeLists.txt
@@ -5,7 +5,10 @@ add_library(dynarmic
backend/block_range_information.h
backend/exception_handler.h
common/always_false.h
+ common/assert.cpp
+ common/assert.h
common/cast_util.h
+ common/common_types.h
common/crypto/aes.cpp
common/crypto/aes.h
common/crypto/crc32.cpp
diff --git a/externals/dynarmic/src/dynarmic/backend/arm64/a32_interface.cpp b/externals/dynarmic/src/dynarmic/backend/arm64/a32_interface.cpp
index 6b38c41093..a22f296e94 100644
--- a/externals/dynarmic/src/dynarmic/backend/arm64/a32_interface.cpp
+++ b/externals/dynarmic/src/dynarmic/backend/arm64/a32_interface.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
/* This file is part of the dynarmic project.
* Copyright (c) 2021 MerryMage
* SPDX-License-Identifier: 0BSD
@@ -7,9 +10,9 @@
#include
#include
-#include
+#include "dynarmic/common/assert.h"
#include
-#include
+#include "dynarmic/common/common_types.h"
#include "dynarmic/backend/arm64/a32_address_space.h"
#include "dynarmic/backend/arm64/a32_core.h"
diff --git a/externals/dynarmic/src/dynarmic/backend/arm64/a32_jitstate.cpp b/externals/dynarmic/src/dynarmic/backend/arm64/a32_jitstate.cpp
index e24654c7db..67390a311d 100644
--- a/externals/dynarmic/src/dynarmic/backend/arm64/a32_jitstate.cpp
+++ b/externals/dynarmic/src/dynarmic/backend/arm64/a32_jitstate.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
/* This file is part of the dynarmic project.
* Copyright (c) 2016 MerryMage
* SPDX-License-Identifier: 0BSD
@@ -6,7 +9,7 @@
#include "dynarmic/backend/arm64/a32_jitstate.h"
#include
-#include
+#include "dynarmic/common/common_types.h"
namespace Dynarmic::Backend::Arm64 {
diff --git a/externals/dynarmic/src/dynarmic/backend/arm64/a32_jitstate.h b/externals/dynarmic/src/dynarmic/backend/arm64/a32_jitstate.h
index 978bf84ad2..b4fee9a4d0 100644
--- a/externals/dynarmic/src/dynarmic/backend/arm64/a32_jitstate.h
+++ b/externals/dynarmic/src/dynarmic/backend/arm64/a32_jitstate.h
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
/* This file is part of the dynarmic project.
* Copyright (c) 2021 MerryMage
* SPDX-License-Identifier: 0BSD
@@ -7,7 +10,7 @@
#include
-#include
+#include "dynarmic/common/common_types.h"
#include "dynarmic/frontend/A32/a32_location_descriptor.h"
#include "dynarmic/ir/location_descriptor.h"
diff --git a/externals/dynarmic/src/dynarmic/backend/arm64/a64_interface.cpp b/externals/dynarmic/src/dynarmic/backend/arm64/a64_interface.cpp
index 7d7716783a..96170f08a8 100644
--- a/externals/dynarmic/src/dynarmic/backend/arm64/a64_interface.cpp
+++ b/externals/dynarmic/src/dynarmic/backend/arm64/a64_interface.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
/* This file is part of the dynarmic project.
* Copyright (c) 2022 MerryMage
* SPDX-License-Identifier: 0BSD
@@ -7,9 +10,9 @@
#include
#include
-#include
+#include "dynarmic/common/assert.h"
#include
-#include
+#include "dynarmic/common/common_types.h"
#include "dynarmic/backend/arm64/a64_address_space.h"
#include "dynarmic/backend/arm64/a64_core.h"
diff --git a/externals/dynarmic/src/dynarmic/backend/arm64/a64_jitstate.h b/externals/dynarmic/src/dynarmic/backend/arm64/a64_jitstate.h
index 215e6987f3..3dd422b6d4 100644
--- a/externals/dynarmic/src/dynarmic/backend/arm64/a64_jitstate.h
+++ b/externals/dynarmic/src/dynarmic/backend/arm64/a64_jitstate.h
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
/* This file is part of the dynarmic project.
* Copyright (c) 2022 MerryMage
* SPDX-License-Identifier: 0BSD
@@ -7,7 +10,7 @@
#include
-#include
+#include "dynarmic/common/common_types.h"
#include "dynarmic/frontend/A64/a64_location_descriptor.h"
diff --git a/externals/dynarmic/src/dynarmic/backend/arm64/abi.cpp b/externals/dynarmic/src/dynarmic/backend/arm64/abi.cpp
index 6d7b96379b..04d8ca2eaf 100644
--- a/externals/dynarmic/src/dynarmic/backend/arm64/abi.cpp
+++ b/externals/dynarmic/src/dynarmic/backend/arm64/abi.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
/* This file is part of the dynarmic project.
* Copyright (c) 2022 MerryMage
* SPDX-License-Identifier: 0BSD
@@ -8,7 +11,7 @@
#include
#include
-#include
+#include "dynarmic/common/common_types.h"
#include
namespace Dynarmic::Backend::Arm64 {
diff --git a/externals/dynarmic/src/dynarmic/backend/arm64/abi.h b/externals/dynarmic/src/dynarmic/backend/arm64/abi.h
index d3d5de963a..ca7c9187db 100644
--- a/externals/dynarmic/src/dynarmic/backend/arm64/abi.h
+++ b/externals/dynarmic/src/dynarmic/backend/arm64/abi.h
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
/* This file is part of the dynarmic project.
* Copyright (c) 2022 MerryMage
* SPDX-License-Identifier: 0BSD
@@ -10,7 +13,7 @@
#include
#include
-#include
+#include "dynarmic/common/common_types.h"
#include
#include "dynarmic/common/always_false.h"
diff --git a/externals/dynarmic/src/dynarmic/backend/arm64/address_space.h b/externals/dynarmic/src/dynarmic/backend/arm64/address_space.h
index 792ecf696b..25b1ab4b04 100644
--- a/externals/dynarmic/src/dynarmic/backend/arm64/address_space.h
+++ b/externals/dynarmic/src/dynarmic/backend/arm64/address_space.h
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
/* This file is part of the dynarmic project.
* Copyright (c) 2022 MerryMage
* SPDX-License-Identifier: 0BSD
@@ -8,7 +11,7 @@
#include