Skip to content

Add SDL3#221

Merged
carstene1ns merged 5 commits intoEasyRPG:masterfrom
Ghabry:sdl3
Apr 23, 2026
Merged

Add SDL3#221
carstene1ns merged 5 commits intoEasyRPG:masterfrom
Ghabry:sdl3

Conversation

@Ghabry
Copy link
Copy Markdown
Member

@Ghabry Ghabry commented Apr 9, 2026

To not break too much stuff I suggest to do this in multiple steps:

  1. Add SDL3 and keep SDL2 for now. They dont have any file conflicts so this is safe to do
  2. Change the default in the Player to SDL3
  • For now keep emscripten (canvas scale issues) and Android (crashes) on SDL2
  1. When everything is ported remove SDL2 in another PR to buildscripts

@carstene1ns
Copy link
Copy Markdown
Member

We need X11 and/or Wayland packages on Debian and *buntu CI builders:
https://wiki.libsdl.org/SDL3/README-linux#build-dependencies
Or patch it to use -DSDL_UNIX_CONSOLE_BUILD=ON in the yaml.

@Ghabry
Copy link
Copy Markdown
Member Author

Ghabry commented Apr 10, 2026

about the build failure on our system: I can either install the packages or pass -DSDL_X11_XSCRNSAVER=OFF -DSDL_X11_XTEST=OFF

XSCRNSAVER is for e.g. disabling screen locking and XTEST for UI automation. Both arent required.

What do you prefer?

@carstene1ns
Copy link
Copy Markdown
Member

Well, if I interpret the output correctly we do not have sound yet anyway. So additional package for e.g. pulse is needed as well. But I also think both extensions are not strictly needed for the build.

@Ghabry
Copy link
Copy Markdown
Member Author

Ghabry commented Apr 19, 2026

I'm not sure if this -DCMAKE_PREFIX_PATH=/ is a good way to do it but it adds no additional system libraries to the binary:

        linux-vdso.so.1 (0x00007fd187fbc000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fd186400000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007fd187e44000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fd187e17000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007fd18620f000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fd187fbe000)

This also looks solid:

-- Enabled backends:
--   Video drivers: dummy offscreen wayland(dynamic) x11(dynamic)
--   X11 libraries: xcursor xdbe xfixes xinput2 xrandr xshape xsync
--   Render drivers: gpu ogl ogl_es2 vulkan
--   GPU drivers: vulkan
--   Audio drivers: alsa(dynamic) disk dummy pipewire(dynamic) pulseaudio(dynamic)
--   Joystick drivers: hidapi linux virtual
--   Camera drivers: dummy pipewire(dynamic) v4l2

@Ghabry
Copy link
Copy Markdown
Member Author

Ghabry commented Apr 21, 2026

Another option is unsetting the PKG_CONFIG variables. Gives exactly the same backends:

-- Enabled backends:
--   Video drivers: dummy offscreen wayland(dynamic) x11(dynamic)
--   X11 libraries: xcursor xdbe xfixes xinput2 xrandr xshape xsync
--   Render drivers: gpu ogl ogl_es2 vulkan
--   GPU drivers: vulkan
--   Audio drivers: alsa(dynamic) disk dummy pipewire(dynamic) pulseaudio(dynamic)
--   Joystick drivers: hidapi linux virtual
--   Camera drivers: dummy pipewire(dynamic) v4l2

Copy link
Copy Markdown
Member

@carstene1ns carstene1ns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gogogo

@carstene1ns carstene1ns merged commit 3824954 into EasyRPG:master Apr 23, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants