Hi, folks!
I am one of those wretched creatures compelled to use Zoom for work
To add insult to injury, it seems recent versions of Zoom break screen sharing under Wayland.
You can read more about this problem in this nixpkgs GitHub issue.
In the issue thread, it seems gvolpe was able to hack together a solution by downgrading to a specific version of Zoom. This apparently also required overriding this Zoomās pipewire dependency to an earlier version as well.
His nixconfig is public, but itās rather complex, with the relevant code spread across multiple files. Iād rather not try to mirror his solution exactly as it would add (what is for me at the moment) unnecessary complexity to my own configuration (plus, my puny brain canāt quite parse all that is going on there).
Iām instead looking for some guidance on how accomplish what gvolpe achieved within a single nix file that can be imported by home-manager. It did not seem appropriate to pollute the GitHub issue with such a request which is why Iām pestering people in this forum
My hope is that, if we come to some solution, this could be a nice drop-in fix for others in the same boat.
Here was my first attempt:
{
config,
lib,
pkgs,
inputs,
...
}: let
# Last Zoom version with working Wayland screen sharing
zoomVersion = "6.0.2.4680";
# This is nixpkgs 24.05 from the flake input which has the required pipewire v1.0.7 for older Zoom
stablePkgs = inputs.nixpkgs-stable.legacyPackages.${pkgs.system};
zoom-us-custom = (pkgs.zoom-us.override {pipewire = stablePkgs.pipewire;}).overrideAttrs (oldAttrs: rec {
version = zoomVersion;
src = pkgs.fetchurl {
url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
hash = "sha256-027oAblhH8EJWRXKIEs9upNvjsSFkA0wxK1t8m8nwj8=";
};
});
in {
home.packages = [
zoom-us-custom
];
# Without disabling xwayland, fonts are pixelated and look like š©
xdg.configFile."zoomus.conf" = {
text = ''
[General]
xwayland=false
enableWaylandShare=true
'';
};
}
Sadly, this didnāt work as Zoom crashes after signing in.
Commenting out the xdg.configFile section prevents the crashing, but the fonts look like junk under xwayland as the comment says. More importantly, screen sharing still doesnāt work
When I click 'Share Screen" I can then select either āuse system desktop captureā or āuse system window capture,ā but nothing happens after choosing either one.
Any help would be most appreciated.
Thanks, everyone!