Android RetroArch video-driver comparison / 2026-08-07

Choose a RetroArch video driver on Android by core evidence

Compare the package default, core requirements, shader format, and measured recovery path before switching Android video drivers.

9 minute driver decisionRetroArch 1.22.2 on Android; available GL, glcore, Vulkan, or other drivers depend on the package, GPU, and core

Choose a RetroArch video driver on Android by core evidence

Keep the package default unless a core's official page requires another driver or a reproducible log points to the active driver. Before switching, record the current driver and remove shaders; change one driver, restart RetroArch, and test the same authorized content. Prefer the driver that the core supports and that completes cold launch, video, overlay, suspend, and relaunch on your device, not the API with the strongest marketing claim.

Do this in order

  1. 01

    Record package, RetroArch and core versions, Android build, GPU, active video driver, shader preset, and one authorized test case.

  2. 02

    Read the core's official page for required or supported drivers; do not assume every core accepts Vulkan or GL.

  3. 03

    Save the current configuration, disable shaders and run-ahead, and capture one clean verbose log on the default driver.

  4. 04

    Change only the video driver, restart RetroArch as the menu requires, and cold-launch the same content.

  5. 05

    Compare startup, image, speed, audio, overlay, rotation, suspend, heat, and relaunch; revert immediately if the menu becomes unreadable.

  6. 06

    Keep the smallest working change and record the driver, core, package, log, and rollback route.

Decision and diagnostic table

Decision signalWeightAction
Core requires a driverHighestUse the documented compatible driver
Default works cleanlyHighKeep it
Only shader failsMediumMatch shader format before driver switch
One device is fasterMeasuredRetain receipt; do not generalize

Core compatibility comes first

A frontend can offer a driver that a loaded core cannot use. The core's official requirements and the verbose initialization log are stronger evidence than an API name.

Shaders can imitate driver failure

Libretro uses different shader preset families with different drivers. Test without a preset so an incompatible shader is not misdiagnosed as a renderer failure.

Restart and recovery are part of the test

Driver changes require a restart. A useful Android choice must survive cold launch, rotation or overlays where relevant, background and return, and a second launch with a documented route back.

First-party sources

Related guides