You are not logged in.

#1 2025-03-09 17:14:40

FemboyFireball
Member
Registered: 2025-03-09
Posts: 3

Unable to screenshare on Hyprland

Been trying to fix this for a few days now, had it fixed yesterday but now it's broken again. Whenever I try to screenshare in both Discord and Vesktop it doesn't work, and OBS is missing the Screen Capture (Pipewire) source option.

Vesktop when run through the console (vesktop command with it installed from the AUR via vesktop-bin)

Checking for update
Vesktop v1.5.5
[arRPC > ipc] listening at /run/user/1000/discord-ipc-0
[arRPC > websocket] listening on 6463
[arRPC > process] started
[arRPC > process] detected game! OBS
Update for version 1.5.5 is not available (latest version: 1.5.5, downgrade is disallowed).
checkForUpdatesAndNotify called, downloadPromise is null
[arRPC > ipc] new connection!
[72078:0309/120842.902916:ERROR:CONSOLE(1)] "Request Autofill.enable failed. {"code":-32601,"message":"'Autofill.enable' wasn't found"}", source: devtools://devtools/bundled/core/protocol_client/protocol_client.js (1)
[72078:0309/120842.902962:ERROR:CONSOLE(1)] "Request Autofill.setAddresses failed. {"code":-32601,"message":"'Autofill.setAddresses' wasn't found"}", source: devtools://devtools/bundled/core/protocol_client/protocol_client.js (1)
[72078:0309/120913.389218:ERROR:screen_capture_portal_interface.cc(78)] Failed to request the session subscription.
[72078:0309/120913.389236:ERROR:base_capturer_pipewire.cc(81)] ScreenCastPortal failed: 3
Error during screenshare picker Failed to get sources.
(node:72078) UnhandledPromiseRejectionWarning: TypeError: Video was requested, but no video stream was provided
    at VCDMain:87:47627
(Use `vesktop.bin --trace-warnings ...` to show where the warning was created)
(node:72078) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
[1]    72078 segmentation fault (core dumped)  vesktop

I would show what Discord outputs in the terminal but it's both very full and doesn't print anything when I click the screen share button.

OBS when loading (Also doesn't print anything when I try to add a source, but there's things in here that I think are relevant)

debug: Found portal inhibitor
debug: Attempted path: /usr/bin/../share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: /usr/bin/../share/obs/obs-studio/locale.ini
debug: Attempted path: /usr/bin/../share/obs/obs-studio/themes
debug: Attempted path: /usr/bin/../share/obs/obs-studio/themes/
warning: ReadOne on org.freedesktop.portal.Settings returned an invalid reply
info: Platform: Wayland
info: CPU Name: 12th Gen Intel(R) Core(TM) i9-12900KF
info: CPU Speed: 800.000MHz
info: Physical Cores: 16, Logical Cores: 24
info: Physical Memory: 64143MB Total, 11510MB Free
info: Kernel Version: Linux 6.13.5-arch1-1
info: Distribution: "Arch Linux" Unknown
info: Desktop Environment: Hyprland (Hyprland)
info: Session Type: wayland
info: Qt Version: 6.8.2 (runtime), 6.8.1 (compiled)
info: Portable mode: false
info: OBS 31.0.1 (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
        samples per sec: 48000
        speakers:        2
        max buffering:   960 milliseconds
        buffering type:  dynamically increasing
info: ---------------------------------
info: Initializing OpenGL...
info: Using EGL/Wayland
info: Initialized EGL 1.5
info: Loading up OpenGL on adapter NVIDIA Corporation NVIDIA GeForce RTX 3090/PCIe/SSE2
info: OpenGL loaded successfully, version 3.3.0 NVIDIA 570.124.04, shading language 3.30 NVIDIA via Cg compiler
info: ---------------------------------
info: video settings reset:
        base resolution:   1920x1080
        output resolution: 1920x1080
        downscale filter:  Bicubic
        fps:               60/1
        format:            NV12
        YUV mode:          Rec. 709/Partial
info: NV12 texture support enabled
info: P010 texture support not available
info: Audio monitoring device:
        name: Default
        id: default
info: ---------------------------------
warning: Failed to load 'en-US' text for module: 'decklink-captions.so'
warning: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
libDeckLinkAPI.so: cannot open shared object file: No such file or directory
warning: A DeckLink iterator could not be created.  The DeckLink drivers may not be installed
warning: Failed to initialize module 'decklink.so'
info: [pipewire] No capture sources available
warning: v4l2loopback not installed, virtual camera not registered
error: VAAPI: Failed to initialize display in vaapi_device_h264_supported
info: FFmpeg VAAPI H264 encoding not supported
error: VAAPI: Failed to initialize display in vaapi_device_av1_supported
info: FFmpeg VAAPI AV1 encoding not supported
error: VAAPI: Failed to initialize display in vaapi_device_hevc_supported
info: FFmpeg VAAPI HEVC encoding not supported
info: [obs-nvenc] NVENC version: 12.2 (compiled) / 13.0 (driver), CUDA driver version: 12.80, AV1 supported: false
error: os_dlopen(/usr/lib/obs-plugins/obs-websocket.so->/usr/lib/obs-plugins/obs-websocket.so): libqrcodegencpp.so.1: cannot open shared object file: No such file or directory

error: os_dlopen(/usr/lib/obs-plugins/obs-websocket.so->/usr/lib/obs-plugins/obs-websocket.so): libqrcodegencpp.so.1: cannot open shared object file: No such file or directory

warning: Module '/usr/lib/obs-plugins/obs-websocket.so' not loaded
info: ---------------------------------
info:   Loaded Modules:
info:     text-freetype2.so
info:     rtmp-services.so
info:     obs-x264.so
info:     obs-webrtc.so
info:     obs-vst.so
info:     obs-transitions.so
info:     obs-qsv11.so
info:     obs-outputs.so
info:     obs-nvenc.so
info:     obs-libfdk.so
info:     obs-filters.so
info:     obs-ffmpeg.so
info:     linux-v4l2.so
info:     linux-pulseaudio.so
info:     linux-pipewire.so
info:     linux-jack.so
info:     linux-capture.so
info:     linux-alsa.so
info:     image-source.so
info:     frontend-tools.so
info:     decklink-output-ui.so
info:     decklink-captions.so
info: ---------------------------------
info: ---------------------------------
info: Available Encoders:
info:   Video Encoders:
info:   - ffmpeg_svt_av1 (SVT-AV1)
info:   - ffmpeg_aom_av1 (AOM AV1)
info:   - obs_nvenc_h264_tex (NVIDIA NVENC H.264)
info:   - obs_nvenc_hevc_tex (NVIDIA NVENC HEVC)
info:   - obs_x264 (x264)
info:   Audio Encoders:
info:   - ffmpeg_aac (FFmpeg AAC)
info:   - ffmpeg_opus (FFmpeg Opus)
info:   - ffmpeg_pcm_s16le (FFmpeg PCM (16-bit))
info:   - ffmpeg_pcm_s24le (FFmpeg PCM (24-bit))
info:   - ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float))
info:   - ffmpeg_alac (FFmpeg ALAC (24-bit))
info:   - ffmpeg_flac (FFmpeg FLAC (16-bit))
info:   - libfdk_aac (libfdk AAC)
info: ==== Startup complete ===============================================
info: All scene data cleared
info: ------------------------------------------------
info: pulse-input: Server name: 'PulseAudio (on PipeWire 1.2.7) 15.0.0'
info: pulse-input: Audio format: float32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'input.Music.monitor'
info: pulse-input: Server name: 'PulseAudio (on PipeWire 1.2.7) 15.0.0'
info: pulse-input: Audio format: float32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'input.Gaeming.monitor'
info: pulse-input: Server name: 'PulseAudio (on PipeWire 1.2.7) 15.0.0'
info: pulse-input: Audio format: float32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'input.Discord.monitor'
info: pulse-input: Server name: 'PulseAudio (on PipeWire 1.2.7) 15.0.0'
info: pulse-input: Audio format: float32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'input.Firefox.monitor'
info: pulse-input: Server name: 'PulseAudio (on PipeWire 1.2.7) 15.0.0'
info: pulse-input: Audio format: float32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'input.Default.monitor'
info: Switched to scene 'Gaming'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Gaming':
info:     - source: 'Music' (pulse_output_capture)
info:     - source: 'Game' (pulse_output_capture)
info:     - source: 'Discord' (pulse_output_capture)
info:     - source: 'Browser' (pulse_output_capture)
info:     - source: 'Desktop (Generally don't use)' (pulse_output_capture)
info: ------------------------------------------------

Offline

#2 2025-03-10 00:26:33

freedomd1v3
Member
Registered: 2020-12-01
Posts: 12

Re: Unable to screenshare on Hyprland

Just to clarify: do you have xdg-desktop-portal-hyprland installed?

Because those lines:

[72078:0309/120913.389218:ERROR:screen_capture_portal_interface.cc(78)] Failed to request the session subscription.
[72078:0309/120913.389236:ERROR:base_capturer_pipewire.cc(81)] ScreenCastPortal failed: 3
Error during screenshare picker Failed to get sources.
(node:72078) UnhandledPromiseRejectionWarning: TypeError: Video was requested, but no video stream was provided

Sound like there is no backend to xdg-desktop-portal installed.

Offline

#3 2025-03-10 02:30:42

FemboyFireball
Member
Registered: 2025-03-09
Posts: 3

Re: Unable to screenshare on Hyprland

Running pacman -Ss xdg-desktop-portal I get this:

pacman -Ss -s xdg-desktop-portal
extra/xdg-desktop-portal 1.20.0-1 [installed]
    Desktop integration portals for sandboxed apps
extra/xdg-desktop-portal-cosmic 1.0.0.alpha.6-1 (cosmic)
    A backend implementation for xdg-desktop-portal for the COSMIC desktop environment
extra/xdg-desktop-portal-dde 1.0.5-5 (deepin)
    A backend implementation for xdg-desktop-portal on Deepin desktop environment
extra/xdg-desktop-portal-gnome 47.3-1 (gnome)
    Backend implementation for xdg-desktop-portal for the GNOME desktop environment
extra/xdg-desktop-portal-gtk 1.15.2-1
    A backend implementation for xdg-desktop-portal using GTK
extra/xdg-desktop-portal-hyprland 1.3.9-5 [installed]
    xdg-desktop-portal backend for hyprland
extra/xdg-desktop-portal-kde 6.3.2-1 (plasma) [installed]
    A backend implementation for xdg-desktop-portal using Qt/KF5
extra/xdg-desktop-portal-lxqt 1.1.0-1 (lxqt)
    A backend implementation for xdg-desktop-portal using Qt/KDE Frameworks/libfm-qt
extra/xdg-desktop-portal-wlr 0.7.1-1
    xdg-desktop-portal backend for wlroots
extra/xdg-desktop-portal-xapp 1.1.0-1
    A backend implementation for xdg-desktop-portal using GTK and various pieces of Cinnamon/MATE/Xfce4
    infrastructure

Offline

#4 2025-03-10 02:46:32

mackin_cheese
Member
Registered: 2025-01-07
Posts: 477

Re: Unable to screenshare on Hyprland

FemboyFireball wrote:

Running pacman -Ss xdg-desktop-portal I get this:

pacman -Ss -s xdg-desktop-portal
extra/xdg-desktop-portal 1.20.0-1 [installed]
    Desktop integration portals for sandboxed apps
extra/xdg-desktop-portal-cosmic 1.0.0.alpha.6-1 (cosmic)
    A backend implementation for xdg-desktop-portal for the COSMIC desktop environment
extra/xdg-desktop-portal-dde 1.0.5-5 (deepin)
    A backend implementation for xdg-desktop-portal on Deepin desktop environment
extra/xdg-desktop-portal-gnome 47.3-1 (gnome)
    Backend implementation for xdg-desktop-portal for the GNOME desktop environment
extra/xdg-desktop-portal-gtk 1.15.2-1
    A backend implementation for xdg-desktop-portal using GTK
extra/xdg-desktop-portal-hyprland 1.3.9-5 [installed]
    xdg-desktop-portal backend for hyprland
extra/xdg-desktop-portal-kde 6.3.2-1 (plasma) [installed]
    A backend implementation for xdg-desktop-portal using Qt/KF5
extra/xdg-desktop-portal-lxqt 1.1.0-1 (lxqt)
    A backend implementation for xdg-desktop-portal using Qt/KDE Frameworks/libfm-qt
extra/xdg-desktop-portal-wlr 0.7.1-1
    xdg-desktop-portal backend for wlroots
extra/xdg-desktop-portal-xapp 1.1.0-1
    A backend implementation for xdg-desktop-portal using GTK and various pieces of Cinnamon/MATE/Xfce4
    infrastructure

Pacman -Ss doesn't search your local database, it searches the server's database. what you're looking for is "pacman -Qs"

Offline

#5 2025-03-10 12:25:08

mester
Member
Registered: 2023-09-05
Posts: 24

Re: Unable to screenshare on Hyprland

Yes to do that screenshare works you need to install xdg-desktop-portal and xdg-desktop-portal-hyprland. If you don't have installed you need to do it

Offline

#6 2025-03-10 19:58:14

FemboyFireball
Member
Registered: 2025-03-09
Posts: 3

Re: Unable to screenshare on Hyprland

pacman -Ss does say if a package is installed or not (The [installed] bit after the package name), but running pacman -Qs xdg-desktop-portal gives me xdg-desktop-portal, xdg-desktop-portal-hyprland, and xdg-desktop-portal-kde (I've also got KDE installed for the occasions I need it)

local/xdg-desktop-portal 1.20.0-1
    Desktop integration portals for sandboxed apps
local/xdg-desktop-portal-hyprland 1.3.9-5
    xdg-desktop-portal backend for hyprland
local/xdg-desktop-portal-kde 6.3.2-1 (plasma)
    A backend implementation for xdg-desktop-portal using Qt/KF5

Offline

#7 2025-03-10 21:23:29

mackin_cheese
Member
Registered: 2025-01-07
Posts: 477

Re: Unable to screenshare on Hyprland

i'm a blind idiot

Offline

Board footer

Powered by FluxBB