summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
9 daysHSP_DeviceGBPlayer: Resolve shadowed variable warningJoshua Vandaële
9 daysAboutDialog: Report the SDL version being usedJoshua Vandaële
9 daysCMake: Enforce minimum toolset versionsJoshua Vandaële
9 daysCMake: Update compiler version checkingJoshua Vandaële
We now only show the minimum version of the compiler being used to build Dolphin instead of all supported compilers.
9 daysMerge pull request #14475 from JoshuaVandaele/cmake-replaces-vsOatmealDome
CMake: Replace the Visual Studio project
9 daysExternals/SDL: Update to release-3.4.12Joshua Vandaële
We are updating from 3.4.8 Changes relevant to us include: 3.4.10: - Added controller sensor support for GameInput v3 - Fixed Ipega controllers being ignored in keyboard mode - Added support for GameCube rumble when the adapter is in PC mode and has the latest firmware - Fixed rumble on the new Steam Controller - Added support for the GameSir Super Nova in Xbox 360 mode - Added support for the PDP Afterglow Wave Wireless Controller for Switch 3.4.12: - Added hotplug detection support when using libusb for HIDAPI controllers - Fixed flipped Xbox 360 controller axes on macOS It's not in the changelogs, but 3.4.10 is the revision which allowed for my Steam Controller's gyro to properly work in Dolphin
9 dayswindeployqt: Disable uneeded DLLsJoshua Vandaële
Since our bump to Qt, dxcompiler.dll and dxil.dll have been added alongside other Qt dlls as part of QtGui. Those DLLs are not needed since we use QtWidgets and not QML.
10 daysCMake: Introduce Presets, replacing SettingsJoshua Vandaële
This introduces a CMakePresets file for both Unix-likes and Windows that replace the old CMakeSettings. It adds presets for **Debug** and **Release** profiles for both **x64** and **ARM64** architectures, as well as **Generic builds**. Presets can be used using[ Visual Studio's built-in CMakePresets support](https://learn.microsoft.com/en-us/cpp/build/cmake-presets-vs?view=msvc-170), or [Visual Studio Code's CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) extension. They can also be used from the command line, like so: - x64/Unix-like/Ninja: - Configure: `cmake --preset ninja-release-x64` - Build: `cmake --build --preset ninja-build-release-x64` - Configure + Build: `cmake --workflow --preset ninja-release-x64` - ARM64/Windows/Visual Studio: - Configure: `cmake --preset visualstudio-release-arm64` - Build: `cmake --build --preset visualstudio-build-release-arm64` - Configure + Build: `cmake --workflow --preset visualstudio-release-arm64` The Ninja generator is available to both Windows and Unix-likes, while the Visual Studio Generator is only available on Windows. **Cross-compiling** On **Windows**, the Visual Studio generator automatically takes care of everything, you just need to select an ARM64 preset. On **Unix-likes**, to cross-compile you need to install a cross-compiler and (optionally) a sysroot of the target system. Here is an example to compile from x64 to ARM64 with a sysroot: - `cmake --preset ninja-release-arm64 -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_SYSROOT=/opt/sysroots/aarch64-linux-gnu` - `cmake --build --preset ninja-build-release-arm64` You will need a sysroot to link against Qt, since we do not vendor it in on platforms other than Windows. **User presets** A `CMakeUserPresets.json` file may be created locally at the root of the project to further customize your presets. For example, here are the user presets I used to test this PR on Arch Linux with a generic Arch Linux ARM sysroot: ```json { "version": 10, "configurePresets": [ { "name": "gcc-debug-arm64", "inherits": "ninja-debug-arm64", "cacheVariables": { "CMAKE_C_COMPILER": "aarch64-linux-gnu-gcc", "CMAKE_CXX_COMPILER": "aarch64-linux-gnu-g++", "CMAKE_EXE_LINKER_FLAGS": "-L/opt/sysroots/ArchLinuxARM/lib", "CMAKE_SYSROOT": "/opt/sysroots/ArchLinuxARM" } }, { "name": "clang-debug-arm64", "inherits": "ninja-debug-arm64", "cacheVariables": { "CMAKE_C_COMPILER": "clang", "CMAKE_CXX_COMPILER": "clang++", "CMAKE_C_FLAGS": "-target aarch64-linux-gnu", "CMAKE_CXX_FLAGS": "-target aarch64-linux-gnu", "CMAKE_SYSROOT": "/opt/sysroots/ArchLinuxARM" } }, { "name": "clang-debug-x64", "inherits": "ninja-debug-x64", "cacheVariables": { "CMAKE_C_COMPILER": "clang", "CMAKE_CXX_COMPILER": "clang++" } } ], "buildPresets": [ { "name": "gcc-build-debug-arm64", "configurePreset": "gcc-debug-arm64" }, { "name": "clang-build-debug-arm64", "configurePreset": "clang-debug-arm64" }, { "name": "clang-build-debug-x64", "configurePreset": "clang-debug-x64" } ], "workflowPresets": [ { "name": "gcc-debug-arm64", "steps": [ { "type": "configure", "name": "gcc-debug-arm64" }, { "type": "build", "name": "gcc-build-debug-arm64" } ] }, { "name": "clang-debug-arm64", "steps": [ { "type": "configure", "name": "clang-debug-arm64" }, { "type": "build", "name": "clang-build-debug-arm64" } ] }, { "name": "clang-debug-x64", "steps": [ { "type": "configure", "name": "clang-debug-x64" }, { "type": "build", "name": "clang-build-debug-x64" } ] } ] } ``` They are then used like so: Configure + Build with GCC: `cmake --workflow --preset gcc-debug-arm64` Configure + Build with Clang: `cmake --workflow --preset clang-debug-arm64` Configure + Build with Clang (x64): `cmake --workflow --preset clang-debug-x64` *Addendum: It should also now be possible to cross-compile from Windows to Unix-likes, and Unix-like to other Unix-like (e.g. Linux -> FreeBSD), however this is untested.*
10 daysCMake: Set VS startup project to dolphin-emuJoshua Vandaële
10 daysCMake: Disable install targets on WindowsJoshua Vandaële
10 daysCMake: Error out if trying to build generic builds on WindowsJoshua Vandaële
Generic builds have never been supported on Windows.
10 daysCMake: Bump minimum requirement to 3.25Joshua Vandaële
10 daysCMake: Unify output directoryJoshua Vandaële
10 daysCMake: Remove LINUX_LOCAL_DEV and symlink required filesJoshua Vandaële
10 daysCMake: Unify sys directoriesJoshua Vandaële
10 daysCMake: Unify translation directoriesJoshua Vandaële
10 daysCMake: PDBs outside of BinariesJoshua Vandaële
10 daysRemove Visual Studio Projects and Solutions in favor of CMakeJoshua Vandaële
10 daysFlatpak: Use vendored-in SDLJoshua Vandaële
10 daysMerge pull request #14737 from matellush/flatpak-runtimeOatmealDome
Flatpak: Update runtime to `6.11`
10 daysFlatpak: Update runtime to `6.11`matellush
11 daysMerge pull request #14748 from OatmealDome/mac-ccacheOatmealDome
BuildMacOSUniversalBinary: Add flag to enable CCache
11 daysMerge pull request #14749 from tygyh/Replace-conditions-with-regexScott Mansell
UICommon: Replace `find != std::npos` with `contains`
11 daysBuildMacOSUniversalBinary: Add flag to enable CCacheOatmealDome
12 daysHW/DSPHLE/AXVoice: Prefer BitCastPtr over BitCastToArray in ApplyUpdatesForMs()Admiral H. Curtiss
12 daysUICommon: Replace `find != std::npos` with `contains`Dr. Dystopia
12 daysHW/DSPHLE/AXVoice: Check array bounds in ApplyUpdatesForMs()Admiral H. Curtiss
Fixes https://github.com/dolphin-emu/dolphin/security/advisories/GHSA-4q28-hhjv-hf3f
12 daysMerge pull request #14436 from cbartondock/masterScott Mansell
Loading custom textures using combination of elf/dol game ids and iso game ids.
13 daysMerge pull request #14744 from acts-1631/security/elf-reader-boundsScott Mansell
Core/Boot: validate standalone ELF input ranges
13 daysMerge pull request #14743 from AdmiralCurtiss/sockaddr-initJordan Woyak
IOS/NetIPTopDevice: Zero-initialize sockaddr structs
13 daysCore: log invalid ELF inputActs1631
Log each rejected ELF header, range, and symbol reference. This provides actionable diagnostics for malformed files without changing the validation behavior.
13 daysCore: validate standalone ELF input rangesActs1631
ElfReader trusted table offsets and counts from standalone ELF files. Malformed input could make it read and write past the loaded file buffer. Validate the ELF header, table ranges, segment data, section data, and string-table references before accessing them. Invalid files use the existing executable boot failure path.
13 daysIOS/NetIPTopDevice: Zero-initialize sockaddr structsAdmiral H. Curtiss
Fixes https://github.com/dolphin-emu/dolphin/security/advisories/GHSA-5fqv-9qrg-gm4j
13 daysMerge pull request #14740 from acts-1631/security/netplay-lzo-boundsAdmiral H. Curtiss
NetPlay: bound LZO decompression output
14 daysNetPlay: bound LZO decompression outputActs1631
NetPlay save synchronization decoded remote LZO blocks with the unsafe decoder and no output capacity. A malicious host could overflow a client buffer with a block larger than its declared size. Use the bounds-checking decoder, validate the declared output length, and grow buffer results only after each checked block has been decoded.
14 daysMerge pull request #14739 from JoshuaVandaele/mod-convertScott Mansell
GameFile: Disallow mods from being converted
2026-07-19GameFile: Disallow mods from being convertedJoshua Vandaële
2026-07-18Merge pull request #14673 from tommywaaf/android-dolphinbar-balance-boardJosJuice
Android: Route DolphinBar Balance Board to the Balance Board slot
2026-07-16Merge pull request #14726 from JosJuice/gcadapter-deregister-on-thread-endScott Mansell
GCAdapter: Deregister callback when scan thread exits
2026-07-15Merge pull request #14732 from khang06/small-tmd-checkAdmiral H. Curtiss
IOS/ES: Prevent reading TMDs that are too small
2026-07-15waterfall loading of textures via id to prefer elfid-gameid when launched ↵cbartondock
via elf; fallback to gameid if no match
2026-07-15IOS/ES: Prevent reading TMDs that are too smallKhang
2026-07-15Merge pull request #14263 from JoshuaVandaele/ccache-toggleScott Mansell
CCache: Set as opt-in by default
2026-07-15Merge pull request #14222 from Sintendo/ppcsymboldb-lookupScott Mansell
PPCSymbolDB: Avoid double lookups
2026-07-15Merge pull request #14651 from DacoTaco/fixes/dolalignmentScott Mansell
fixes: make dolreader validate section addresses and sizes
2026-07-15Merge pull request #14675 from JosJuice/game-ini-gbihf-texcacheScott Mansell
GameSettings: Remove SafeTextureCacheColorSamples from gbihf
2026-07-15Merge pull request #14703 from JoshuaVandaele/miniupnpc-arm64-crossScott Mansell
Externals/miniupnpc: Disable warnings
2026-07-15Merge pull request #14722 from idkwhere1sthisname/masterScott Mansell
IOS/ES: allow Wii System Transfer and WagonCompat Transfer Tool to pass SetUID check
2026-07-14Merge pull request #14705 from JosJuice/directoryblob-dtk-commentDentomologist
DiscIO: Add DTK alignment comment in DirectoryBlob
2026-07-14Merge pull request #14730 from JoshuaVandaele/contributing-cxx-standardDentomologist
Contributing.md: Update C++20 mentions to C++23