guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#70282] [PATCH 0/2] Fix gnome-shell screenrecorder


From: Dariqq
Subject: [bug#70282] [PATCH 0/2] Fix gnome-shell screenrecorder
Date: Mon, 8 Apr 2024 15:39:06 +0000

Hello Guix,

Last week a user in the irc chat remarked that the built in Gnome 
screenrecorder is not available which rekado and me then investigated 
afterwards.

This functionality is provided by the org.gnome.Shell.Screencast dbus service 
which currently fails to start (if for example you try to investigate it with 
d-spy you get the not really helpful error: 
GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process 
org.gnome.Shell.Screencast exited with status 1)

We later figured that this error happens because the required typelib files 
cannot be found.

As a fix I imported a patch from NixOS [1] from their gnome-shell 42/44 package 
and wrapped the relevant files with GI_TYPELIB_PATH. This seems to be strictly 
necessary only for the screencast service however I wrapped all of the dbus 
services listed in the js/dbusServices/meson.build file, same as what is done 
in NixOS.

In order for Screencast to work you'll also need pipewire available (I think 
for the gstreamer plug-in) which is why I added it to gnome-essential-extras in 
the second patch.

You'll also need pipewire running (i.e the home-service) which makes this a bit 
unintuitive for users.
I don't think it is currently possible to enable user level shepherd services 
from the system configuration, but correct me if I am wrong. Without pipewire 
running the screen recording stops immediately.

As usual i am not sure if the formating/wording of my commit messages and the 
name I gave the patch are fine.

Also thanks to rekado for helping to make sense of this.

[1] 
https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch
 

Dariqq (2):
  gnu: gnome-shell: Wrap d-bus services.
  gnu: gnome-essential-extras: Propagate pipewire.

 gnu/local.mk                                  |  1 +
 gnu/packages/gnome.scm                        | 14 ++++-
 .../gnome-shell-wrappable-dbus-services.patch | 59 +++++++++++++++++++
 3 files changed, 72 insertions(+), 2 deletions(-)
 create mode 100644 
gnu/packages/patches/gnome-shell-wrappable-dbus-services.patch


base-commit: cd45294d576975a3bff2f755764a3f46f09ea6f9
-- 
2.41.0






reply via email to

[Prev in Thread] Current Thread [Next in Thread]