fix(niri): route Zoom screen sharing through xdg-desktop-portal-wlr 0.8.2

niri 26.04 exposes DMA-BUF only, which Zoom 7.2.1 rejects. xdg-desktop-portal-wlr 0.8.2 provides the working SHM path; 0.8.4 regresses Zoom SelectSources.

Assisted-by: DeepSeek Harness (deepseek-flash)
This commit is contained in:
Ryan Yin committed 2026-10-31 22:44:16 +08:00
1 parent 818965a11f
commit 30cb22500f
2 files changed
+15 -6

No files matched your search

+14 -6
View File
@@ -1,4 +1,9 @@
{ lib, pkgs, ... }:
{
lib,
pkgs,
pkgs-stable,
...
}:
{
xdg.terminal-exec = {
enable = true;
@@ -33,12 +38,13 @@
config = {
common = {
# Use xdg-desktop-portal-gtk for every portal interface...
# Prefer the GTK portal for interfaces it implements.
default = [
"gtk"
"gnome"
];
};
niri."org.freedesktop.impl.portal.ScreenCast" = "wlr";
};
# Sets environment variable NIXOS_XDG_OPEN_USE_PORTAL to 1
@@ -50,8 +56,10 @@
# ls /run/current-system/sw/share/xdg-desktop-portal/portals/
extraPortals = with pkgs; [
xdg-desktop-portal-gtk # for provides file picker / OpenURI
xdg-desktop-portal-gnome # for screensharing
xdg-desktop-portal-gtk # file picker and OpenURI
xdg-desktop-portal-gnome # screenshot and remaining GNOME services
# xdg-desktop-portal-wlr 0.8.4 regresses Zoom; 0.8.2 works with niri.
pkgs-stable.xdg-desktop-portal-wlr
];
};
@@ -68,8 +76,8 @@
overrideStrategy = "asDropin";
text = ''
[Unit]
After=xdg-desktop-portal.service xdg-desktop-portal-gtk.service xdg-desktop-portal-gnome.service
Wants=xdg-desktop-portal.service xdg-desktop-portal-gtk.service xdg-desktop-portal-gnome.service
After=xdg-desktop-portal.service xdg-desktop-portal-gtk.service xdg-desktop-portal-gnome.service xdg-desktop-portal-wlr.service
Wants=xdg-desktop-portal.service xdg-desktop-portal-gtk.service xdg-desktop-portal-gnome.service xdg-desktop-portal-wlr.service
'';
};
}