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

+1
View File
@@ -53,6 +53,7 @@ A setting that works around a bug or a hardware quirk.
| WA-040 | `workaround` | Comodo AAA Services root blacklist — `modules/base/security.nix` | CVE-2026-111943. NixOS injects the entry itself, but nix-darwin only passes this list through; keep one explicit entry for both. The compromised eMudhra emSign roots are gone from the NSS bundle and were removed from the list. | Drop once nix-darwin carries the upstream default or both inputs handle the blacklist | 2026-10-20 | on nix-darwin bump | active |
| WA-041 | Monitor OSD "no-signal auto power-off" disabled — no code in this repo (the P32A2V OSD setting) | during a DPMS-off idle the panel drops and re-adds HPD every ~13 s, and after wake niri keeps scanning out while the panel stays dark until the monitor is power cycled; the panel's own auto power-off drives that state, so it is now disabled. Pinning the mode to 120 Hz did not change the symptom | Drop once a driver retrains the DP link after a DPMS wake, the monitor firmware stops cycling HPD, or this monitor is replaced | 2026-10-21 | confirm on the next full idle cycle, then on an nvidia or monitor firmware update | active |
| WA-042 | Colmena nodes set `system.nixos.versionSuffix` and `revision` from the flake's lib — `outputs/default.nix` (`rawColmenaHive`) | Colmena evaluates each node with nixpkgs' `eval-config.nix` and plain lib, which reports `26.11pre-git`, so without the override a Colmena deploy differs from the `nixosConfigurations` toplevel; the `colmena-parity` eval test guards the match | Drop once Colmena evaluates nodes with the flake's lib or accepts `nixosConfigurations` directly, keeping `colmena-parity` green | 2026-10-21 | on a colmena bump | active |
| WA-046 | xdg-desktop-portal-wlr pinned to 0.8.2 — `modules/nixos/desktop/xdg.nix` | niri's GNOME ScreenCast path exposes only DMA-BUF with modifiers, which Zoom 7.2.1 rejects; xdg-desktop-portal-wlr 0.8.2 provides the working SHM path, while 0.8.4 regresses Zoom's SelectSources. | Drop once niri's ScreenCast path works with Zoom or xdg-desktop-portal-wlr 0.8.4+ is fixed. | 2026-10-31 | on xdg-desktop-portal-wlr or Zoom updates | active |
If WA-008 freezes recur, the fallback is to restore the parameters commented out in
`hosts/idols-ai/hardware-configuration.nix` —
+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
'';
};
}