godot-build-scripts
godot-build-scripts copied to clipboard
[Linux] Add armhf build.
Some modules are disabled due to incompatibilities:
- raycast (embree), we should fix detecetion in module config.py.
- etcpak, this likely also require at least aarch64 instructions to build.
- denoise (oneDNN), also needs fix in config.py (x86_64 only).
- theora (are we keeping this?).
We should probably wait and instead of merging this PR directly, wait for https://github.com/godotengine/godot/pull/55778 or a light-weight version of it that fixes module detection (so we don't need the extra *_module_enabled=no
shenanigan).
Depends on https://github.com/godotengine/build-containers/pull/103 Ref https://github.com/godotengine/godot-proposals/issues/988
@Faless If you want to revisit this PR, it should be cleaner to do now that the PRs you've mentioned have been merged.
@Faless Are you available to continue this PR? If not, I'd like to look into revisiting this after 4.2. Note that we can probably build only arm64
as I expect armhf
binaries to be very slow for 4.x. Raspberry Pi 4 also finally uses a 64-bit OS by default, and so does the recently released Raspberry Pi 5.
denoise (oneDNN), also needs fix in config.py (x86_64 only).
Since Godot 4.2, OpenImageDenoise is no longer part of Godot itself (it's now an optional external program). The option to disable that module can be removed now.
Note that we can probably build only
arm64
The reason for doing armhf build at the time was that we didn't (and still don't) have a arm64 buildroot.
I worked on a arm64 toolchain at the time but it was never finalized because IIRC there were concerns about it requiring the inclusion of LLVM for vulkan/gl headers (LLVMPipe/LavaPipe). As far as I know @hpvb is almost done working on it.
I think once that's solved adding the arm64 build shouldn't be too hard. In the meantime, I've updated this PR, but I agree that only providing arm64 builds might make sense.
Superseded by #90.
For now I've opted for adding all builds (editor and templates for arm32 and arm64). We'll see if we want to reduce the list.