[Scummvm-devel] The new Buildbot: what’s happening, what needs to happen
Tarek Soliman
tsoliman at scummvm.org
Sat Jan 6 05:59:42 CET 2018
On Fri, Jan 05, 2018 at 08:59:33PM -0600, Colin Snover wrote:
> The Android port has no clear maintainer at the moment. I’d ended up
> cobbling together a build for 2.0 since this is our third most popular
> platform and there wasn’t one made at release time. Over the holidays
> tsoliman was looking into how to fix this situation so that the Android
> port is more well-maintained and gives a better user experience, and
> then a few days ago lubomyr (whom I do not know, and have not spoken
> with, but who has sent some things in the past) opened a pull request
> for updating the Android-SDL port. I have failed to follow up on that PR
> from lubomyr since I’m still working out what to say and have been
> focusing on some other things which are taking up a lot of my time. I
> hope to be able to follow up soon. tsoliman may be able to provide more
> information.
Let me preface this by saying I am neither an expert nor have I done any proper
android development.
It seems there are currently 2 ports: "android" and "androidsdl".
"android" is the one being built by the current (and future) buildbots.
That sort of makes it the more official of the two. It is also the older one.
It uses Java for entry points and glue code (similar to how the iOS port
uses objective-C). It seems to be doing a lot of things manually that I would
rather not do. It also forces me to deal with JNI directly, which is something
I'd rather avoid as it is sort of a minefield to me. Better to use a tried
and true framework, and follow that framework's guidelines.
I managed to find out _how_ it forces the lowres theme on my 720p phone but not
_why_ (The code seems to be deliberately doing some weird stuff)
It also has no AR correction or even proper viewport scaling, as it doesn't use
any of the common graphics manager code. This might be a side effect of its age
and not a deliberate choice.
"androidsdl" uses an unofficial fork of SDL1 (note: SDL2 now has official
support for Android). This port doesn't have any Java in-tree as it delegates
all of that to SDL. This is a good thing IMHO.
A custom SDL1 fork that may or may not be better than SDL2. I'm currently
partial to the official SDL2.
"androidsdl" is in much better shape than "android" code-wise but it is missing
a toolchain image and a configure/make approach to building, instead relying on
a shell script to build.
My current (tentative) plan is to make a single port to replace both of these,
based on official SDL2. It would borrow heavily from "androidsdl", but cut all
unnessary code and fix any issues with graphics on my 720p phone.
I would like to have a single port, with a docker buildbot/toolchain image,
that produces android packages for all android cpu architectures.
That way it lowers the barrier to entry for others to create and test patches.
I am open to help/suggestions/advice.
--
Thanks,
Tarek
More information about the Scummvm-devel
mailing list