Update On Sat Mar 23 19:27:34 CET 2024

This commit is contained in:
github-action[bot]
2024-03-23 19:27:35 +01:00
parent b5926236c5
commit 36fa23f28f
73 changed files with 1208 additions and 448 deletions

View File

@@ -1,33 +1,37 @@
# SPDX-FileCopyrightText: 2021 yuzu Emulator Project
# SPDX-FileCopyrightText: 2024 suyu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
name: yuzu-ci
# Actions Documentation: https://forgejo.org/docs/next/user/actions/#list-of-tasks-in-a-repository
name: suyu-ci
on:
push:
branches: [ master ]
branches: [ "dev" ]
tags: [ "*" ]
pull_request:
branches: [ master ]
branches: [ "dev" ]
jobs:
transifex:
runs-on: ubuntu-latest
container: yuzuemu/build-environments:linux-transifex
if: ${{ github.repository == 'yuzu-emu/yuzu' && !github.head_ref }}
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Update Translation
run: ./.ci/scripts/transifex/docker.sh
env:
TX_TOKEN: ${{ secrets.TRANSIFEX_API_TOKEN }}
# transifex:
# runs-on: ubuntu-latest
# container: fijxu/build-environments:linux-transifex
# if: ${{ GITHUB_REPOSITORY == 'suyu/suyu' && !GITHUB_HEAD_REF }}
# steps:
# - uses: https://code.forgejo.org/actions/checkout@v3
# with:
# submodules: recursive
# fetch-depth: 0
# - name: Update Translation
# run: ./.ci/scripts/transifex/docker.sh
# env:
# TX_TOKEN: ${{ secrets.TRANSIFEX_API_TOKEN }}
reuse:
runs-on: ubuntu-latest
if: ${{ github.repository == 'yuzu-emu/yuzu' }}
if: ${{ github.repository == 'suyu/suyu' }}
steps:
- uses: actions/checkout@v3
- uses: fsfe/reuse-action@v1
- uses: https://code.forgejo.org/actions/checkout@v3
- uses: https://github.com/fsfe/reuse-action@v1

View File

@@ -9,7 +9,13 @@
# Actions Documentation: https://forgejo.org/docs/next/user/actions/#list-of-tasks-in-a-repository
name: codespell
on: pull_request
on:
push:
branches: [ "*" ]
tags: [ "*" ]
pull_request:
branches: [ "*" ]
permissions: {}
jobs:
codespell:
@@ -20,3 +26,4 @@ jobs:
with:
persist-credentials: false
- uses: https://github.com/codespell-project/actions-codespell@master

View File

@@ -1,30 +1,39 @@
# SPDX-FileCopyrightText: 2022 yuzu Emulator Project
# SPDX-FileCopyrightText: 2024 suyu Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
name: 'yuzu verify'
# Actions Documentation: https://forgejo.org/docs/next/user/actions/#list-of-tasks-in-a-repository
name: 'suyu verify'
on:
pull_request:
branches: [ master ]
branches: [ "dev" ]
push:
branches: [ "dev" ]
env:
PR_NUMBER: pr${{ github.event.number }}
CCACHE_DIR: '.ccache'
jobs:
format:
name: 'verify format'
name: 'Verify Format'
runs-on: ubuntu-latest
container:
image: fijxu/build-environments:linux-clang-format
steps:
- uses: actions/checkout@v3
- uses: https://code.forgejo.org/actions/checkout@v3
with:
submodules: false
- name: set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
# - name: set up JDK 17
# uses: https://github.com/actions/setup-java@v3
# with:
# java-version: '17'
# distribution: 'temurin'
- name: 'Verify Formatting'
run: bash -ex ./.ci/scripts/format/script.sh
build:
build-linux:
name: 'test build'
needs: format
runs-on: ubuntu-latest
@@ -39,24 +48,24 @@ jobs:
- type: windows
image: linux-mingw
container:
image: yuzuemu/build-environments:${{ matrix.image }}
image: fijxu/build-environments:${{ matrix.image }}
options: -u 1001
steps:
- uses: actions/checkout@v3
- uses: https://code.forgejo.org/actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Set up cache
uses: actions/cache@v3
uses: https://code.forgejo.org/actions/cache@v3
id: ccache-restore
with:
path: ~/.ccache
path: .ccache
key: ${{ runner.os }}-${{ matrix.type }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-${{ matrix.type }}-
- name: Create ccache directory
if: steps.ccache-restore.outputs.cache-hit != 'true'
run: mkdir -p ~/.ccache
run: mkdir -p .ccache
- name: Build
run: ./.ci/scripts/${{ matrix.type }}/docker.sh
env:
@@ -66,112 +75,112 @@ jobs:
env:
NO_SOURCE_PACK: "YES"
- name: Upload
uses: actions/upload-artifact@v3
uses: https://code.forgejo.org/actions/upload-artifact@v3
with:
name: ${{ matrix.type }}
path: artifacts/
build-mac:
name: 'test build (macos)'
needs: format
runs-on: macos-14
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Install dependencies
run: |
brew install autoconf automake boost ccache ffmpeg fmt glslang hidapi libtool libusb lz4 ninja nlohmann-json openssl pkg-config qt@5 sdl2 speexdsp zlib zlib zstd
- name: Build
run: |
mkdir build
cd build
export Qt5_DIR="$(brew --prefix qt@5)/lib/cmake"
cmake .. -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DSUYU_USE_BUNDLED_VCPKG=OFF -DSUYU_TESTS=OFF -DENABLE_WEB_SERVICE=OFF -DENABLE_LIBUSB=OFF
ninja
build-msvc:
name: 'test build (windows, msvc)'
needs: format
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Set up cache
uses: actions/cache@v3
with:
path: ~/.buildcache
key: ${{ runner.os }}-msvc-${{ github.sha }}
restore-keys: |
${{ runner.os }}-msvc-
- name: Install dependencies
shell: pwsh
run: |
$ErrorActionPreference = "Stop"
$BuildCacheVer = "v0.28.4"
$File = "buildcache-windows.zip"
$Uri = "https://github.com/mbitsnbites/buildcache/releases/download/$BuildCacheVer/$File"
$WebClient = New-Object System.Net.WebClient
$WebClient.DownloadFile($Uri, $File)
7z x $File
$CurrentDir = Convert-Path .
echo "$CurrentDir/buildcache/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Install Vulkan SDK
shell: pwsh
run: .\.ci\scripts\windows\install-vulkan-sdk.ps1
- name: Set up MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: Configure
env:
CC: cl.exe
CXX: cl.exe
run: |
glslangValidator --version
mkdir build
cmake . -B build -GNinja -DCMAKE_TOOLCHAIN_FILE="CMakeModules/MSVCCache.cmake" -DUSE_CCACHE=ON -DSUYU_USE_BUNDLED_QT=1 -DSUYU_USE_BUNDLED_SDL2=1 -DSUYU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DSUYU_ENABLE_COMPATIBILITY_REPORTING=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release -DGIT_BRANCH=pr-verify -DSUYU_CRASH_DUMPS=ON
- name: Build
run: cmake --build build
- name: Cache Summary
run: buildcache -s
- name: Pack
shell: pwsh
run: .\.ci\scripts\windows\upload.ps1
- name: Upload
uses: actions/upload-artifact@v3
with:
name: msvc
path: artifacts/
- name: Upload EXE
uses: actions/upload-artifact@v3
with:
name: ${{ env.INDIVIDUAL_EXE }}
path: ${{ env.INDIVIDUAL_EXE }}
# build-mac:
# name: 'test build (macos)'
# needs: format
# runs-on: macos-14
# steps:
# - uses: https://code.forgejo.org/actions/checkout@v3
# with:
# submodules: recursive
# fetch-depth: 0
# - name: Install dependencies
# run: |
# brew install autoconf automake boost ccache ffmpeg fmt glslang hidapi libtool libusb lz4 ninja nlohmann-json openssl pkg-config qt@5 sdl2 speexdsp zlib zlib zstd
# - name: Build
# run: |
# mkdir build
# cd build
# export Qt5_DIR="$(brew --prefix qt@5)/lib/cmake"
# cmake .. -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DSUYU_USE_BUNDLED_VCPKG=OFF -DSUYU_TESTS=OFF -DENABLE_WEB_SERVICE=OFF -DENABLE_LIBUSB=OFF
# ninja
# build-msvc:
# name: 'test build (windows, msvc)'
# needs: format
# runs-on: windows-2022
# steps:
# - uses: https://code.forgejo.org/actions/checkout@v3
# with:
# submodules: recursive
# fetch-depth: 0
# - name: Set up cache
# uses: https://code.forgejo.org/actions/cache@v3
# with:
# path: ~/.buildcache
# key: ${{ runner.os }}-msvc-${{ github.sha }}
# restore-keys: |
# ${{ runner.os }}-msvc-
# - name: Install dependencies
# shell: pwsh
# run: |
# $ErrorActionPreference = "Stop"
# $BuildCacheVer = "v0.28.4"
# $File = "buildcache-windows.zip"
# $Uri = "https://github.com/mbitsnbites/buildcache/releases/download/$BuildCacheVer/$File"
# $WebClient = New-Object System.Net.WebClient
# $WebClient.DownloadFile($Uri, $File)
# 7z x $File
# $CurrentDir = Convert-Path .
# echo "$CurrentDir/buildcache/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
# - name: Install Vulkan SDK
# shell: pwsh
# run: .\.ci\scripts\windows\install-vulkan-sdk.ps1
# - name: Set up MSVC
# uses: https://github.com/ilammy/msvc-dev-cmd@v1
# - name: Configure
# env:
# CC: cl.exe
# CXX: cl.exe
# run: |
# glslangValidator --version
# mkdir build
# cmake . -B build -GNinja -DCMAKE_TOOLCHAIN_FILE="CMakeModules/MSVCCache.cmake" -DUSE_CCACHE=ON -DSUYU_USE_BUNDLED_QT=1 -DSUYU_USE_BUNDLED_SDL2=1 -DSUYU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DSUYU_ENABLE_COMPATIBILITY_REPORTING=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release -DGIT_BRANCH=pr-verify -DSUYU_CRASH_DUMPS=ON
# - name: Build
# run: cmake --build build
# - name: Cache Summary
# run: buildcache -s
# - name: Pack
# shell: pwsh
# run: .\.ci\scripts\windows\upload.ps1
# - name: Upload
# uses: https://code.forgejo.org/actions/upload-artifact@v3
# with:
# name: msvc
# path: artifacts/
# - name: Upload EXE
# uses: https://code.forgejo.org/actions/upload-artifact@v3
# with:
# name: ${{ env.INDIVIDUAL_EXE }}
# path: ${{ env.INDIVIDUAL_EXE }}
android:
runs-on: ubuntu-latest
needs: format
steps:
- uses: actions/checkout@v3
- uses: https://code.forgejo.org/actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: set up JDK 17
uses: actions/setup-java@v3
uses: https://github.com/actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Set up cache
uses: actions/cache@v3
uses: https://code.forgejo.org/actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
~/.ccache
.ccache
key: ${{ runner.os }}-android-${{ github.sha }}
restore-keys: |
${{ runner.os }}-android-
- name: Query tag name
uses: olegtarasov/get-tag@v2.1.2
uses: https://github.com/olegtarasov/get-tag@v2.1.2
id: tagName
- name: Install dependencies
run: |
@@ -186,7 +195,8 @@ jobs:
ANDROID_KEYSTORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASS }}
run: ./.ci/scripts/android/upload.sh
- name: Upload
uses: actions/upload-artifact@v3
uses: https://code.forgejo.org/actions/upload-artifact@v3
with:
name: android
path: artifacts/

10
suyu/.gitmodules vendored
View File

@@ -9,22 +9,22 @@
url = https://github.com/mozilla/cubeb.git
[submodule "dynarmic"]
path = externals/dynarmic
url = https://gitlab.com/suyu-emu/dynarmic.git
url = https://git.suyu.dev/suyu/dynarmic.git
[submodule "libusb"]
path = externals/libusb/libusb
url = https://github.com/libusb/libusb.git
[submodule "discord-rpc"]
path = externals/discord-rpc
url = https://gitlab.com/suyu-emu/discord-rpc.git
url = https://git.suyu.dev/suyu/discord-rpc.git
[submodule "Vulkan-Headers"]
path = externals/Vulkan-Headers
url = https://github.com/KhronosGroup/Vulkan-Headers.git
[submodule "sirit"]
path = externals/sirit
url = https://gitlab.com/suyu-emu/sirit.git
url = https://git.suyu.dev/suyu/sirit.git
[submodule "mbedtls"]
path = externals/mbedtls
url = https://gitlab.com/suyu-emu/mbedtls.git
url = https://git.suyu.dev/suyu/mbedtls.git
[submodule "xbyak"]
path = externals/xbyak
url = https://github.com/herumi/xbyak.git
@@ -57,7 +57,7 @@
url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
[submodule "breakpad"]
path = externals/breakpad
url = https://gitlab.com/suyu-emu/breakpad.git
url = https://git.suyu.dev/suyu/breakpad.git
[submodule "simpleini"]
path = externals/simpleini
url = https://github.com/brofield/simpleini.git

View File

@@ -1,6 +1,6 @@
<!--
SPDX-FileCopyrightText: 2024 suyu emulator project
SPDX-License-Identifier: GPL v3
SPDX-License-Identifier: GPL-3.0-or-later
-->
**Note**: We do not support or condone piracy in any form. In order to use suyu, you'll need keys from your real Switch system, and games which you have legally obtained and paid for. We do not intend to make money or profit from this project.
@@ -60,8 +60,10 @@ We have official builds [here.](https://git.suyu.dev/suyu/suyu/releases) If any
## Building
* __Windows__: [Wiki page](https://git.suyu.dev/suyu/suyu/wiki/Building-for-Windows)
* __Linux__: [Wiki page](https://git.suyu.dev/suyu/suyu/wiki/Building-for-Linux)
* __Windows__: [Windows Build](https://git.suyu.dev/suyu/suyu/wiki/Building-For-Windows)
* __Linux__: [Linux Build](https://git.suyu.dev/suyu/suyu/wiki/Building-For-Linux)
* __Android__: [Android Build](https://git.suyu.dev/suyu/suyu/wiki/Building-For-Android)
* __MacOS__: [MacOS Build](https://git.suyu.dev/suyu/suyu/wiki/Building-for-macOS)
@@ -72,4 +74,4 @@ If you have any questions, don't hesitate to ask us on [Discord](https://discord
## License
suyu is licensed under the free and open-source GPL v3 license.
suyu is licensed under the free and open-source GPL-3.0-or-later license.

View File

@@ -12,6 +12,7 @@
#include <thread>
#include "core/hle/service/am/applet_manager.h"
#include "core/loader/nca.h"
#include "core/loader/nro.h"
#include "core/tools/renderdoc.h"
#ifdef __APPLE__
@@ -1747,18 +1748,21 @@ void GMainWindow::AllowOSSleep() {
}
bool GMainWindow::LoadROM(const QString& filename, Service::AM::FrontendAppletParameters params) {
if (!CheckFirmwarePresence()) {
QMessageBox::critical(this, tr("Component Missing"), tr("Missing Firmware."));
return false;
}
if (Loader::AppLoader_NRO::IdentifyType(Core::GetGameFileFromPath(vfs, filename.toStdString())) !=
Loader::FileType::NRO) {
if (!CheckFirmwarePresence()) {
QMessageBox::critical(this, tr("Component Missing"), tr("Missing Firmware."));
return false;
}
if (!ContentManager::AreKeysPresent()) {
QMessageBox::warning(this, tr("Derivation Components Missing"),
tr("Encryption keys are missing. "
"In order to use this emulator"
"you need to provide your own encryption keys"
"in order to play them."));
return false;
if (!ContentManager::AreKeysPresent()) {
QMessageBox::warning(this, tr("Derivation Components Missing"),
tr("Encryption keys are missing. "
"In order to use this emulator, "
"you need to provide your own encryption keys "
"in order to play them."));
return false;
}
}
// Shutdown previous session if the emu thread is still active...
@@ -4630,8 +4634,8 @@ void GMainWindow::OnCheckFirmwareDecryption() {
if (!ContentManager::AreKeysPresent()) {
QMessageBox::warning(this, tr("Derivation Components Missing"),
tr("Encryption keys are missing. "
"In order to use this emulator"
"you need to provide your own encryption keys"
"In order to use this emulator, "
"you need to provide your own encryption keys "
"in order to play them."));
}

View File

@@ -702,7 +702,7 @@ public:
return properties.driver.driverID == VK_DRIVER_ID_NVIDIA_PROPRIETARY;
}
/// Checks if we are runing MolvenVK.
/// Checks if we are running MolvenVK.
bool IsMoltenVK() const noexcept {
return properties.driver.driverID == VK_DRIVER_ID_MOLTENVK;
}