emacs-bug-tracker
[Top][All Lists]
Advanced

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

bug#52492: closed ([PATCH 0/7] Improve screen sharing support under Wayl


From: GNU bug Tracking System
Subject: bug#52492: closed ([PATCH 0/7] Improve screen sharing support under Wayland)
Date: Sun, 19 Dec 2021 12:23:02 +0000

Your message dated Sun, 19 Dec 2021 13:22:22 +0100
with message-id <87mtkwokch.fsf@gnu.org>
and subject line Re: bug#52492: [PATCH 0/7] Improve screen sharing support 
under Wayland
has caused the debbugs.gnu.org bug report #52492,
regarding [PATCH 0/7] Improve screen sharing support under Wayland
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
52492: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=52492
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: [PATCH 0/7] Improve screen sharing support under Wayland Date: Tue, 14 Dec 2021 22:45:02 +0100
Hello,

This patchset updates and improves various packages related to screen
sharing/screeshotting on Wayland, and especially wlroots-based
compositors.

I can get screensharing working in icecat on sway by manually starting
pipewire then wireplumber (and then xdg-desktop-portal-wlr followed by
xdg-desktop-portal if they're not installed in your profile, otherwise
your user DBus session will launch them automatically), and starting
icecat with

`LD_LIBRARY_PATH="$(./pre-inst-env guix build
pipewire)/lib:$LD_LIBRARY_PATH" icecat`

since the pipewire library is dlopened by libwebrtc rather than
statically or dynamically linked.  We could possibly add this to the
icecat package, as it has a wrapper doing a similar thing for other
libraries.

Another way to test screensharing without icecat would be to use this
python script [1], using `guix shell python python-pygobject
gst-plugins-bad pipewire python-dbus -- python3 xdp-screen-cast.py`.

I also took the liberty to patch xdg-desktop-portal-wlr's
screenshotting process, as it simply execl'd to slurp and grim.  Along
with an update to flameshot, I can use the latter properly on sway as
well.

Best,
Josselin

[1] https://gitlab.gnome.org/-/snippets/19

Josselin Poiret (7):
  gnu: pipewire-0.3: Use new input style
  gnu: pipewire-0.3: Update to 0.3.41
  gnu: Add wireplumber
  gnu: xdg-desktop-portal-wlr: Update to 0.5.0
  gnu: xdg-desktop-portal-wlr: Use new input style
  gnu: xdg-desktop-portal-wlr: Add binary dependencies
  gnu: flameshot: Update to 0.10.2

 gnu/local.mk                                  |  1 +
 gnu/packages/freedesktop.scm                  | 38 ++++++++++----
 gnu/packages/image.scm                        |  4 +-
 gnu/packages/linux.scm                        | 52 +++++++++++++++----
 ...g-desktop-portal-wlr-harcoded-length.patch | 28 ++++++++++
 5 files changed, 100 insertions(+), 23 deletions(-)
 create mode 100644 
gnu/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch

-- 
2.34.0




--- End Message ---
--- Begin Message --- Subject: Re: bug#52492: [PATCH 0/7] Improve screen sharing support under Wayland Date: Sun, 19 Dec 2021 13:22:22 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Hey Josselin,

Thanks for working on that. I fixed a few minor details and pushed the
series.

> I can get screensharing working in icecat on sway by manually starting
> pipewire then wireplumber (and then xdg-desktop-portal-wlr followed by
> xdg-desktop-portal if they're not installed in your profile, otherwise
> your user DBus session will launch them automatically), and starting
> icecat with

As discussed on #guix, we may need to find a way to start those services
automatically.

> since the pipewire library is dlopened by libwebrtc rather than
> statically or dynamically linked.  We could possibly add this to the
> icecat package, as it has a wrapper doing a similar thing for other
> libraries.

Seems fair.

I also tried to run obs, this way:

--8<---------------cut here---------------start------------->8---
QT_QPA_PLATFORM=wayland obs
--8<---------------cut here---------------end--------------->8---

was prompted for a screen/window to capture using pipewire, but then I
have the following error, does that ring a bell?

--8<---------------cut here---------------start------------->8---
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info:     - source: 'Window Capture (PipeWire)' (pipewire-window-capture-source)
info: ------------------------------------------------
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
info: [pipewire] available cursor modes:
info: [pipewire]     - Metadata
info: [pipewire]     - Always visible
info: [pipewire]     - Hidden
Attempted path: share/obs/obs-studio/images/overflow.png
Attempted path: 
/gnu/store/1fp8wl9y2i72ld59d1spw85xvw9l88ws-obs-27.0.1/share/obs/obs-studio/images/overflow.png
info: [pipewire] screencast session created
info: [pipewire] asking for window…
info: adding 42 milliseconds of audio buffering, total audio buffering is now 
42 milliseconds (source: Mic/Aux)

warning: [pipewire] Failed to start screencast, denied or cancelled by user
info: PipeWire initialized (sender name: 1_1734)
info: User added source 'Screen Capture (PipeWire)' 
(pipewire-desktop-capture-source) to scene 'Scene'
info: [pipewire] available cursor modes:
info: [pipewire]     - Metadata
info: [pipewire]     - Always visible
info: [pipewire]     - Hidden
info: [pipewire] screencast session created
info: [pipewire] asking for desktop…
warning: [pipewire] Failed to start screencast, denied or cancelled by user
^Cinfo: ==== Shutting down ==================================================
--8<---------------cut here---------------end--------------->8---

Thanks,

Mathieu


--- End Message ---

reply via email to

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