Skip to content

retroarch: update to 1.22.2.#60556

Open
jl4c wants to merge 1 commit into
void-linux:masterfrom
jl4c:update-retroarch
Open

retroarch: update to 1.22.2.#60556
jl4c wants to merge 1 commit into
void-linux:masterfrom
jl4c:update-retroarch

Conversation

@jl4c
Copy link
Copy Markdown
Contributor

@jl4c jl4c commented May 15, 2026

Testing the changes

  • I tested the changes in this PR: YES

Local build testing

  • I built this PR locally for my native architecture, (x86_64-glibc)
  • I built this PR locally for these architectures:
    • aarch64
    • armv7l
    • i686
    • x86_64-musl

Update to 1.22.2.

This PR also includes a refactor of the template:

  • New build options: kms, al, oss, pipewire, cdrom, dbus, hid, qt6, v4l2, opengles
  • glcore/gles2 build options replaced by opengl_core and an opt-in opengles (armv7/aarch64 only). Defaulting to desktop GL on those arches preserves compatibility with cores that require OpenGL HW context on platforms with full desktop GL support. See Build RetroArch using OpenGL instead of OpenGLES #32246 for context.
  • pulseaudio build option renamed to pulse to match upstream's configure flag name; default audio backend changed to pipewire.
  • Added qt6 build option (mutually exclusive with qt5).

A patch (fix-system-flac.patch) was added to fix building against system libFLAC. libchdr's FLAC decoder in 1.22.x uses dr_flac exclusively, guarded by HAVE_DR_FLAC. Without it, the build fails at link time. Patch sourced from Debian.

Build tested with multiple option combinations (defaults, all-on with qt5, qt6, minimal, opengles enabled/disabled on ARM, etc.) across the architectures listed above.

@jl4c jl4c force-pushed the update-retroarch branch from a6a4efc to 15af282 Compare May 15, 2026 13:38
@jl4c
Copy link
Copy Markdown
Contributor Author

jl4c commented May 15, 2026

A few additional changes:

opengles is now ON by default on armv7*|aarch64*

retroarch's configure makes desktop GL and GLES mutually exclusive in a single binary (qb/config.libs.sh:431 skips desktop GL detection when HAVE_OPENGLES=yes). One default has to be picked per arch.

I picked opengles=ON for armv7*|aarch64* because:

  • ARM SBCs with GLES-only drivers (Raspberry Pi with Panfrost/V3D, most Mali devices) would have no working GL backend at runtime with the opposite default.
  • aarch64 platforms with full desktop GL support (Apple Silicon via Asahi) still get functional gl and glcore drivers (the binary uses GLES as the backend for both). Users can opt out with -o ~opengles when rebuilding locally if they need cores that require desktop-specific GL features.

Build option descriptions cleaned up

  • Removed desc_option_* definitions for options that already have descriptions in common/options.description (the global ones take precedence anyway).
  • Reworded the remaining descriptions for consistency with the Enable support for X pattern used by the globals.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant