Skip to content

Releases: Borked3DS/Borked3DS

Borked3DS v2025.03.11

11 Mar 22:46
v2025.03.11
bff691f

Choose a tag to compare

Subscribe to MR. SUJANO.

Major Bugs Fixed

  • Correct year in the tag
  • A little more sleep for the developer

Third Party Updates

  • Vulkan v1.4.310

Otherwise, this release is exactly the same as yesterday's Mar.10 release.

Full Changelog: v2025.02.14...v2025.03.11

Also, looking for some Raspberry Pi 4 or 5 testers. Currently, the Vulkan renderer will run games, but it's not as stable as its x86_64 equivalent. If you're willing to build the program and help test (and submit logs), feel free to post about your experiences in the discussion thread. The same for any MacOS users.

Known Issues

  • Depending on your Android hardware, LLE audio may not work and crash the program. Workaround: Stick with HLE audio.

NOTE: Borked3DS is an experimental 3DS emulator project and is NOT the official project that aims to unify and continue Lime3DS and PabloMK7 development; while elements from here may make their way to that new project, for the moment, development here has diverged far enough from what PabloMK7 and Lime3DS were doing such that it was felt that it should become its own thing. For more details, see the README.

Borked3DS v2024.03.10

10 Mar 22:09
v2024.03.10
e0d78ad

Choose a tag to compare

This Mar.10 update brings a couple of bug fixes, some minor Vulkan improvements, and ports some fixes and features from Azahar.

Major Bugs Fixed

  • Games crashing on launch with Vulkan on executables compiled with GCC.
  • Fixed issue where Circle Pad and C-Stick Up/Down button mappings are
    reversed when configured with the "Set Analog Stick" button on Desktop.

What's Changed

  • renderer_vulkan.h: Set PRESENT_PIPELINES = 4 by @rtiangha in #346
  • renderer_vulkan: Implement memory type fallbacks and improve logging by @rtiangha in #349
  • Make verbose logging the default by @rtiangha in #350
  • renderer_vulkan.cpp: Add some framebuffer logging by @rtiangha in #353
  • renderer_vulkan: Add initialization checks, prevent null image views from being used in descriptor sets by @rtiangha in #355
  • vk_instance.h: Add more tile-based GPUs to the list of ShouldFlush() by @rtiangha in #360
  • Vulkan v1.4.309 by @rtiangha in #362
  • AndroidManifest.xml: Set android:appCategory to game by @OpenSauce04
  • plgldr: Fix loading of plugins due to typo by @PabloMK7
  • memory: Cache last physical memory pointer by @PabloMK7
  • Improved realtime audio implementation by @OpenSauce04
  • renderer: Add disable right eye performance hack by @PabloMK7
  • Update Ubuntu runners to Clang 20 by @rtiangha in #363
  • Some minor Vulkan updates by @rtiangha in #366
  • configure_input.cpp: Convert SDL Axes to button mappings by @rtiangha in #367
  • borked3ds_qt: Use stylesheet with light colored icons if dark mode by @kleidis in #368
  • file_util.cpp: Fix CreateFullPath not working with windows paths by @PabloMK7 in #369
  • Android: Fix header padding by @DavidRGriswold in #370
  • Android: Make SwitchSetting only allow Boolean setting types by @kleidis in #371

Third-Party Updates

  • zstd v1.5.7
  • Android Gradle 8.13
  • SDL2 2.32.2
  • Vulkan 1.4.309
  • faad2 2.11.2
  • Windows/Linux now compiled with Clang 20.1.0
  • Other minor updates to Android and Desktop dependencies

Known Issues

  • Depending on your Android hardware, LLE audio may not work and crash the program. Workaround: Stick with HLE audio.

Full Changelog: v2025.02.14...v2024.03.10

NOTE: Borked3DS is an experimental 3DS emulator project and is NOT the official project that aims to unify and continue Lime3DS and PabloMK7 development; while elements from here may make their way to that new project, for the moment, development here has diverged far enough from what PabloMK7 and Lime3DS were doing such that it was felt that it should become its own thing. For more details, see the README.

Borked3DS v2025.02.14

14 Feb 18:42
v2025.02.14
e4b9a74

Choose a tag to compare

🥰 Happy Valentine's Day! 🥰

NOTE: It is recommended that you clear the contents of your shaders folder before upgrading to this version.

  • On Desktop: Navigate to File->Open Borked3DS Folder and empty the shaders folder.
  • On Android: Long press on a game, tap on the folder icon, tap on Open Shader Cache Folder and delete the contents.

This release focuses mainly on stability and bug fixes, with a couple of new features which will hopefully improve performance.

Bugs Fixed

  • The MacOS build does not launch properly (x86_64 and AArch64).
  • Rotating the display in Android may result in a crash.
  • The Android app may not launch correctly on Android 9-11.
  • Regression: Launching the Home Menu may not work correctly in Android (NOTE: If it still doesn't work after upgrading to this release, you may need to re-download the System Files or clear out your User Folder and then re-download).
  • Regression: There may have been some minor missing textures when using OpenGL.
  • Borked3DS now builds with gcc-12 on Bookworm-based Raspberry Pi (or similar aarch64) devices (NOTE: It may still not run properly regardless; this is still being looked at).
  • Android: Using oboe api as an input device now works correctly.

New Features

  • Migration from glad to glad2 libraries.
  • Most existing vector math is now accelerated using SIMD operations and compiler intrinsics. This may result in improved performance. Minimum hardware requirements are NEON support for AArch64 and SSE2+ support for x86_64 (SSE4+ or AVX+ recommended), which is pretty much any modern machine so it probably doesn't disqualify much regardless. This feature has only been minimally tested, so feel free to chime in with your experiences in the Discussions forum. As always, Pull Requests with fixes or improvements are always welcome.

What's Changed

  • Adding Swedish translation by @yeager in #319
  • Fix various GCC warnings and errors by @rtiangha in #323
  • Android (refactor): Improve null safety and fix rotation by @rtiangha in #325
  • video_core: Optimize vector math with SIMD instructions and compiler intrinsics by @rtiangha in #326
  • MacOS: Fix external MoltenVK bundling by @rtiangha in #329
  • externals: Update glad 0.1.36 to glad2 v2.0.8 by @rtiangha in #328
  • CMakeLists.txt: Prefer bundled dependencies over system installed versions by default by @rtiangha in #331
  • Vulkan: v1.4.304.1 by @rtiangha in #332
  • audio_core: Implement oboe_input device by @rtiangha in #334
  • InputOverlay.kt: Revert null safety checks by @rtiangha in #336
  • EmulationFragment.kt: Restore game icon loader by @rtiangha in #337
  • Android: Migrate from using WindowInsetsController to WindowInsetsControllerCompat by @rtiangha in #339
  • Update to Xbyak v7.23+ by @rtiangha in #340
  • Optimize SIMD vector math instructions by @rtiangha in #341
  • vector_math.h: Avoid strict aliasing violations and use safer memory operations by @rtiangha in #342

Third-Party Updates

  • Android: Gradle 8.12.1
  • Android: Kotlin 2.1.10
  • Android: NDK r28
  • aqtinstall 3.20
  • QT 6.8.2 (all Desktop builds)
  • Vulkan Memory Allocator v3.2.1
  • Migrate from glad 0.1.36 to glad2 v2.0.8
  • Vulkan: v1.4.304.1 support
  • SDL 2.32.0
  • xbyak v7.23.1
  • Other minor dependency updates for Desktop and Android

Also note that the minimum CMake version to build the project is now 3.26. This is to match modern openal-soft's minimum CMake requirement.

Known Issues

  • Depending on your Android hardware, LLE audio may not work and crash the program. Workaround: Stick with HLE audio.
  • Vulkan may crash if the executable was compiled with GCC. This will be fixed in the next release.
  • The program may not work properly natively on Pi-based (and similar) devices. This is being looked at.

New Contributors

NOTE: Borked3DS is an experimental 3DS emulator project and is NOT the official project that aims to unify and continue Lime3DS and PabloMK7 development; while elements from here may make their way to that new project when it comes online, for the moment, development here has diverged far enough from what PabloMK7 and Lime3DS were doing such that it was felt that it should become its own thing, at least until the new unified project comes online. For more details, see the README.

Full Changelog: v2025.01.23...v2025.02.14

Borked3DS v2025.01.23-sdl-compat

24 Jan 01:48
v2025.01.23-sdl-compat
8937e87

Choose a tag to compare

Pre-release

This release is identical to v2025.01.23 except that instead of being built with SDL2, it's built with SDL3 via sdl2-compat. The intent is to port the project to pure SDL3 eventually, but in the meantime, this allows users the ability to test the new backend.

What's Changed

  • externals: Switch from SDL2 to SDL3 via sdl2-compat by @rtiangha in #315

Third Party Updates

  • SDL 3.2.0 via sdl2-compat

Full Changelog: v2025.01.23...v2025.01.23-sdl-compat

Borked3DS v2025.01.23

24 Jan 00:26
v2025.01.23
abbb5cb

Choose a tag to compare

This release features many experimental/WIP Android improvements by @kleidis that you can test before they eventually get merged into Azahar. It also brings up various third-party dependencies to their latest major versions, and includes some very minor bug fixes.

There is also a beta release that is the same as this one except that it incorporates the use of SDL3 via the SDL2 compatability layer. The intent is to port this project over to pure SDL3 eventually, but the compatability layer approach allows people to play around with things while waiting for the porting to be completed. This also gives this project a fallback in case SDL2 stops being supported upstream but new functionality such as gamepad support for new game controllers continues to be updated on the SDL3 branch.

What's Changed

  • Android: Some minor fixes by @rtiangha in #293
  • renderer_opengl: Enable a couple of optimizations by @rtiangha in #294
  • borked3ds: Support Wayland on SDL by @rtiangha in #295
  • Migrate from C++20 to C++23 by @rtiangha in #296
  • file_sys: Add missing file_backend.h include by @rtiangha in #297
  • Vulkan v1.4.304+ support by @rtiangha in #298
  • ci/pack.sh: Switch from tar.gz to tar.xz for distribution by @rtiangha in #299
  • Android: Fix Gradle 9 deprecation warnings by @rtiangha in #300
  • Android: Update support links by @rtiangha in #302
  • Android: Update emulation_pause icon on resume by @kleidis in #303
  • Android: Add Performance Stats Overlay settings UI by @kleidis in #304
  • QT/Android: Add fast forward hotkey toggle by @kleidis in #305
  • Android: Revamp About dialog by @kleidis in #306
  • Android: Update Gamepad settings labels by @rtiangha in #307
  • Android: Cleanup code by @rtiangha in #308
  • Android: Multiplayer/Netplay Improvements by @kleidis in #309
  • Android: Implement Play Time tracking by @kleidis in #310
  • Fix various build warnings by @rtiangha in #311
  • Vulkan: v1.4.305 by @rtiangha in #312

Third Party Updates

  • glslang 15.1.0
  • aqtinstall 3.1.21
  • Vulkan v1.4.305
  • oboe 1.9.3
  • Android Gradle 8.12
  • fmt 11.1.2
  • vma 3.2.0
  • SDL 2.30.11
  • Catch2 v3.8.0
  • openal-soft 1.24.2
  • Other minor updates to Android and Desktop dependencies

Known Issues

  • The MacOS build does not launch properly. This will be fixed in the next release.
  • Rotating the display in Android may result in a crash. This will be fixed in the next release.
  • The Android app may not launch correctly in Android 9 to 11. This will be fixed in the next release.
  • Regression: Launching the Home Menu may not work correctly in Android. This will be fixed in the next release.
  • Borked3DS may not build with gcc-12 on Bookworm-based Raspberry Pi (or aarch64) devices. This is being looked at. Workaround: Use a recent version of Clang.
  • Depending on your Android hardware, LLE audio may not work and crash the program. Workaround: Stick with HLE audio.

NOTE: Borked3DS is an experimental 3DS emulator project and is NOT the official project that aims to unify and continue Lime3DS and PabloMK7 development; while elements from here may make their way to that new project when it comes online, for the moment, development here has diverged far enough from what PabloMK7 and Lime3DS were doing such that it was felt that it should become its own thing, at least until the new unified project comes online. For more details, see the README.

Full Changelog: v2024.12.12...v2025.01.23

Borked3DS v2024.12.12

12 Dec 17:01
v2024.12.12
8464fed

Choose a tag to compare

This release adds the ability to have multiple game folders on Android. This means that if you store your game images in different locations on your Android device, you can launch them all from the main screen once you have things configured.

Third-Party Updates

  • Minor updates to various dependencies on Desktop and Android

Known Issues

  • Depending on your Android hardware, LLE audio may not work and crash the program. Workaround: Stick with HLE audio.

NOTE: Borked3DS is an experimental 3DS emulator project and is NOT the official project that aims to unify and continue Lime3DS and PabloMK7 development; while elements from here may make their way to that new project when it comes online, for the moment, development here has diverged far enough from what PabloMK7 and Lime3DS were doing such that it was felt that it should become its own thing, at least until the new unified project comes online. For more details, see the README.

What's Changed

Full Changelog: v2024.12.10...v2024.12.12

Borked3DS v2024.12.10

10 Dec 19:28
v2024.12.10
b6546f2

Choose a tag to compare

This build introduces a preliminary fix for the Android app crashing on start up on certain devices when Tracy Profiling integration is enabled.

Third-Party Updates

  • QT 6.8.1 on Windows Clang
  • Minor updates to various third-party dependencies

Known Issues

  • Depending on your Android hardware, LLE audio may not work and crash the program. Workaround: Stick with HLE audio.

NOTE: Borked3DS is an experimental 3DS emulator project and is NOT the official project that aims to unify and continue Lime3DS and PabloMK7 development; while elements from here may make their way to that new project when it comes online, for the moment, development here has diverged far enough from what PabloMK7 and Lime3DS were doing such that it was felt that it should become its own thing, at least until the new unified project comes online. For more details, see the README.

What's Changed

  • oboe_sink.cpp: Update AudioStreamBuilder parameters by @rtiangha in #290

Full Changelog: v2024.12.08...v2024.12.10

Borked3DS v2024.12.08

08 Dec 20:22
v2024.12.08
7c5dcee

Choose a tag to compare

This build fixes the OpenAL audio issue in Android where selecting OpenAL as the output type would result in no audio output on certain devices. It also introduces a couple of new OpenGL/ES extensions which may help with performance. Testing welcome.

Third-Party Updates

  • SDL 2.30.10
  • Initial support for Vulkan v1.4.303
  • Other minor updates to third-party dependencies

Known Issues

  • Depending on your Android hardware, LLE audio may not work and crash the program. Workaround: Stick with HLE audio.

NOTE: Borked3DS is an experimental 3DS emulator project and is NOT the official project that aims to unify and continue Lime3DS and PabloMK7 development; while elements from here may make their way to that new project when it comes online, for the moment, development here has diverged far enough from what PabloMK7 and Lime3DS were doing such that it was felt that it should become its own thing, at least until the new unified project comes online. For more details, see the README.

What's Changed

Full Changelog: v2024.12.03...v2024.12.08

Borked 3DS v2024.12.03

04 Dec 06:41
v2024.12.03
10113df

Choose a tag to compare

Some users have reported that the Android app won't start on certain devices with Tracy Profiler integration enabled, so this build disables it on Android until the issue can be further investigated. Beyond that, there aren't any major updates.

Third-Party Updates

  • Android: AGP 8.7.3
  • Android: JDK 23
  • LibreSSL 4.0.0
  • QT 6.8.1
  • Minor update to SDL

Known Issues

  • Depending on your Android hardware, selecting Real Device (OpenAL) as audio Output Type may fail to detect an audio output device and thus won't output sound. This behavior affects some of the other forks as well and thus was inherited, but because things in that section of the Settings UI were mislabled and incorrect to begin with (i.e. Selecting OpenAL in the menu actually activated a different API internally), it may not have been noticed until now. Workaround: Use Auto or one of the other Output Type options (NOTE: This will be fixed in the next release).
  • Depending on your Android hardware, LLE audio may not work and crash the program. Workaround: Stick with HLE audio.

NOTE: Borked3DS is an experimental 3DS emulator project and is NOT the official project that aims to unify and continue Lime3DS and PabloMK7 development; while elements from here may make their way to that new project when it comes online, for the moment, development here has diverged far enough from what PabloMK7 and Lime3DS were doing such that it was felt that it should become its own thing, at least until the new unified project comes online. For more details, see the README.

What's Changed

Full Changelog: v2024.12.01...v2024.12.03

Borked3DS v2024.12.01

01 Dec 15:11
v2024.12.01
8b56482

Choose a tag to compare

This is mainly a minor bug fix release, fixing some cosmetic issues with the Android frontend. Also, the Rotate Screen function has been reworked; instead of switching between Landscape and Portrait mode (which was buggy in this fork), it will instead rotate the screen 1/4 clockwise each time you tap it (and save the setting so that the next time you launch a game, it'll stay in the last mode selected).

What's New? (@rtiangha)

  • Android: Make Top Right the default option for Small Screen Position
  • Android: Correctly label Boolean settings as such
  • Android: Fix default Screen Orientation option
  • Android: Fix Texture Filtering labels
  • EmulationActivity.kt: Use property access syntax instead
  • Android: Refactor Rotate Screen button

Third-Party Updates

  • Minor update to MoltenVK

Known Issues

  • Depending on your Android hardware, selecting Real Device (OpenAL) as audio Output Type may fail to detect an audio output device and thus won't output sound. This behavior affects some of the other forks as well and thus was inherited, but because things in that section of the Settings UI were mislabled and incorrect to begin with (i.e. Selecting OpenAL in the menu actually activated a different API internally), it may not have been noticed until now. Workaround: Use Auto or one of the other Output Type options.
  • Depending on your Android hardware, LLE audio may not work and crash the program. Workaround: Stick with HLE audio.

NOTE: Borked3DS is an experimental 3DS emulator project and is NOT the official project that aims to unify and continue Lime3DS and PabloMK7 development; while elements from here may make their way to that new project when it comes online, for the moment, development here has diverged far enough from what PabloMK7 and Lime3DS were doing such that it was felt that it should become its own thing, at least until the new unified project comes online. For more details, see the README.

What's Changed

Full Changelog: v2024.11.29...v2024.12.01