Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Use pygame-ce to test SDL2-compat #3287

Open
Starbuck5 opened this issue Jan 10, 2025 · 2 comments
Open

Use pygame-ce to test SDL2-compat #3287

Starbuck5 opened this issue Jan 10, 2025 · 2 comments
Labels

Comments

@Starbuck5
Copy link
Member

One of the SDL folks mentioned they could use some additional testing on SDL2-compat as SDL3 gets closer to release, I think one really comprehensive way to do that would be to try to get pygame-ce running on SDL2-compat (SDL3).

Opening an issue to see if anyone is interested in tackling this.

@Starbuck5
Copy link
Member Author

To do this (Windows) I cloned down https://github.com/libsdl-org/sdl2-compat, built as instructed + -DCMAKE_PREFIX_PATH=C:\Users\charl\Desktop\pygame-ce-stuff\sdl2-compat\SDL3-devel-3.1.10-VC\SDL3-3.1.10

Put the SDL3 prerelease into the files.

Then I got an SDL2 DLL out of it, which I manually placed into the site-packages/pygame folder after building pygame-ce.

If others want to test here are the two executables to put into the folder: SDL3_compat_lib_bundle.zip

@Starbuck5
Copy link
Member Author

Starbuck5 commented Jan 19, 2025

pygame-ce is probably like worst case scenario for this library, but that's why it's a good test.

I segfaulted several times between running the tests and running selected examples, haven't done any debugging on why.

transform.scale doesn't work because SDL_SoftStretch (RIP) worked while the surface was locked and SDL_BlitScaled doesn't.

I managed to trigger assertions about surface width/height, as well as about event watchers. I feel like I get the warnings once and then I don't get them again, so it's hard to say which examples triggered them?

In python -m pygame.examples.video neither of the two windows can be exited by clicking the x button. (Probably related to whatever it didn't like about the event watch?)

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant