[GSOC] Add SDL2 library + additional SDL libraries #92

Open
arnavbhatt288 wants to merge 5 commits from arnavbhatt288/kolibrios:sdl2-kolibri into main
Member

Project overview

This project, undertaken as part of Google Summer of Code 2024, sets out to port SDL2 library for KolibriOS, a free cross-platform multimedia library that implements an interface to graphics, sound and input devices. Considering previous version of the library, SDL 1.2, which was earlier ported for KolibriOS, is no longer maintained, therefore it became a necessity to port the most up-to-date and supported version (i.e. SDL2. Having support for SDL2 (along with its additional libraries) on KolibriOS will not only allow developers to develop new applications using the updated functionality of the library, but also to port a huge number of existing open source programs (mostly emulators and games) from other platforms, because SDL2 is often used to implement frontend/graphics in such applications. This will also allow us to completely deprecate the current SDL1.2 library as we can use a compatibility layer for applications relying on SDL1.x.

In order to see how the progress of this project went, visit this topic of our board.

What was done

  1. Ported SDL2 library (version 2.30.6).
  2. Ported required additional libraries for more compatibility (SDL_image (2.8.2), SDL_mixer (2.8.0) and SDL_ttf (2.22.0)).

What's left to do

  1. Port sdl12-compat in order to deprecate our old SDL library completely.
  2. Add autobuild scripts for the libraries.
  3. Fix potential bugs within audio subsystem.
  4. Port more applications written with SDL2.

Acknowledgement

As always, I want to thank all mentors, developers, and testers who helped with this project, especially @Doczom, @dunkaist, @Burer and @Sweetbread for answering queries on time as well as helping me with problems that I faced.

## Project overview This project, undertaken as part of Google Summer of Code 2024, sets out to port SDL2 library for KolibriOS, a free cross-platform multimedia library that implements an interface to graphics, sound and input devices. Considering previous version of the library, SDL 1.2, which was earlier ported for KolibriOS, is no longer maintained, therefore it became a necessity to port the most up-to-date and supported version (i.e. SDL2. Having support for SDL2 (along with its additional libraries) on KolibriOS will not only allow developers to develop new applications using the updated functionality of the library, but also to port a huge number of existing open source programs (mostly emulators and games) from other platforms, because SDL2 is often used to implement frontend/graphics in such applications. This will also allow us to completely deprecate the current SDL1.2 library as we can use a compatibility layer for applications relying on SDL1.x. In order to see how the progress of this project went, visit [this topic](https://board.kolibrios.org/viewtopic.php?p=80366) of our board. ## What was done 1. Ported SDL2 library (version 2.30.6). 2. Ported required additional libraries for more compatibility (SDL_image (2.8.2), SDL_mixer (2.8.0) and SDL_ttf (2.22.0)). ## What's left to do 1. Port sdl12-compat in order to deprecate our old SDL library completely. 2. Add autobuild scripts for the libraries. 3. Fix potential bugs within audio subsystem. 4. Port more applications written with SDL2. ## Acknowledgement As always, I want to thank all mentors, developers, and testers who helped with this project, especially @Doczom, @dunkaist, @Burer and @Sweetbread for answering queries on time as well as helping me with problems that I faced.
arnavbhatt288 added 4 commits 2024-08-25 14:31:01 +02:00
arnavbhatt288 changed title from Add SDL2 libraries + additional libraries to [GSOC] Add SDL2 libraries + additional libraries 2024-08-25 14:33:30 +02:00
arnavbhatt288 added 1 commit 2024-08-25 14:45:52 +02:00
arnavbhatt288 changed title from [GSOC] Add SDL2 libraries + additional libraries to [GSOC] Add SDL2 library + additional SDL libraries 2024-08-25 14:55:41 +02:00
Owner

LGTM, thank you!

LGTM, thank you!
Owner

@arnavbhatt288 hello! It seems like you've really done a great job, but from my point of view you should first have a series of commits or one that loads the original source code and then your edits, otherwise in the future it will be very difficult to distinguish where your problem is and where the problem is with the original library.

@arnavbhatt288 hello! It seems like you've really done a great job, but from my point of view you should first have a series of commits or one that loads the original source code and then your edits, otherwise in the future it will be very difficult to distinguish where your problem is and where the problem is with the original library.
Author
Member

@arnavbhatt288 hello! It seems like you've really done a great job, but from my point of view you should first have a series of commits or one that loads the original source code and then your edits, otherwise in the future it will be very difficult to distinguish where your problem is and where the problem is with the original library.

Yeah, I already have a repository which I initially made, where there is commit history. It was a mistake to squash them before I made this PR.

> @arnavbhatt288 hello! It seems like you've really done a great job, but from my point of view you should first have a series of commits or one that loads the original source code and then your edits, otherwise in the future it will be very difficult to distinguish where your problem is and where the problem is with the original library. Yeah, I already have a [repository](https://github.com/arnavbhatt288/sdl2-kolibri/commits/master/) which I initially made, where there is commit history. It was a mistake to squash them before I made this PR.
This pull request can be merged automatically.
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u sdl2-kolibri:arnavbhatt288-sdl2-kolibri
git checkout arnavbhatt288-sdl2-kolibri
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
3 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: KolibriOS/kolibrios#92
No description provided.