Skip to content
Open

SDL3 #31

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions .ci/android/build.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
#!/bin/bash -e
#!/bin/bash -ex

# SPDX-FileCopyrightText: 2025 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later

export NDK_CCACHE=$(which ccache)

if [ ! -z "${ANDROID_KEYSTORE_B64}" ]; then
export ANDROID_KEYSTORE_FILE="${GITHUB_WORKSPACE}/ks.jks"
base64 --decode <<< "${ANDROID_KEYSTORE_B64}" > "${ANDROID_KEYSTORE_FILE}"
Expand All @@ -13,7 +11,7 @@ else
exit 1
fi

SHA1SUM=$(keytool -list -v -storepass ${ANDROID_KEYSTORE_PASS} -keystore ${ANDROID_KEYSTORE_FILE} | grep SHA1 | cut -d " " -f3)
SHA1SUM=$(keytool -list -v -storepass "${ANDROID_KEYSTORE_PASS}" -keystore "${ANDROID_KEYSTORE_FILE}" | grep SHA1 | cut -d " " -f3)
echo "Keystore SHA1 is ${SHA1SUM}"

cd src/android
Expand Down
5 changes: 5 additions & 0 deletions .ci/android/deps.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
#!/bin/sh -e

# Explicitly disable man-db auto update (takes forever lol)
sudo rm /var/lib/man-db/auto-update

sudo apt-get update -y
sudo apt-get install apksigner glslang-tools libvulkan-dev python3-requests -y
6 changes: 3 additions & 3 deletions .ci/clone.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh -x
#!/bin/sh -e

TRIES=0

Expand All @@ -17,9 +17,9 @@ done

cd eden
git fetch --all
git checkout $FORGEJO_REF
git checkout "$FORGEJO_REF"

echo $FORGEJO_BRANCH > GIT-REFSPEC
echo "$FORGEJO_BRANCH" > GIT-REFSPEC
git rev-parse --short=10 HEAD > GIT-COMMIT
git describe --tags HEAD --abbrev=0 > GIT-TAG || echo 'v0.0.3' > GIT-TAG

Expand Down
24 changes: 5 additions & 19 deletions .ci/linux/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,45 +6,36 @@
case "$1" in
amd64 | "")
echo "Making amd64-v3 optimized build of Eden"
ARCH="amd64_v3"
ARCH_FLAGS="-march=x86-64-v3 -mtune=generic"
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=v3)
;;
steamdeck | zen2)
echo "Making Steam Deck (Zen 2) optimized build of Eden"
ARCH="steamdeck"
ARCH_FLAGS="-march=znver2 -mtune=znver2"
SDL2=external
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=zen2 -DYUZU_SYSTEM_PROFILE=steamdeck)
;;
rog-ally | allyx | zen4)
echo "Making ROG Ally X (Zen 4) optimized build of Eden"
ARCH="rog-ally-x"
ARCH_FLAGS="-march=znver4 -mtune=znver4"
SDL2=external
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=zen2 -DYUZU_SYSTEM_PROFILE=steamdeck)
;;
legacy)
echo "Making amd64 generic build of Eden"
ARCH=amd64
ARCH_FLAGS="-march=x86-64 -mtune=generic"
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=generic)
;;
aarch64)
echo "Making armv8-a build of Eden"
ARCH=aarch64
ARCH_FLAGS="-march=armv8-a -mtune=generic"
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=generic)
;;
armv9)
echo "Making armv9-a build of Eden"
ARCH=armv9
ARCH_FLAGS="-march=armv9-a -mtune=generic"
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=armv9)
;;
native)
echo "Making native build of Eden"
ARCH="$(uname -m)"
ARCH_FLAGS="-march=native -mtune=native"
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=native)
;;
Expand All @@ -64,17 +55,11 @@ EXTRA_CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=/usr -DYUZU_ROOM=ON -DYUZU_ROOM_STAND

[ "$DEVEL" != "true" ] && EXTRA_CMAKE_FLAGS+=(-DENABLE_QT_UPDATE_CHECKER=ON)

if [ "$SDL2" = "external" ]; then
EXTRA_CMAKE_FLAGS+=(-DYUZU_USE_EXTERNAL_SDL2=ON)
else
EXTRA_CMAKE_FLAGS+=(-DYUZU_USE_BUNDLED_SDL2=ON)
fi

EXTRA_CMAKE_FLAGS+=("$@")

mkdir -p build && cd build
cmake .. -G Ninja \
-DCMAKE_BUILD_TYPE=${BUILD_TYPE:-Release} \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE:-Release}" \
-DENABLE_QT_TRANSLATION=ON \
-DUSE_DISCORD_PRESENCE=ON \
-DCMAKE_CXX_FLAGS="$ARCH_FLAGS" \
Expand All @@ -86,16 +71,17 @@ cmake .. -G Ninja \
-DYUZU_USE_CPM=OFF \
-DYUZU_USE_BUNDLED_FFMPEG=ON \
-DYUZU_USE_BUNDLED_SIRIT=ON \
-DYUZU_USE_QT_MULTIMEDIA=${MULTIMEDIA:-OFF} \
-DYUZU_USE_QT_WEB_ENGINE=${WEBENGINE:-OFF} \
-DYUZU_USE_BUNDLED_SDL3=ON \
-DYUZU_USE_QT_MULTIMEDIA="${MULTIMEDIA:-OFF}" \
-DYUZU_USE_QT_WEB_ENGINE="${WEBENGINE:-OFF}" \
-DYUZU_ENABLE_LTO=ON \
-DDYNARMIC_ENABLE_LTO=ON \
-DYUZU_USE_FASTER_LD=ON \
-DYUZU_USE_BUNDLED_OPENSSL=ON \
-DYUZU_DISABLE_LLVM=ON \
"${EXTRA_CMAKE_FLAGS[@]}"

ninja -j$(nproc)
ninja -j"$(nproc)"

if [ -d "bin/Release" ]; then
strip -s bin/Release/*
Expand Down
1 change: 0 additions & 1 deletion .ci/linux/deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

set -eux

ARCH="$(uname -m)"
EXTRA_PACKAGES="https://raw.githubusercontent.com/pkgforge-dev/Anylinux-AppImages/refs/heads/main/useful-tools/get-debloated-pkgs.sh"

echo "Installing build dependencies..."
Expand Down
4 changes: 2 additions & 2 deletions .ci/linux/package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,14 @@ export OUTNAME="Eden-$VERSION-$ARCH.AppImage"
export UPINFO="gh-releases-zsync|eden-emulator|Releases|latest|*-$ARCH.AppImage.zsync"

if [ "$DEVEL" = 'true' ]; then
sed -i 's|Name=Eden|Name=Eden Nightly|' $DESKTOP
sed -i 's|Name=Eden|Name=Eden Nightly|' "$DESKTOP"
UPINFO="$(echo "$UPINFO" | sed 's|Releases|nightly|')"
fi

# deploy
wget --retry-connrefused --tries=30 "$SHARUN" -O ./quick-sharun
chmod +x ./quick-sharun
./quick-sharun $BUILDDIR/bin/eden
./quick-sharun "$BUILDDIR"/bin/eden

# Wayland is mankind's worst invention, perhaps only behind war
echo 'QT_QPA_PLATFORM=xcb' >> AppDir/.env
Expand Down
2 changes: 1 addition & 1 deletion .ci/macos/deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ brew install --formula --quiet \
openssl \
opus \
pkg-config \
sdl2 \
sdl3 \
speexdsp \
spirv-headers \
spirv-tools \
Expand Down
8 changes: 4 additions & 4 deletions .ci/parse.sh
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
#!/bin/bash -x
#!/bin/sh -x

echo $PAYLOAD_JSON

DEFAULT=update-fmt
DEFAULT=sdl3

case "$1" in
master)
FORGEJO_REF=$(echo "$PAYLOAD_JSON" | jq -r '.ref')
FORGEJO_BEFORE=$(echo "$PAYLOAD_JSON" | jq -r '.before')
# FORGEJO_BEFORE=$(echo "$PAYLOAD_JSON" | jq -r '.before')
FORGEJO_BRANCH=master

echo "FORGEJO_CLONE_URL=https://git.eden-emu.dev/eden-emu/eden.git" >> $GITHUB_ENV
Expand All @@ -33,7 +33,7 @@ case "$1" in
echo "FORGEJO_CLONE_URL=https://git.eden-emu.dev/eden-emu/eden.git" >> $GITHUB_ENV
;;
push)
echo "FORGEJO_CLONE_URL=https://git.eden-emu.dev/eden-emu/eden.git" >> $GITHUB_ENV
echo "FORGEJO_CLONE_URL=https://git.eden-emu.dev/octocar/eden.git" >> $GITHUB_ENV
FORGEJO_REF=origin/$DEFAULT
FORGEJO_BRANCH=$DEFAULT
esac
Expand Down
2 changes: 1 addition & 1 deletion .ci/windows/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ cmake .. -G Ninja \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE:-Release}" \
-DENABLE_QT_TRANSLATION=ON \
-DUSE_DISCORD_PRESENCE=ON \
-DYUZU_USE_BUNDLED_SDL2=ON \
-DYUZU_USE_BUNDLED_SDL3=ON \
-DBUILD_TESTING=OFF \
-DYUZU_TESTS=OFF \
-DDYNARMIC_TESTS=OFF \
Expand Down
17 changes: 9 additions & 8 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ on:

env:
DISABLE_ARM: ${{ vars.DISABLE_ARM }}
CPM_CACHE_KEY: "v6"

jobs:
summary:
Expand Down Expand Up @@ -198,9 +199,9 @@ jobs:
path: |
${{ github.workspace }}/.cache
${{ github.workspace }}/build/_deps/*-build
key: ${{ runner.os }}-${{ matrix.os.arch }}-cpm-v5-${{ github.run_id }}
key: ${{ runner.os }}-${{ matrix.os.arch }}-cpm-${{ env.CPM_CACHE_KEY }}-${{ github.run_id }}
restore-keys: |
${{ runner.os }}-${{ matrix.os.arch }}-cpm-v5-
${{ runner.os }}-${{ matrix.os.arch }}-cpm-${{ env.CPM_CACHE_KEY }}-

- name: Build
shell: bash
Expand Down Expand Up @@ -287,9 +288,9 @@ jobs:
path: |
${{ github.workspace }}/.cache
${{ github.workspace }}/build/_deps/*-build
key: ${{ runner.os }}-${{ matrix.os.arch }}-${{ matrix.compiler }}-unix-cpm-v5-${{ github.run_id }}
key: ${{ runner.os }}-${{ matrix.os.arch }}-${{ matrix.compiler }}-unix-cpm-${{ env.CPM_CACHE_KEY }}-${{ github.run_id }}
restore-keys: |
${{ runner.os }}-${{ matrix.os.arch }}-${{ matrix.compiler }}-unix-cpm-v5-
${{ runner.os }}-${{ matrix.os.arch }}-${{ matrix.compiler }}-unix-cpm-${{ env.CPM_CACHE_KEY }}-

- name: Set up MSVC
uses: ilammy/msvc-dev-cmd@v1
Expand Down Expand Up @@ -360,9 +361,9 @@ jobs:
path: |
${{ github.workspace }}/.cache
${{ github.workspace }}/build/_deps/*-build
key: ${{ runner.os }}-cpm-v5-${{ github.run_id }}
key: ${{ runner.os }}-cpm-${{ env.CPM_CACHE_KEY }}-${{ github.run_id }}
restore-keys: |
${{ runner.os }}-cpm-v5-
${{ runner.os }}-cpm-${{ env.CPM_CACHE_KEY }}-

- name: Build
run: |
Expand Down Expand Up @@ -432,9 +433,9 @@ jobs:
path: |
${{ github.workspace }}/.cache
${{ github.workspace }}/build/_deps/*-build
key: ${{ runner.os }}-cpm-v5-${{ github.run_id }}
key: ${{ runner.os }}-cpm-${{ env.CPM_CACHE_KEY }}-${{ github.run_id }}
restore-keys: |
${{ runner.os }}-cpm-v5-
${{ runner.os }}-cpm-${{ env.CPM_CACHE_KEY }}-

- name: Build
run: |
Expand Down