diff --git a/src/firejail/main.c b/src/firejail/main.c index b0d5dac172a..e3dab561c00 100644 --- a/src/firejail/main.c +++ b/src/firejail/main.c @@ -3217,13 +3217,18 @@ int main(int argc, char **argv, char **envp) { gid_t g; if (!arg_nogroups || !check_can_drop_all_groups()) { - // add audio group + // add audio groups if (!arg_nosound) { g = get_group_id("audio"); if (g) { sprintf(ptr, "%d %d 1\n", g, g); ptr += strlen(ptr); } + g = get_group_id("pipewire"); + if (g) { + sprintf(ptr, "%d %d 1\n", g, g); + ptr += strlen(ptr); + } } // add video group diff --git a/src/firejail/util.c b/src/firejail/util.c index 970832b38dc..bd32181b5e7 100644 --- a/src/firejail/util.c +++ b/src/firejail/util.c @@ -207,6 +207,8 @@ static void clean_supplementary_groups(gid_t gid) { if (!arg_nosound) { copy_group_ifcont("audio", groups, ngroups, new_groups, &new_ngroups, MAX_GROUPS); + copy_group_ifcont("pipewire", groups, ngroups, + new_groups, &new_ngroups, MAX_GROUPS); } if (!arg_novideo) {