kivy / kivy

Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS
https://kivy.org
MIT License
17k stars 3.04k forks source link

Migrate `SDL2` to `SDL3` #8665

Open misl6 opened 1 month ago

misl6 commented 1 month ago

SDL3 reached the first pre-release last week, and since it will certainly reach the production status before Kivy 3.0.0 reaches it, makes sense to start the migration process.

A few things need to be re-organized, but SDL3 is a step forward.

brentpicasso commented 1 month ago

Hi! @DexerBR just told me that SDL3 will have support for cameras, with the ability to capture video to a SDL texture!

https://youtu.be/MKM6-03iOPs?si=OZ0VLxVCoEHcpMQU

What are your thoughts on including that in Kivy?

misl6 commented 1 month ago

What are your thoughts on including that in Kivy?

Is great that the SDL team is adding such a feature in SDL3, and that can certainly be one of our core providers for cameras (and feel free to propose changes).

But, from my perspective, in the past, we relied too much on features from SDL (like textinput), and that made it harder (or impossible, without touching SDL code) for us to fix long-standing bugs.

My goal, for the future, is to move the focus on platform-specific (and native) core providers, as that gives us more chances to quickly assess bugs and access new features. (this also means directly rendering to OpenGL/Metal texture to improve the performance, as my WIP POC for the AVFoundation core provider )

So, to summarize: If anyone wants to introduce the sdl camera provider, I will be happy to merge it, but I think we should look for alternatives (and improve the current ones)

PS: If you think something is missing on the current implementations (or we can do something better), feel free to open an issue, so we can triage it and schedule for 3.0.0

JLucasXavier commented 3 weeks ago

Hello! I hope you are well. I've been following this repository for a while now and I find it quite impressive. I'm genuinely interested in contributing more to this, as it represents a great opportunity for me to contribute to an open source project for the first time.

I would like to know if there is any way I can contribute to this refactoring of this migration from SDL2 to SDL3 that is being done?

Thank you for your time and I hope to hear from you soon!