fix(settings): correct the #652 Sandbox row — device access is already granted

The published Flathub manifest has shipped --device=all since 2026-05-30
(flathub/com.blitzfc.qbz@11d38546), so /dev/snd IS exposed in the sandbox;
the device-override row added earlier on this branch was diagnosed against
the stale pre-repack local manifest clone and would have users grant what
they already have. The likely #652 mechanism is the ReserveDevice1 name
(qbz-audio device_reservation): PipeWire holds the DAC and Flatpak can't
own org.freedesktop.ReserveDevice1.* (Flathub linter blocks it), which is
exactly what the pre-existing Sandbox row fixes. Drop the device=all row
and make that row's note name the #652 symptom explicitly.

km
This commit is contained in:
vicrodh committed 2026-07-23 09:35:09 -06:00
1 parent cfa88098ee
commit 5b525b9e89
9 files changed
+24 -81

No files matched your search

@@ -4682,14 +4682,8 @@ msgstr "QBZ läuft in einer Snap-Sandbox. Manche Audio-Schnittstellen müssen ei
msgid "Exclusive DAC access (bit-perfect)"
msgstr "Exklusiver DAC-Zugriff (Bit-perfekt)"
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation)."
msgstr "Empfohlen für den exklusiven Modus: QBZ kann PipeWire bitten, den DAC sauber zu übergeben (D-Bus-Gerätereservierung)."
msgid "ALSA direct / exclusive DAC access"
msgstr "ALSA direkt / exklusiver DAC-Zugriff"
msgid "Exclusive mode silently falls back to PipeWire without this grant: the sandbox cannot see the sound hardware (/dev/snd), so even with ALSA + hw + Exclusive selected other apps still mix through the DAC. Grants direct device access; restart QBZ afterwards."
msgstr "Ohne diese Berechtigung fällt der exklusive Modus unbemerkt auf PipeWire zurück: Die Sandbox sieht die Audio-Hardware (/dev/snd) nicht, sodass selbst bei gewähltem ALSA + hw + Exklusiv andere Apps weiterhin über den DAC mischen. Gewährt direkten Gerätezugriff; starte QBZ danach neu."
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation). Without it, PipeWire keeps holding the DAC and other apps keep mixing through it even with ALSA + hw + Exclusive selected."
msgstr "Für den exklusiven Modus empfohlen: QBZ kann PipeWire bitten, den DAC sauber zu übergeben (D-Bus-Gerätereservierung). Ohne sie hält PipeWire den DAC weiter und andere Apps mischen trotz gewähltem ALSA + hw + Exklusiv weiter darüber."
msgid "Music on NAS or external drives"
msgstr "Musik auf NAS oder externen Laufwerken"
@@ -475,14 +475,8 @@ msgstr "QBZ is running inside a Snap sandbox. Some audio interfaces need one-tim
msgid "Exclusive DAC access (bit-perfect)"
msgstr "Exclusive DAC access (bit-perfect)"
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation)."
msgstr "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation)."
msgid "ALSA direct / exclusive DAC access"
msgstr "ALSA direct / exclusive DAC access"
msgid "Exclusive mode silently falls back to PipeWire without this grant: the sandbox cannot see the sound hardware (/dev/snd), so even with ALSA + hw + Exclusive selected other apps still mix through the DAC. Grants direct device access; restart QBZ afterwards."
msgstr "Exclusive mode silently falls back to PipeWire without this grant: the sandbox cannot see the sound hardware (/dev/snd), so even with ALSA + hw + Exclusive selected other apps still mix through the DAC. Grants direct device access; restart QBZ afterwards."
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation). Without it, PipeWire keeps holding the DAC and other apps keep mixing through it even with ALSA + hw + Exclusive selected."
msgstr "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation). Without it, PipeWire keeps holding the DAC and other apps keep mixing through it even with ALSA + hw + Exclusive selected."
msgid "Music on NAS or external drives"
msgstr "Music on NAS or external drives"
@@ -4712,14 +4712,8 @@ msgstr "QBZ se está ejecutando dentro de un sandbox de Snap. Algunas interfaces
msgid "Exclusive DAC access (bit-perfect)"
msgstr "Acceso exclusivo al DAC (bit-perfect)"
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation)."
msgstr "Recomendado para el modo exclusivo: permite que QBZ le pida a PipeWire que entregue el DAC limpiamente (reserva de dispositivo por D-Bus)."
msgid "ALSA direct / exclusive DAC access"
msgstr "Acceso ALSA directo / exclusivo al DAC"
msgid "Exclusive mode silently falls back to PipeWire without this grant: the sandbox cannot see the sound hardware (/dev/snd), so even with ALSA + hw + Exclusive selected other apps still mix through the DAC. Grants direct device access; restart QBZ afterwards."
msgstr "Sin este permiso, el modo exclusivo recurre silenciosamente a PipeWire: el sandbox no puede ver el hardware de sonido (/dev/snd), así que incluso con ALSA + hw + Exclusivo seleccionado otras aplicaciones siguen mezclando a través del DAC. Da acceso directo al dispositivo; reinicia QBZ después."
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation). Without it, PipeWire keeps holding the DAC and other apps keep mixing through it even with ALSA + hw + Exclusive selected."
msgstr "Recomendado para el modo exclusivo: permite a QBZ pedirle a PipeWire que entregue el DAC limpiamente (reserva de dispositivo por D-Bus). Sin esto, PipeWire retiene el DAC y otras aplicaciones siguen mezclando a través de él incluso con ALSA + hw + Exclusivo seleccionado."
msgid "Music on NAS or external drives"
msgstr "Música en NAS o discos externos"
@@ -4682,14 +4682,8 @@ msgstr "QBZ s'exécute dans un sandbox Snap. Certaines interfaces audio doivent
msgid "Exclusive DAC access (bit-perfect)"
msgstr "Accès exclusif au DAC (bit-perfect)"
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation)."
msgstr "Recommandé pour le mode exclusif : permet à QBZ de demander à PipeWire de céder le DAC proprement (réservation de périphérique D-Bus)."
msgid "ALSA direct / exclusive DAC access"
msgstr "ALSA direct / accès exclusif au DAC"
msgid "Exclusive mode silently falls back to PipeWire without this grant: the sandbox cannot see the sound hardware (/dev/snd), so even with ALSA + hw + Exclusive selected other apps still mix through the DAC. Grants direct device access; restart QBZ afterwards."
msgstr "Sans cette autorisation, le mode exclusif bascule silencieusement sur PipeWire : le sandbox ne voit pas le matériel audio (/dev/snd), donc même avec ALSA + hw + Exclusif sélectionné, d'autres applications continuent de mixer via le DAC. Accorde un accès direct au périphérique ; redémarrez QBZ ensuite."
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation). Without it, PipeWire keeps holding the DAC and other apps keep mixing through it even with ALSA + hw + Exclusive selected."
msgstr "Recommandé pour le mode exclusif : permet à QBZ de demander à PipeWire de céder le DAC proprement (réservation de périphérique D-Bus). Sans cela, PipeWire conserve le DAC et d'autres applications continuent de mixer dessus même avec ALSA + hw + Exclusif sélectionné."
msgid "Music on NAS or external drives"
msgstr "Musique sur NAS ou disques externes"
@@ -4670,14 +4670,8 @@ msgstr "QBZ は Snap サンドボックス内で動作しています。一部
msgid "Exclusive DAC access (bit-perfect)"
msgstr "DAC 排他アクセス(ビットパーフェクト)"
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation)."
msgstr "排他モードに推奨:PipeWire に DAC のクリーンな引き渡しを要求できます(D-Bus デバイス予約)。"
msgid "ALSA direct / exclusive DAC access"
msgstr "ALSA 直接 / DAC 排他アクセス"
msgid "Exclusive mode silently falls back to PipeWire without this grant: the sandbox cannot see the sound hardware (/dev/snd), so even with ALSA + hw + Exclusive selected other apps still mix through the DAC. Grants direct device access; restart QBZ afterwards."
msgstr "この権限がないと、排他モードは通知なく PipeWire にフォールバックします。サンドボックスからサウンドハードウェア(/dev/snd)が見えないため、ALSA + hw + Exclusive を選択していても他のアプリが DAC 経由で音をミックスし続けます。デバイスへの直接アクセスを許可します。実行後に QBZ を再起動してください。"
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation). Without it, PipeWire keeps holding the DAC and other apps keep mixing through it even with ALSA + hw + Exclusive selected."
msgstr "排他モードに推奨:QBZ が PipeWire に DAC の引き渡しを要求できます(D-Bus デバイス予約)。これがないと PipeWire が DAC を保持し続け、ALSA + hw + Exclusive を選択していても他のアプリの音が混ざり続けます。"
msgid "Music on NAS or external drives"
msgstr "NAS や外部ドライブの音楽"
@@ -4694,14 +4694,8 @@ msgstr "QBZ draait in een Snap-sandbox. Sommige audio-interfaces moeten eenmalig
msgid "Exclusive DAC access (bit-perfect)"
msgstr "Exclusieve DAC-toegang (bit-perfect)"
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation)."
msgstr "Aanbevolen voor de exclusieve modus: laat QBZ PipeWire vragen de DAC netjes vrij te geven (D-Bus-apparaatreservering)."
msgid "ALSA direct / exclusive DAC access"
msgstr "ALSA direct / exclusieve DAC-toegang"
msgid "Exclusive mode silently falls back to PipeWire without this grant: the sandbox cannot see the sound hardware (/dev/snd), so even with ALSA + hw + Exclusive selected other apps still mix through the DAC. Grants direct device access; restart QBZ afterwards."
msgstr "Zonder dit recht valt de exclusieve modus ongemerkt terug op PipeWire: de sandbox kan de audiohardware (/dev/snd) niet zien, dus zelfs met ALSA + hw + Exclusief geselecteerd mixen andere apps nog steeds via de DAC. Verleent directe apparaattoegang; herstart daarna QBZ."
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation). Without it, PipeWire keeps holding the DAC and other apps keep mixing through it even with ALSA + hw + Exclusive selected."
msgstr "Aanbevolen voor exclusieve modus: laat QBZ PipeWire vragen de DAC netjes over te dragen (D-Bus-apparaatreservering). Zonder dit houdt PipeWire de DAC vast en mixen andere apps er nog steeds doorheen, zelfs met ALSA + hw + Exclusief geselecteerd."
msgid "Music on NAS or external drives"
msgstr "Muziek op NAS of externe schijven"
@@ -4682,14 +4682,8 @@ msgstr "O QBZ está a correr dentro de uma sandbox Snap. Algumas interfaces de
msgid "Exclusive DAC access (bit-perfect)"
msgstr "Acesso exclusivo ao DAC (bit-perfect)"
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation)."
msgstr "Recomendado para o modo exclusivo: permite ao QBZ pedir ao PipeWire que entregue o DAC de forma limpa (reserva de dispositivo via D-Bus)."
msgid "ALSA direct / exclusive DAC access"
msgstr "ALSA direto / acesso exclusivo ao DAC"
msgid "Exclusive mode silently falls back to PipeWire without this grant: the sandbox cannot see the sound hardware (/dev/snd), so even with ALSA + hw + Exclusive selected other apps still mix through the DAC. Grants direct device access; restart QBZ afterwards."
msgstr "Sem esta permissão, o modo exclusivo volta silenciosamente para o PipeWire: a sandbox não consegue ver o hardware de som (/dev/snd), por isso, mesmo com ALSA + hw + Exclusivo selecionado, outras aplicações continuam a misturar através do DAC. Concede acesso direto ao dispositivo; reinicie o QBZ a seguir."
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation). Without it, PipeWire keeps holding the DAC and other apps keep mixing through it even with ALSA + hw + Exclusive selected."
msgstr "Recomendado para o modo exclusivo: permite ao QBZ pedir ao PipeWire que entregue o DAC limpamente (reserva de dispositivo via D-Bus). Sem isto, o PipeWire mantém o DAC e outras aplicações continuam a misturar através dele mesmo com ALSA + hw + Exclusivo selecionado."
msgid "Music on NAS or external drives"
msgstr "Música em NAS ou discos externos"
@@ -4696,14 +4696,8 @@ msgstr "QBZ работает внутри песочницы Snap. Некото
msgid "Exclusive DAC access (bit-perfect)"
msgstr "Эксклюзивный доступ к ЦАП (bit-perfect)"
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation)."
msgstr "Рекомендуется для эксклюзивного режима: позволяет QBZ попросить PipeWire корректно освободить ЦАП (резервирование устройства через D-Bus)."
msgid "ALSA direct / exclusive DAC access"
msgstr "ALSA напрямую / эксклюзивный доступ к ЦАП"
msgid "Exclusive mode silently falls back to PipeWire without this grant: the sandbox cannot see the sound hardware (/dev/snd), so even with ALSA + hw + Exclusive selected other apps still mix through the DAC. Grants direct device access; restart QBZ afterwards."
msgstr "Без этого разрешения эксклюзивный режим незаметно переключается на PipeWire: песочница не видит звуковое оборудование (/dev/snd), поэтому даже при выбранном ALSA + hw + Exclusive другие приложения продолжают микшировать через ЦАП. Даёт прямой доступ к устройству; после этого перезапустите QBZ."
msgid "Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation). Without it, PipeWire keeps holding the DAC and other apps keep mixing through it even with ALSA + hw + Exclusive selected."
msgstr "Рекомендуется для эксклюзивного режима: позволяет QBZ попросить PipeWire корректно передать ЦАП (резервирование устройства через D-Bus). Без этого PipeWire удерживает ЦАП и другие приложения продолжают микшировать через него даже при выбранном ALSA + hw + Exclusive."
msgid "Music on NAS or external drives"
msgstr "Музыка на NAS или внешних дисках"
@@ -4,13 +4,13 @@
// install-method); hidden on native/dev installs.
//
// Flatpak rows: exclusive-DAC D-Bus reservation (the user-side fix for
// discussion #641 — the Flathub manifest can't carry the wildcard own-name,
// so the user grants it locally via `flatpak override`), direct sound-device
// access (the user-side fix for #652 — without /dev/snd inside the sandbox
// an ALSA "exclusive" output can't open hw:X,0 and silently falls back to
// PipeWire; the owner decided against a manifest change to avoid Flathub
// reviewer friction) and filesystem access for NAS/external music
// libraries. Discord's IPC override stays in
// discussion #641 AND issue #652 — the Flathub manifest can't carry the
// wildcard own-name, so the user grants it locally via `flatpak override`;
// without it PipeWire keeps the DAC and an "exclusive" ALSA output falls
// back to PipeWire mixing) and filesystem access for NAS/external music
// libraries. NOTE: the published manifest already ships --device=all
// (flathub/com.blitzfc.qbz@11d38546, since 1.2.15) — /dev/snd IS exposed,
// do not "fix" #652 with a device override. Discord's IPC override stays in
// Integrations (already there). Snap rows: the audio interface connections
// from the Tauri section (snap name is `qbz-player`).
//
@@ -135,22 +135,13 @@ export component SandboxSettings inherits VerticalLayout {
RowTitle { text: @tr("Exclusive DAC access (bit-perfect)"); }
RowNote {
text: @tr("Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation).");
text: @tr("Recommended for exclusive mode: lets QBZ ask PipeWire to hand over the DAC cleanly (D-Bus device reservation). Without it, PipeWire keeps holding the DAC and other apps keep mixing through it even with ALSA + hw + Exclusive selected.");
}
CommandBlock {
command: "flatpak override --user --own-name=org.freedesktop.ReserveDevice1.* com.blitzfc.qbz";
}
Rectangle { height: 8px; }
RowTitle { text: @tr("ALSA direct / exclusive DAC access"); }
RowNote {
text: @tr("Exclusive mode silently falls back to PipeWire without this grant: the sandbox cannot see the sound hardware (/dev/snd), so even with ALSA + hw + Exclusive selected other apps still mix through the DAC. Grants direct device access; restart QBZ afterwards.");
}
CommandBlock {
command: "flatpak override --user --device=all com.blitzfc.qbz";
}
Rectangle { height: 8px; }
RowTitle { text: @tr("Music on NAS or external drives"); }
RowNote {
text: @tr("Grants access to a folder outside the sandbox. Repeat the command for each folder you need.");