Skip to content

Commit bb6ce17

Browse files
authored
Add arm builds (#23)
1 parent ffdaa0e commit bb6ce17

File tree

5 files changed

+32
-29
lines changed

5 files changed

+32
-29
lines changed

.github/workflows/build-nightly.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,10 @@ jobs:
2323
optimized: true
2424
name: "Citron Build (Optimized)"
2525
arch: x86_64
26-
# TODO: Debug ARM builds (fails with intel-vulkan dep for arch on arm
27-
# - runs-on: ubuntu-24.04-arm
28-
# name: "Citron Build (Normal)"
29-
# optimized: false
30-
# arch: aarch64
26+
- runs-on: ubuntu-24.04-arm
27+
name: "Citron Build (Normal)"
28+
optimized: false
29+
arch: aarch64
3130
container: ghcr.io/pkgforge-dev/archlinux:latest
3231
steps:
3332
- uses: actions/checkout@v4
@@ -67,11 +66,11 @@ jobs:
6766
echo "APP_VERSION=$(cat ~/version)" >> "${GITHUB_ENV}"
6867
6968
- name: Upload version file
70-
if: ${{ matrix.optimized == false }}
7169
uses: actions/[email protected]
7270
with:
7371
name: version
7472
path: ~/version
73+
overwrite: true
7574

7675
release:
7776
name: "release"
@@ -90,9 +89,9 @@ jobs:
9089
with:
9190
name: citron-normal-appimage-x86_64
9291

93-
# - uses: actions/[email protected]
94-
# with:
95-
# name: citron-normal-appimage-aarch64
92+
- uses: actions/[email protected]
93+
with:
94+
name: citron-normal-appimage-aarch64
9695

9796
- uses: actions/[email protected]
9897
with:

.github/workflows/build-stable.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,10 @@ jobs:
2323
optimized: true
2424
name: "Citron Build (Optimized)"
2525
arch: x86_64
26-
# TODO: Debug ARM builds (fails with intel-vulkan dep for arch on arm
27-
# - runs-on: ubuntu-24.04-arm
28-
# name: "Citron build (Normal)"
29-
# optimized: false
30-
# arch: aarch64
26+
- runs-on: ubuntu-24.04-arm
27+
name: "Citron build (Normal)"
28+
optimized: false
29+
arch: aarch64
3130
container: ghcr.io/pkgforge-dev/archlinux:latest
3231
steps:
3332
- uses: actions/checkout@v4
@@ -67,11 +66,11 @@ jobs:
6766
echo "APP_VERSION=$(cat ~/version)" >> "${GITHUB_ENV}"
6867
6968
- name: Upload version file
70-
if: ${{ matrix.optimized == false }}
7169
uses: actions/[email protected]
7270
with:
7371
name: version
7472
path: ~/version
73+
overwrite: true
7574

7675
release:
7776
name: "release"
@@ -90,9 +89,9 @@ jobs:
9089
with:
9190
name: citron-normal-appimage-x86_64
9291

93-
# - uses: actions/[email protected]
94-
# with:
95-
# name: citron-normal-appimage-aarch64
92+
- uses: actions/[email protected]
93+
with:
94+
name: citron-normal-appimage-aarch64
9695

9796
- uses: actions/[email protected]
9897
with:

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Citron-AppImage
22

3-
This repository makes builds for **x86_64** (generic) and **x86_64_v3**. If your CPU is less than 10 years old use the x86_64_v3 build since it has a significant performance boost.
3+
This repository makes builds for **aarch64**, **x86_64** (generic) and **x86_64_v3**. If your CPU is less than 10 years old use the x86_64_v3 build since it has a significant performance boost.
44

55
* [Latest Stable Release](https://github.com/pkgforge-dev/Citron-AppImage/releases/latest)
66

citron-appimage.sh

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,20 @@ REPO="https://git.citron-emu.org/Citron/Citron.git"
99
LIB4BN="https://raw.githubusercontent.com/VHSgunzo/sharun/refs/heads/main/lib4bin"
1010
URUNTIME="https://github.com/VHSgunzo/uruntime/releases/latest/download/uruntime-appimage-dwarfs-$ARCH"
1111

12-
if [ "$1" = 'v3' ]; then
13-
echo "Making x86-64-v3 optimized build of citron"
14-
ARCH="${ARCH}_v3"
15-
ARCH_FLAGS="-march=x86-64-v3 -O3"
12+
if [ "$ARCH" = 'x86_64' ]; then
13+
if [ "$1" = 'v3' ]; then
14+
echo "Making x86-64-v3 optimized build of citron"
15+
ARCH="${ARCH}_v3"
16+
ARCH_FLAGS="-march=x86-64-v3 -O3"
17+
else
18+
echo "Making x86-64 generic build of citron"
19+
ARCH_FLAGS="-march=x86-64 -mtune=generic -O3"
20+
fi
1621
else
17-
echo "Making x86-64 generic build of citron"
18-
ARCH_FLAGS="-march=x86-64 -mtune=generic -O3"
22+
echo "Making aarch64 build of citron"
23+
ARCH_FLAGS="-march=armv8-a -mtune=generic -O3"
1924
fi
25+
2026
UPINFO="gh-releases-zsync|$(echo "$GITHUB_REPOSITORY" | tr '/' '|')|latest|*$ARCH.AppImage.zsync"
2127

2228
# BUILD CITRON, fallback to mirror if upstream repo fails to clone

get-dependencies.sh

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,9 @@ pacman -Syu --noconfirm \
3434
ffmpeg4.4 \
3535
fmt \
3636
gamemode \
37-
gcc13 \
3837
git \
3938
glslang \
4039
glu \
41-
haskell-gnutls \
4240
hidapi \
4341
libass \
4442
libdecor \
@@ -70,7 +68,6 @@ pacman -Syu --noconfirm \
7068
qt6-wayland \
7169
sdl2 \
7270
strace \
73-
svt-av1 \
7471
unzip \
7572
vulkan-headers \
7673
vulkan-nouveau \
@@ -86,7 +83,9 @@ pacman -Syu --noconfirm \
8683
zsync
8784

8885
if [ "$(uname -m)" = 'x86_64' ]; then
89-
pacman -Syu --noconfirm vulkan-intel
86+
pacman -Syu --noconfirm vulkan-intel haskell-gnutls gcc13 svt-av1
87+
else
88+
pacman -Syu --noconfirm vulkan-freedreno vulkan-panfrost
9089
fi
9190

9291

0 commit comments

Comments
 (0)