aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu
diff options
context:
space:
mode:
authorTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-30 04:39:05 -0400
committerTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-30 04:39:05 -0400
commitf241ae67ba7a1ab571e2524e2f05385d695b8af3 (patch)
tree4e208865516b4c18807ce87da09c68eee6f98606 /src/yuzu
parent5c7d304cf52535a91ad312b66b06a232ca09ca69 (diff)
qt: don't ask for decryption keys at startup
A missing prod.keys raised a Yes/No question in the main window's constructor, and every launch (also -g launches from scripts) waited on it. Loose ExeFS/RomFS dumps, all Switch 2 games so far, need no keys. Startup now only logs a warning; installing firmware or keys still asks.
Diffstat (limited to 'src/yuzu')
-rw-r--r--src/yuzu/main_window.cpp11
-rw-r--r--src/yuzu/main_window.h3
2 files changed, 10 insertions, 4 deletions
diff --git a/src/yuzu/main_window.cpp b/src/yuzu/main_window.cpp
index 13359620dd..d59ac16c07 100644
--- a/src/yuzu/main_window.cpp
+++ b/src/yuzu/main_window.cpp
@@ -446,7 +446,7 @@ MainWindow::MainWindow(bool has_broken_vulkan)
QtCommon::SetupContentProviders();
// Gen keys if necessary
- OnCheckFirmwareDecryption();
+ OnCheckFirmwareDecryption(false);
#ifdef __unix__
OnCheckGraphicsBackend();
@@ -4374,8 +4374,13 @@ void MainWindow::OnMouseActivity() {
}
}
-void MainWindow::OnCheckFirmwareDecryption() {
- if (!ContentManager::AreKeysPresent()) {
+void MainWindow::OnCheckFirmwareDecryption(bool prompt) {
+ if (!ContentManager::AreKeysPresent() && !prompt) {
+ // At startup only log it: loose ExeFS/RomFS dumps (all Switch 2 games so far) need no
+ // keys, and a modal question blocked every unattended launch. Tools > Install Decryption
+ // Keys still installs them.
+ LOG_WARNING(Frontend, "Decryption keys are missing: NCA, NSP and XCI games need them");
+ } else if (!ContentManager::AreKeysPresent()) {
const auto res = QtCommon::Frontend::Warning(
tr("Derivation Components Missing"),
tr("Decryption keys are missing. Install them now?"),
diff --git a/src/yuzu/main_window.h b/src/yuzu/main_window.h
index 8aedeec721..627ade4f6b 100644
--- a/src/yuzu/main_window.h
+++ b/src/yuzu/main_window.h
@@ -421,7 +421,8 @@ private slots:
void OnCreateHomeMenuDesktopShortcut();
void OnCreateHomeMenuApplicationMenuShortcut();
void OnCaptureScreenshot();
- void OnCheckFirmwareDecryption();
+ /// Checks for decryption keys; `prompt` asks to install them when they are missing.
+ void OnCheckFirmwareDecryption(bool prompt = true);
#ifdef __unix__
void OnCheckGraphicsBackend();
#endif