#1133047#5
Date:
2026-04-09 06:56:11 UTC
From:
To:
Dear maintainers,

I noticed [1] that you hard-coded the architectures of you package to
only build on any-amd64 and any-i386. The upstream website [2] mentions
they support arm CPU's too:
"Dynamic recompilers for Intel (x86 and amd64) and ARM CPUs"

Does it make sense to build for arm64 (and maybe armhf) too? I verified
that the build at least succeeds on arm64, but I didn't perform any
further testing.

Paul
PS: the same question applies to src:mupen64plus-input-sdl,
src:mupen64plus-rsp-hle and src:mupen64plus-video-glide64mk2 but let's
keep discussion in one bug
PS2: if you want to discuss with me, please keep me in CC

[1] https://qa.debian.org/dose/debcheck/testing_main/latest/arm64.html
[2] https://mupen64plus.org/

#1133047#16
Date:
2026-04-09 08:09:10 UTC
From:
To:
Moved it to mupen64plus-core because it is my main concern here. There are
bigger concerns (rsp+video plugins) for big endian architectures but we not
talking about them here.

Not to say yea or nay - just to sync up first:

I think there was already a bug in the past to build it on more architectures.
Since I don't have the means to test it on these architectures (and some of
the code is not 100% portable), I wanted someone to test it on these
architectures and take of them in case there are problems reported - which
didn't happen. At that time, both armhf+arm64 were also not officially
supported. I have now looked in the 2.6.0 makefile and got the ARM portion:


ifneq ("$(filter arm%,$(HOST_CPU))","")
  ifeq ("$(filter arm%b,$(HOST_CPU))","")
    CPU := ARM
    PIC ?= 1
    NEW_DYNAREC := 1
    ifneq ("$(filter arm64,$(HOST_CPU))","")
      ARCH_DETECTED := 64BITS
      $(warning Architecture "$(HOST_CPU)" not officially supported.)
    else
      ARCH_DETECTED := 32BITS
      CFLAGS += -marm
      ifneq ("$(filter armv5%,$(HOST_CPU))","")
          CFLAGS += -DARMv5_ONLY
          $(warning Using ARMv5_ONLY)
      endif
      ifneq ("$(filter armv6%,$(HOST_CPU))","")
          CFLAGS += -DARMv5_ONLY
          $(warning Using ARMv5_ONLY)
      endif
      ifeq ($(NEON), 1)
          CFLAGS += -mfpu=neon -mfloat-abi=hard
      else
        ifeq ($(VFP_HARD), 1)
          CFLAGS += -mfpu=vfp -mfloat-abi=hard
        else
          CFLAGS += -mfpu=vfp -mfloat-abi=softfp
        endif
      endif
    endif
  endif
endif

So arm64 is still not officially supported - also not in the current git
version. The 32 bit ones are not marked like this and could in theory be build
as an officially supported target. Since you need to manually set VFP_HARD/
NEON, do you know the debian armhf configuration? I think it was ARMv7, no-
NEON requirements and VFP_HARD. But I would need to search around to double
check this.

Of course, we can still enable arm64 builds. Upstream is not officially
supporting them, so we need someone on the Debian side to take care of it.

Kind regards,
	Sven