Skip to content

Conversation

@pfeerick
Copy link
Member

@pfeerick pfeerick commented Oct 25, 2025

Changes:

  • chore: update actions to later versions
  • chore: remove funding.yml so org copy is used
  • feat: build SDL2 from source for both x64 and arm64

Warning

Remember to bump QT version in MacOS runner action from 6.9.0 to 6.9.3 for consistency.

This gets us one step closer to arm64 native building, particularly for the build container on Apple Silicon, but since there is no install source for an arm64/aarch64 qt6 (Qt doesn't provide official prebuilt binaries for Linux ARM64 desktop), can only go so far for now. We would probably have to build from source(prebuild and cache, ideally) if we wanted to pursue this further.

root@a95b3c6e843d:/workspaces/edgetx# uvx --from aqtinstall aqt list-qt linux desktop --arch 6.9.3
linux_gcc_64
root@a95b3c6e843d:/workspaces/edgetx# uvx --from aqtinstall aqt list-qt linux desktop --arch 6.10.1
linux_gcc_64

Issues still outstanding (qt6 not present notwithstanding):

-- Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR) 
-- Could NOT find Cups (missing: CUPS_LIBRARIES CUPS_INCLUDE_DIR) 
-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_INCLUDE_DIR)
-- linuxdeploy x86/x64 issues - linuxdeploy-plugin-qt-x86_64.AppImage: 1: cannot create ��@xb@8: Operation not permitted

CUPS/VulkanHeaders might have been resolved by last commit. There is an aarch64 version of linuxdeploy available also, and cmake can be taught to switch automatically as needed (via EdgeTX/edgetx#6882). Meaning the actual only outstanding issues I can see so at present is something is still calling a x88_64 process per below, and QT6 not present 🤭

i.e.

root@94b64c2212f7:/workspaces/edgetx/build-tx16s# cmake --build . --target native-configure --parallel 4
loading initial cache file /workspaces/edgetx/build-tx16s/native-prefix/tmp/native-cache-Release.cmake
rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2

@pfeerick pfeerick changed the title Pfeerick/dev arm64 dev arm64 Oct 25, 2025
@pfeerick
Copy link
Member Author

Ok, that run was better... 36 odd minutes instead of 50... lets see if this helps this / future builds.

@pfeerick
Copy link
Member Author

Caching seems to be working, and was able to test this on Macbook Air M4 for building firmware. Companion building seems to be an issue as it seems OpenGL and "WrapOpenGL" weren't found, thus no Qt6Gui nor Qt6Widgets.

@pfeerick pfeerick changed the title dev arm64 dev arm64 - SDL2 and other arm64 specific dependencies Dec 17, 2025
@pfeerick
Copy link
Member Author

pfeerick commented Jan 4, 2026

This also works on Mac Mini M4 running Apple Containers...

i.e. building TX12MK2 firmware

container run -it --memory 12G --cpus 6 --rm -v $(pwd):/src ghcr.io/edgetx/edgetx-dev:pr-41 bash

---
FLAVOR=tx12mk2 tools/build-gh.sh
---

Totals         KB    usage  of ttl      KB free
  Flash:   502.71   98.18%     512         9.29
  CCRAM:    45.01   70.32%      64        18.99
  SRAM1:     7.82    6.98%     112       104.18
  SRAM2:     0.00    0.00%      16        16.00

[100%] Built target firmware-size
+ rm -f CMakeCache.txt arm-none-eabi/CMakeCache.txt
+ '[' -f arm-none-eabi/firmware.uf2 ']'
+ mv arm-none-eabi/firmware.bin ../tx12mk2-0197d63ea.bin
root@14a856e6-c102-4ea4-9774-a06b3630078e:/src#

@pfeerick pfeerick changed the title dev arm64 - SDL2 and other arm64 specific dependencies chorea: dev arm64 SDL2 and other arm64 specific dependencies for firmware building Jan 4, 2026
@pfeerick pfeerick changed the title chorea: dev arm64 SDL2 and other arm64 specific dependencies for firmware building chore: dev arm64 SDL2 and other arm64 specific dependencies for firmware building Jan 4, 2026
pfeerick added a commit to EdgeTX/edgetx that referenced this pull request Jan 4, 2026
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.

2 participants