ci: add Linux aarch64 libretro build - #639
Open
WizzardSK wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The buildbot publishes
mupen64plus_next_libretro.sofor linux/x86_64 and linux/x86, but there is no desktop Linux ARM64 build —.gitlab-ci.ymlhas no aarch64 job, so nothing is produced for that platform, even though the core already carries an aarch64 dynarec (NEW_DYNAREC=4,new_dynarec/arm64/linkage_arm64.S).This adds the
/linux-aarch64.ymltemplate include and alibretro-build-linux-aarch64job carrying the same variables as the existing x64 one (HAVE_PARALLEL_RDP,HAVE_PARALLEL_RSP,HAVE_THR_AL,LLE). No image or compiler override is needed: thelibretro-build-aarch64-ubuntuimage installs gcc-12/g++-12 and pointsgcc/g++at them throughupdate-alternatives.Verified on real aarch64 hardware, and not only as a build:
Starting R4300 emulator: Dynamic Recompiler/Init new dynarec, not the interpreter.glcore3.3 context). No errors in the RetroArch log.Two notes for whoever reviews this, since neither is caused by the change but both could bite someone reproducing it:
VK_KHR_16bit_storagefor SSBOs, and paraLLEl-RDP refuses to start without it. That is a driver limitation on my hardware, not an ARM64 problem — the job still builds paraLLEl-RDP, and the GLideN64 path is verified above.parallel-rdp/util/aligned_alloc.cppneeds#include <cstdint>on GCC 13+, which no longer pulls it in transitively; it fails there with'uintptr_t' was not declared in this scope. It is unrelated to architecture and does not affect the CI image (gcc-12), so it is deliberately not part of this PR — but it will surface for anyone building with a newer toolchain, and belongs upstream in parallel-rdp.Only the Linux ARM64 job is added; nothing else in the file changes.