libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.38k stars 1.84k forks source link

[REQUEST-Android (ARM64)] Add AdrenoTools / Drivers support for Android devices. #15472

Open Matsilagi opened 1 year ago

Matsilagi commented 1 year ago

Description

Add support for custom GPU drivers (in a new category maybe?) with AdrenoTools for Android. Basically, AdrenoTools (https://github.com/bylaws/libadrenotools/) is a library which allows android apps to load drivers and override the default Device drivers with custom / alternate ones. This allows for phones which falls under the Freedreno project (Especially Adreno 6XX and 7XX series) to use their GPU to their fully extent instead of relying on tricks such as rooting the device and installing Magisk to extend the graphical capabilities of their phone, without voiding warranty. Emulators like AetherSX2, Skyline/Stratos, YUZU and Vita3K all use that system with huge success rate.

Android could profit a lot from this, especially from very popular Vulkan emulators like Beetle PSX (PS1), ParaLLEl (N64), Dolphin (GC and Wii) and PCSX2 (PS2, if it ever gets available), and could ease the work for DEVs which work with shaders in the Slang format (making SPIR-V have less trouble to compile those).

Environment information

gouchi commented 3 months ago

If needed, implementation in Flycast and PPSSPP.