Skip to content

Commit eb5013d

Browse files
committed
Enable arm64 builds for linux
1 parent bd7b123 commit eb5013d

4 files changed

Lines changed: 107 additions & 11 deletions

File tree

.github/workflows/dev-desktop-builds.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,53 @@ jobs:
108108
with:
109109
name: linux_snapshot
110110
path: build/${{ env.EXPORT_NAME }}_${{ env.MM_RELEASE }}_linux.tar.gz
111+
export_linux_arm64:
112+
name: Linux Export (arm64) 🗔
113+
needs: export_windows_linux
114+
runs-on: ubuntu-24.04-arm
115+
steps:
116+
- name: Checkout 🛎️
117+
uses: actions/checkout@v1
118+
with:
119+
submodules: true
120+
- name: Setup 💻
121+
run: |
122+
cp -f material_maker/theme/default_theme_icons.svg material_maker/theme/default_theme_icons_export.svg
123+
wget -q ${GODOT_DOWNLOAD_DIR}/Godot_v${GODOT_VERSION}-${GODOT_SUB}_linux.arm64.zip
124+
unzip Godot_v${GODOT_VERSION}-${GODOT_SUB}_linux.arm64.zip
125+
wget -q ${GODOT_DOWNLOAD_DIR}/Godot_v${GODOT_VERSION}-${GODOT_SUB}_export_templates.tpz
126+
unzip -a Godot_v${GODOT_VERSION}-${GODOT_SUB}_export_templates.tpz
127+
mkdir -v -p ~/.local/share/godot/export_templates/${GODOT_VERSION}.${GODOT_SUB}
128+
mv ./templates/* ~/.local/share/godot/export_templates/${GODOT_VERSION}.${GODOT_SUB}
129+
mkdir -v -p build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
130+
- name: Linux Build (arm64) 🐧
131+
run: |
132+
./Godot_v${GODOT_VERSION}-${GODOT_SUB}_linux.arm64 --headless -v --export-release "Linux/X11 arm64" ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64/$EXPORT_NAME.arm64
133+
./Godot_v${GODOT_VERSION}-${GODOT_SUB}_linux.arm64 --headless -v --export-release "Linux/X11 arm64" ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64/$EXPORT_NAME.arm64
134+
- name: Get documentation 🚀
135+
if: ${{ github.event.inputs.gen_doc == 'true' }}
136+
uses: actions/download-artifact@v4
137+
with:
138+
name: documentation
139+
path: doc
140+
- name: Copy Material Maker data 📁
141+
run: |
142+
cp -R ./addons/material_maker/nodes ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
143+
cp -R ./material_maker/environments ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
144+
cp -R ./material_maker/examples ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
145+
cp -R ./material_maker/library ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
146+
cp -R ./material_maker/meshes ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
147+
cp -R ./material_maker/misc/export ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
148+
cp -R ./material_maker/doc/_build/html ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64/doc || :
149+
- name: Create archives 📁
150+
run: |
151+
cd build
152+
tar zcvf ${EXPORT_NAME}_${MM_RELEASE}_linux_arm64.tar.gz ${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
153+
- name: Upload Linux (arm64) Artifact 🚀
154+
uses: actions/upload-artifact@v4
155+
with:
156+
name: linux_arm64_snapshot
157+
path: build/${{ env.EXPORT_NAME }}_${{ env.MM_RELEASE }}_linux_arm64.tar.gz
111158
export-mac:
112159
name: Mac Export 🍎
113160
needs: export_windows_linux

export_presets.cfg

Lines changed: 59 additions & 11 deletions
Large diffs are not rendered by default.
Binary file not shown.

project.godot

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ limits/debugger/max_chars_per_second=204800000
133133

134134
[rendering]
135135

136+
textures/vram_compression/import_s3tc_bptc=true
136137
textures/vram_compression/import_etc2_astc=true
137138
shading/overrides/force_lambert_over_burley.mobile=false
138139
environment/defaults/default_environment="res://default_env.tres"

0 commit comments

Comments
 (0)