"Porting" a LibGDX project to work with SwitchGDX would ideally entail simply adding the corresponding Gradle subproject, but in practice often requires some amount of work to remove/adapt code snippets using unsupported runtime features or updating/upstreaming the runtime library with the needed features. This usually takes the form of taking missing features from OpenJDK sources and replacing internal API usages with simplified versions. These ports of open source LibGDX games are primarily for testing and finding missing runtime features to support.
The SwitchGDX backend had to be completely ported to Mindustry's LibGDX fork,
Arc. Controller support
was partially implemented, but a touch screen/mouse is still completely required.
Required commenting out openUri workaround, file path fixes, removing logging Printer usage, UI tweaks,
switch from Gson to LibGDX JSON serialization, un-thread audio, replace Scanner usage, and disable a
broken localization language.
Required commenting out bits using GregorianCalendar and adding a small Shattered Pixel specific platform implementation.
Required updating LibGDX and a few audio changes to work around the one music limitation.
Just required updating Gradle and LibGDX.
Required updating LibGDX and disabling OpenGL profiling code.
(Not finished)
The platform specific API had to implemented for threading, dialogs, audio sample playing, and file operations.
Works out of the box, with controller enhancements added.
Required updating LibGDX, and controller support was added.
Required only updating LibGDX and a few fixes for breaking changes.
Required commenting out test code and adding a workaround for a floating point bug.
Required implementing high-score functionality and added controller support.
Required updating LibGDX, translated a few strings to English.
Just required updating LibGDX and the Gradle wrapper.
Required updating LibGDX and extensive runtime work to support Kotlin Coroutines for async asset loading.




