diff --git a/.ci/linux.sh b/.ci/linux.sh index d5d316b26c..88e9cb489e 100755 --- a/.ci/linux.sh +++ b/.ci/linux.sh @@ -50,8 +50,8 @@ cmake .. -G Ninja \ -DYUZU_USE_BUNDLED_QT=OFF \ -DUSE_SYSTEM_QT=ON \ -DYUZU_USE_BUNDLED_FFMPEG=OFF \ - -DYUZU_USE_BUNDLED_SDL2=ON \ - -DYUZU_USE_EXTERNAL_SDL2=OFF \ + -DYUZU_USE_BUNDLED_SDL2=OFF \ + -DYUZU_USE_EXTERNAL_SDL2=ON \ -DYUZU_TESTS=OFF \ -DYUZU_USE_LLVM_DEMANGLE=OFF \ -DYUZU_USE_QT_MULTIMEDIA=OFF \ @@ -61,6 +61,7 @@ cmake .. -G Ninja \ -DBUNDLE_SPEEX=ON \ -DYUZU_USE_FASTER_LD=OFF \ -DYUZU_ENABLE_LTO=ON \ + -DCMAKE_LINKER=/usr/bin/mold \ "${EXTRA_CMAKE_FLAGS[@]}" ninja -j${NPROC} diff --git a/.ci/package-appimage.sh b/.ci/package-appimage.sh index 240bde517a..806d3bb802 100755 --- a/.ci/package-appimage.sh +++ b/.ci/package-appimage.sh @@ -4,7 +4,8 @@ set -ex export APPIMAGE_EXTRACT_AND_RUN=1 -export ARCH="$(uname -m)" +export BASE_ARCH="$(uname -m)" +export ARCH="$BASE_ARCH" LIB4BN="https://raw.githubusercontent.com/VHSgunzo/sharun/refs/heads/main/lib4bin" URUNTIME="https://github.com/VHSgunzo/uruntime/releases/latest/download/uruntime-appimage-dwarfs-$ARCH" @@ -27,7 +28,7 @@ fi #fi # TODO: use real tags -YUZU_TAG="0.0.0" +VERSION="0.0.0" # NOW MAKE APPIMAGE mkdir -p ./AppDir @@ -51,34 +52,41 @@ if [ "$DEVEL" = 'true' ]; then UPINFO="$(echo "$UPINFO" | sed 's|latest|nightly|')" fi +LIBDIR="/usr/lib" +# some distros are weird and use a subdir + +if [ ! -f "/usr/lib/libGL.so" ] +then + LIBDIR="/usr/lib/${BASE_ARCH}-linux-gnu" +fi + # Bundle all libs wget --retry-connrefused --tries=30 "$LIB4BN" -O ./lib4bin chmod +x ./lib4bin xvfb-run -a -- ./lib4bin -p -v -e -s -k \ ../build/bin/eden* \ - /usr/lib/libGLX* \ - /usr/lib/libGL.so* \ - /usr/lib/libEGL* \ - /usr/lib/dri/* \ - /usr/lib/vdpau/* \ - /usr/lib/libvulkan* \ - /usr/lib/libXss.so* \ - /usr/lib/libdecor-0.so* \ - /usr/lib/libgamemode.so* \ - /usr/lib/qt6/plugins/audio/* \ - /usr/lib/qt6/plugins/bearer/* \ - /usr/lib/qt6/plugins/imageformats/* \ - /usr/lib/qt6/plugins/iconengines/* \ - /usr/lib/qt6/plugins/platforms/* \ - /usr/lib/qt6/plugins/platformthemes/* \ - /usr/lib/qt6/plugins/platforminputcontexts/* \ - /usr/lib/qt6/plugins/styles/* \ - /usr/lib/qt6/plugins/xcbglintegrations/* \ - /usr/lib/qt6/plugins/wayland-*/* \ - /usr/lib/pulseaudio/* \ - /usr/lib/pipewire-0.3/* \ - /usr/lib/spa-0.2/*/* \ - /usr/lib/alsa-lib/* + $LIBDIR/lib*GL*.so* \ + $LIBDIR/libSDL2*.so* \ + $LIBDIR/dri/* \ + $LIBDIR/vdpau/* \ + $LIBDIR/libvulkan* \ + $LIBDIR/libXss.so* \ + $LIBDIR/libdecor-0.so* \ + $LIBDIR/libgamemode.so* \ + $LIBDIR/qt6/plugins/audio/* \ + $LIBDIR/qt6/plugins/bearer/* \ + $LIBDIR/qt6/plugins/imageformats/* \ + $LIBDIR/qt6/plugins/iconengines/* \ + $LIBDIR/qt6/plugins/platforms/* \ + $LIBDIR/qt6/plugins/platformthemes/* \ + $LIBDIR/qt6/plugins/platforminputcontexts/* \ + $LIBDIR/qt6/plugins/styles/* \ + $LIBDIR/qt6/plugins/xcbglintegrations/* \ + $LIBDIR/qt6/plugins/wayland-*/* \ + $LIBDIR/pulseaudio/* \ + $LIBDIR/pipewire-0.3/* \ + $LIBDIR/spa-0.2/*/* \ + $LIBDIR/alsa-lib/* # Prepare sharun if [ "$ARCH" = 'aarch64' ]; then @@ -108,6 +116,7 @@ echo "Generating AppImage..." --categorize=hotness --hotness-list=.ci/eden.dwfsprof \ --compression zstd:level=22 -S26 -B32 \ --header uruntime \ + -N 4 \ -i ./AppDir -o Eden-"$VERSION"-"$ARCH".AppImage echo "Generating zsync file..." diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b67fa71119..3156655cf6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -166,7 +166,7 @@ jobs: - name: Build run: | - ./.ci/linux.sh v3 4 + ./.ci/linux.sh v3 8 - name: Package AppImage run: | @@ -201,11 +201,6 @@ jobs: fi echo $GIT_TAG_NAME - - name: Deps - run: | - sudo apt-get update -y - sudo apt-get install ccache glslang-dev glslang-tools apksigner -y - - name: Build run: JAVA_HOME=$JAVA_HOME_21_X64 ./.ci/android.sh