WIP: [common] port to SDL3 #2645
Closed
octocar
wants to merge 16 commits from
octocar/eden:sdl3 into master
pull from: octocar/eden:sdl3
merge into: eden-emu:master
eden-emu:master
eden-emu:xbzk/unreal-unsafe-junk-guards
eden-emu:2ndgpuopts
eden-emu:texture_cache
eden-emu:shader_recompiler
eden-emu:camillelavey-patch-3
eden-emu:fix-grid-autoalign
eden-emu:lizzie/mlp223
eden-emu:work/riscv-eh-impl
eden-emu:bump-httplib-minver
eden-emu:work/httplib-sep-mod
eden-emu:lizzie/ios-port-sud
eden-emu:lizzie/unity-build
eden-emu:lizzie/remove-mlp-2-level
eden-emu:lizzie/lrunsdfkdsjfl
eden-emu:lizzie/mark-bl-dynarmic
eden-emu:lizzie/jit-addresschecks
eden-emu:lizzie/nce-invalidate-split
eden-emu:mmap-fixews
eden-emu:lizzie/readonly-listicons
eden-emu:lizzie/update-faq-link-wwa
eden-emu:xbzk/flicker-fix
eden-emu:xbzk/dma-step-ondemand-flush
eden-emu:ffmpeg-cross-compile
eden-emu:lizzie/stupid-socket-bullshit
eden-emu:lizzie/nuke-vtable-shit
eden-emu:lizzie/ulaunch-attempt1
eden-emu:lizzie/sm-AtmosphereHasService
eden-emu:lizzie/ltofix123
eden-emu:lizzie/macos-vk-metal-fix-stype
eden-emu:lizzie/sgsr
eden-emu:lizzie/inline-123
eden-emu:lizzie/bsdsockets-mod-fix
eden-emu:lizzie/dynarmic-next-2026-03-26
eden-emu:dynarmic-ppc64
eden-emu:lizzie/anv-cached-mesa-hack
eden-emu:lizize/fixcrashwehenimagesizeexceed
eden-emu:lizzie/product-model-wawa
eden-emu:lizzie/multicore-macos-fix1
eden-emu:lizzie/xcode-evil-shit-123
eden-emu:lizzie/draw-state-inline
eden-emu:lizzie/noexcept-dynarmic
eden-emu:memory_changes
eden-emu:lizzie/hleinlineremoveredundant
eden-emu:lizzie/wstring-uni-123
eden-emu:lizzie/stable-shader-pools
eden-emu:feat/22.0.0
eden-emu:lizzie/attempt2-better-list-dynarmic
eden-emu:lizzie/lanczos-opt
eden-emu:lizzie/dynarmic-faster-xbyak
eden-emu:xbzk/vsync-immed-fallback-fix
eden-emu:eden-orbis-ps4
eden-emu:Compatlist
eden-emu:lizzie/macos-network-ifaces
eden-emu:xbzk/input-delay-fix
eden-emu:lizzie/unaligned-attempt-2
eden-emu:vkexperiments1
eden-emu:lizzie/fix-nvmap-handles
eden-emu:lizzie/fix-nvmap-handles-but-evil
eden-emu:dmnt2
eden-emu:eds_changes_phasewise
eden-emu:eds_changes1
eden-emu:lizzie/inline-cmif-request
eden-emu:lizzie/fs-msvc-succks
eden-emu:xbzk/press-back-again-issue-fix
eden-emu:xbzk/background-support
eden-emu:vkfixes1
eden-emu:lizzie/vkexperiments1-highp-fucked
eden-emu:lizzie/edit-handheld-mode
eden-emu:techno48473719
eden-emu:lizzie/invert-gyro
eden-emu:lizzie/restore-fcsm
eden-emu:lines
eden-emu:msvc
eden-emu:kosmickrisp
eden-emu:xbzk/settings-fragment-rework
eden-emu:kosmic_krisp
eden-emu:xbzk-dma-pusher-step-redesign
eden-emu:lizzie/batched-draws-wip
eden-emu:feat/new_lang
eden-emu:vuid02999
eden-emu:vuid04553
eden-emu:lizzie/xbyak-unor-mapfix-with-boost
eden-emu:revert-xbyak
eden-emu:vuid00336_1
eden-emu:lizzie/splay
eden-emu:lizzie/spscs-mpscs-queue
eden-emu:lizzie/settings-blocked-domains
eden-emu:00336
eden-emu:dravee/remove-async
eden-emu:astc_optimizations
eden-emu:bcn-ternary-soft
eden-emu:pipelinederivative
eden-emu:civa
eden-emu:vk-fix-oom-force-maller-buffers
eden-emu:lizzie/macos-fix
eden-emu:camillelavey-patch-1
eden-emu:xbzk/vulkan-vuid-goodies-pack
eden-emu:release-early-fences
eden-emu:gpuopts
eden-emu:lizzie/nce-port1123
eden-emu:lizzie/fix-rw-garten
eden-emu:vk-symph
eden-emu:feat/android_kotlin_compose
eden-emu:descriptor_pool_opt
eden-emu:lizzie/evil-f32-u32-format-fix
eden-emu:liz-dynarmic-macos-fbsd-port
eden-emu:uma
eden-emu:feat/game_override
eden-emu:revert-noinline
eden-emu:liz-get-rid-of-mcl-intrusive-list
eden-emu:querybugfix
eden-emu:qcomopts2
eden-emu:workgroup
eden-emu:lizzie/correcter-convert-abgr8-srgb-d24s8
eden-emu:lizzie/vids-ratatata
eden-emu:lizzie/maxwell-dumb-tools
eden-emu:lizzie/astc-mp4-improv
eden-emu:astc_optimization1
eden-emu:lizzie/gutter-sw-blitter
eden-emu:release/0.1.0
eden-emu:lizzie/qt-fix-user-dialogue
eden-emu:lizzie/fix-my-fuckup-with-vic
eden-emu:vulkanasync
eden-emu:lizzie/fix-dragonslayer-armnce
eden-emu:lizzie/try-fix-win11-crash-fuck
eden-emu:lizzie/adreno5-mali-driver-fix
eden-emu:vulkan-thingy
eden-emu:descriptor
eden-emu:cyber/async-gpu-android
eden-emu:lizzie/inline-dynarmic-spooky
eden-emu:lizzie/audio-remove-recursive-lock
eden-emu:lizzie/rasterizer-recursive-mutex-not
eden-emu:lizzie/texture-pass-revert-1
eden-emu:fix/socket
eden-emu:revertrevert
eden-emu:xbzk/bindless-textures-support
eden-emu:spvopts
eden-emu:sgsrtry
eden-emu:lock-term-1
eden-emu:lizzie/fix-vic-msvc-attempt-2
eden-emu:fs-try
eden-emu:eds-true-adreno-fixes
eden-emu:true-eds
eden-emu:Update-some-barriers-test
eden-emu:macroify-surface-stuffs
eden-emu:test2
eden-emu:eds-true-adreno-fixes-pre-0.1.0
eden-emu:true-eds-pre-0.0.1
eden-emu:woa-turnip-expr
eden-emu:release/0.0.4
eden-emu:interval-zero
eden-emu:sjkdbsdfjkbsdf-2834
eden-emu:mutliplayer-filter-better1
eden-emu:lanobu
eden-emu:true-eds-graphics
eden-emu:xbzk-saf-recursive-write-with-permission-request
eden-emu:refactoreds2
eden-emu:showcase2
eden-emu:showcase
eden-emu:test-revert-gpu-optim
eden-emu:flatopsfixes23485
eden-emu:discfix
eden-emu:fix/discord-rpc
eden-emu:liz-crash-dumps-solaris
eden-emu:sured-revert
eden-emu:atomicops-mxwell
eden-emu:revert-2695
eden-emu:descriptor_set
eden-emu:n64
eden-emu:release/0.0.3
eden-emu:Kernel
eden-emu:nce_cpp
No reviewers
Labels
Clear labels
Specific to android platform
Something is not working
For changes to the ci/building
Used when testers confirm a bug is reported and it is reproducable.
For core changes to the emulator
Specific to desktop PCs, handhelds, etc.
This issue or pull request already exists
New feature
Frontend changes
Changes related to firmware
For enhancements or changes regarding git.
For changes to any of the loader implementations
For use with changes that involve the emulator GPU and any services.
Used on anything Vulkan-related
android
Specific to android platform
audio
bug
Something is not working
ci
For changes to the ci/building
cmake
confirmed
Used when testers confirm a bug is reported and it is reproducable.
core
For core changes to the emulator
desktop
Specific to desktop PCs, handhelds, etc.
duplicate
This issue or pull request already exists
enhancement
New feature
frontend
Frontend changes
fw
Changes related to firmware
git
For enhancements or changes regarding git.
graphics
loader
For changes to any of the loader implementations
nv gpu
For use with changes that involve the emulator GPU and any services.
ui
vulkan
Used on anything Vulkan-related
No labels
android
audio
bug
ci
cmake
confirmed
core
desktop
duplicate
enhancement
frontend
fw
git
graphics
loader
nv gpu
ui
vulkan
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
eden-emu/eden!2645
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "octocar/eden:sdl3"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
[common] port to SDL3to WIP: [common] port to SDL3dce3d96aaa726fe8cf09@ -635,16 +635,16 @@ if (ENABLE_SDL2)if ("${YUZU_SYSTEM_PROFILE}" STREQUAL "steamdeck")this is now unneeded
@ -645,3 +645,3 @@endif()find_package(SDL2 2.26.4 REQUIRED)find_package(SDL3 3.2.22 REQUIRED)DO NOT always require the newest, we should use 3.2.12 which is the earliest found in any current distro except Ubuntu (which lacks sdl3 entirely)
@ -184,0 +180,4 @@"repo": "libsdl-org/SDL3","version": "3.2.22","min_version": "3.2.0","cmake_filename": "sdl3"This is a special CI repo and should be left as it previously was, I will create an SDL3 CI
@ -33,3 +33,3 @@* [FFmpeg](https://ffmpeg.org/) (should use `-DYUZU_USE_EXTERNAL_FFMPEG=ON`)* [SDL2](https://www.libsdl.org/download-2.0.php) 2.0.18+ (should use `-DYUZU_USE_EXTERNAL_SDL2=ON` OR `-DYUZU_USE_BUNDLED_SDL2=ON` to reduce compile time)* [SDL3](https://github.com/libsdl-org/SDL/releases) 2.0.18+ (should use `-DYUZU_USE_EXTERNAL_SDL3=ON` OR `-DYUZU_USE_BUNDLED_SDL3=ON` to reduce compile time)change to 3.2.12+
@ -203,3 +203,3 @@* Open the `MSYS2 MinGW 64-bit` shell (`mingw64.exe`)* Download and install all dependencies using:* `pacman -Syu git make mingw-w64-x86_64-SDL2 mingw-w64-x86_64-cmake mingw-w64-x86_64-python-pip mingw-w64-x86_64-qt6 mingw-w64-x86_64-toolchain autoconf libtool automake-wrapper`* `pacman -Syu git make mingw-w64-x86_64-SDL3 mingw-w64-x86_64-cmake mingw-w64-x86_64-python-pip mingw-w64-x86_64-qt6 mingw-w64-x86_64-toolchain autoconf libtool automake-wrapper`sdl is now lower case here
@ -251,3 +250,4 @@if (ENABLE_SDL3)target_sources(audio_core PRIVATEsink/sdl2_sink.cppsink/sdl2_sink.hUpdate filenames to sdl3
@ -8,3 +9,3 @@#include <vector>#include <SDL.h>#include <SDL3/SDL.h>This shouldn't be necessary
@ -9,3 +9,3 @@#include "common/settings.h"#include "common/thread.h"#include "common/vector_math.h"// #include "common/vector_math.h" // Not used directlyIf it's not used you can remove it, no need for comment
Also, we should update docs to mention that Ubuntu needs to use bundled or external sdl3
@ -0,0 +8,4 @@#include <span>#include <vector>#include <SDL3/SDL.h>Linking to SDL3::SDL3 should set the include directories to include the
/path/to/include/SDL3so SDL.h should still work.SDL.h does not seem to work for me on external dependency
af6c90e3ff4c5aaf7f13WIP: [common] port to SDL3to [common] port to SDL3tested:
cpmfile.json may need changes
Build CI failed, check #2645
@DraVee wrote in #2645 (comment):
yeah we just need a bundled sdl3
[common] port to SDL3to WIP: [common] port to SDL302bd53f0e66c0f4a3472Confirmed that SDL3 works with Gyro + Gamepad and Keyboard + Mouse on system, external, and bundled SDL3 on Linux. Need windows testing
https://cdn.discordapp.com/attachments/1425279065430167644/1425282292317946017/20251008-0041-07.0469107.mp4?ex=68e70512&is=68e5b392&hm=d6b0709c2db8a5f2878bec4553d344fcdf088a776d35859ad40f71c15086fbba&
On Windows, gyro is only working vertically
558922b36987f38902f3idea: only use sdl3 on Linux/macOS
@ -65,3 +60,3 @@}bool UpdateMotion(SDL_ControllerSensorEvent event) {bool UpdateMotion(SDL_GamepadSensorEvent event) {We could try fixing the windows issue by changing the axis remapping here?
Go for it. I don't know anything about SDL except SDL1 so I've got nothing
I don't own a Win machine
87f38902f30a29a81b80Need to be rebased and checked again
This has too many merge conflicts and doesn't work properly. You or anyone else interested should just open up a new PR from scratch and clean up the history a bit.
Pull request closed