Black screen on capturing screen with pipewire

zeio

New Member
Hey, I am using `gentoo` with `hyprland`, trying to set up screen capturing through `pipewire`. Here is a strange error I get when I add `screen capture pipewire` to the scene. The following message is repeatedly printed in the obs log:

Code:
info: [pipewire] Negotiated format:
info: [pipewire]     Format: 8 (Spa:Enum:VideoFormat:BGRx)
info: [pipewire]     Modifier: 0x0
info: [pipewire]     Size: 1366x768
info: [pipewire]     Framerate: 0/1

And 'wireplumber' log tail looks like this:

Code:
W 17:26:00.029054 m-portal-permissio ../wireplumber-0.4.14/modules/module-portal-permissionstore.c:63:wp_portal_permissionstore_plugin_lookup: <WpPortalPermissionStorePlugin:0x55a50fb15c40> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
I 17:26:00.029338 script/access-port access-portal.lua:64:updateClientPermissions: <WpClient:39:0x55a50fba37f0> Ignoring portal check for non-sandboxed client
I 17:26:00.029386 script/access-port access-portal.lua:31:setPermissions: <WpClient:39:0x55a50fba37f0> Granting ALL access to client 39
I 17:26:00.041225 script/restore-str restore-stream.lua:386:restoreStream: <WpNode:40:0x55a50fc02720> restore values from Input/Video:media.role:Screen
I 17:26:00.042533 script/create-item create-item.lua:85:chunk: <WpSiNode:0x55a50fb85be0> activated item for node 40
I 17:26:00.042723 script/policy-node policy-node.lua:676:handleLinkable: <WpSiNode:0x55a50fb85be0> handling item: obs (40)
I 17:26:00.043034 script/policy-node policy-node.lua:79:createLink: link obs <-> xdg-desktop-portal-hyprland passive:nil, passthrough:false, exclusive:nil
I 17:26:00.043434        pw.metadata ../pipewire-0.3.80/src/pipewire/impl-metadata.c:186:impl_set_property: 0x55a50fb72e30: add id:40 key:target.node type:Spa:Id value:-1
I 17:26:00.043586 script/restore-str restore-stream.lua:178:saveTarget: <WpNode:40:0x55a50fc02720> saving stream target for obs -> nil
I 17:26:00.044091 script/policy-node policy-node.lua:676:handleLinkable: <WpSiNode:0x55a50fb85be0> handling item: obs (40)
I 17:26:00.044519 script/policy-node policy-node.lua:545:findUndefinedTarget: ... default target picked: xdg-desktop-portal-hyprland (28), can_passthrough:false
I 17:26:00.044912 script/policy-node policy-node.lua:654:checkFollowDefault: <WpSiNode:0x55a50fb85be0> ... set metadata to follow default
I 17:26:00.046965 script/policy-node policy-node.lua:150:chunk: <WpSiStandardLink:0x55a50fbd0ae0> activated si-standard-link
I 17:26:00.047250 script/policy-node policy-node.lua:676:handleLinkable: <WpSiNode:0x55a50fb85be0> handling item: obs (40)
I 17:26:00.047747 script/policy-node policy-node.lua:545:findUndefinedTarget: ... default target picked: xdg-desktop-portal-hyprland (28), can_passthrough:false
I 17:26:00.049467 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
I 17:26:00.050303 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
I 17:26:00.050882 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
I 17:26:00.052200 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
I 17:26:00.052875 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
W 17:26:00.029054 m-portal-permissio ../wireplumber-0.4.14/modules/module-portal-permissionstore.c:63:wp_portal_permissionstore_plugin_lookup: <WpPortalPermissionStorePlugin:0x55a50fb15c40> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
I 17:26:00.029338 script/access-port access-portal.lua:64:updateClientPermissions: <WpClient:39:0x55a50fba37f0> Ignoring portal check for non-sandboxed client
I 17:26:00.029386 script/access-port access-portal.lua:31:setPermissions: <WpClient:39:0x55a50fba37f0> Granting ALL access to client 39
I 17:26:00.041225 script/restore-str restore-stream.lua:386:restoreStream: <WpNode:40:0x55a50fc02720> restore values from Input/Video:media.role:Screen
I 17:26:00.042533 script/create-item create-item.lua:85:chunk: <WpSiNode:0x55a50fb85be0> activated item for node 40
I 17:26:00.042723 script/policy-node policy-node.lua:676:handleLinkable: <WpSiNode:0x55a50fb85be0> handling item: obs (40)
I 17:26:00.043034 script/policy-node policy-node.lua:79:createLink: link obs <-> xdg-desktop-portal-hyprland passive:nil, passthrough:false, exclusive:nil
I 17:26:00.043434        pw.metadata ../pipewire-0.3.80/src/pipewire/impl-metadata.c:186:impl_set_property: 0x55a50fb72e30: add id:40 key:target.node type:Spa:Id value:-1
I 17:26:00.043586 script/restore-str restore-stream.lua:178:saveTarget: <WpNode:40:0x55a50fc02720> saving stream target for obs -> nil
I 17:26:00.044091 script/policy-node policy-node.lua:676:handleLinkable: <WpSiNode:0x55a50fb85be0> handling item: obs (40)
I 17:26:00.044519 script/policy-node policy-node.lua:545:findUndefinedTarget: ... default target picked: xdg-desktop-portal-hyprland (28), can_passthrough:false
I 17:26:00.044912 script/policy-node policy-node.lua:654:checkFollowDefault: <WpSiNode:0x55a50fb85be0> ... set metadata to follow default
I 17:26:00.046965 script/policy-node policy-node.lua:150:chunk: <WpSiStandardLink:0x55a50fbd0ae0> activated si-standard-link
I 17:26:00.047250 script/policy-node policy-node.lua:676:handleLinkable: <WpSiNode:0x55a50fb85be0> handling item: obs (40)
I 17:26:00.047747 script/policy-node policy-node.lua:545:findUndefinedTarget: ... default target picked: xdg-desktop-portal-hyprland (28), can_passthrough:false
I 17:26:00.049467 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
I 17:26:00.050303 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
I 17:26:00.050882 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
I 17:26:00.052200 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
I 17:26:00.052875 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
W 17:26:00.029054 m-portal-permissio ../wireplumber-0.4.14/modules/module-portal-permissionstore.c:63:wp_portal_permissionstore_plugin_lookup: <WpPortalPermissionStorePlugin:0x55a50fb15c40> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
I 17:26:00.029338 script/access-port access-portal.lua:64:updateClientPermissions: <WpClient:39:0x55a50fba37f0> Ignoring portal check for non-sandboxed client
I 17:26:00.029386 script/access-port access-portal.lua:31:setPermissions: <WpClient:39:0x55a50fba37f0> Granting ALL access to client 39
I 17:26:00.041225 script/restore-str restore-stream.lua:386:restoreStream: <WpNode:40:0x55a50fc02720> restore values from Input/Video:media.role:Screen
I 17:26:00.042533 script/create-item create-item.lua:85:chunk: <WpSiNode:0x55a50fb85be0> activated item for node 40
I 17:26:00.042723 script/policy-node policy-node.lua:676:handleLinkable: <WpSiNode:0x55a50fb85be0> handling item: obs (40)
I 17:26:00.043034 script/policy-node policy-node.lua:79:createLink: link obs <-> xdg-desktop-portal-hyprland passive:nil, passthrough:false, exclusive:nil
I 17:26:00.043434        pw.metadata ../pipewire-0.3.80/src/pipewire/impl-metadata.c:186:impl_set_property: 0x55a50fb72e30: add id:40 key:target.node type:Spa:Id value:-1
I 17:26:00.043586 script/restore-str restore-stream.lua:178:saveTarget: <WpNode:40:0x55a50fc02720> saving stream target for obs -> nil
I 17:26:00.044091 script/policy-node policy-node.lua:676:handleLinkable: <WpSiNode:0x55a50fb85be0> handling item: obs (40)
I 17:26:00.044519 script/policy-node policy-node.lua:545:findUndefinedTarget: ... default target picked: xdg-desktop-portal-hyprland (28), can_passthrough:false
I 17:26:00.044912 script/policy-node policy-node.lua:654:checkFollowDefault: <WpSiNode:0x55a50fb85be0> ... set metadata to follow default
I 17:26:00.046965 script/policy-node policy-node.lua:150:chunk: <WpSiStandardLink:0x55a50fbd0ae0> activated si-standard-link
I 17:26:00.047250 script/policy-node policy-node.lua:676:handleLinkable: <WpSiNode:0x55a50fb85be0> handling item: obs (40)
I 17:26:00.047747 script/policy-node policy-node.lua:545:findUndefinedTarget: ... default target picked: xdg-desktop-portal-hyprland (28), can_passthrough:false
I 17:26:00.049467 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
I 17:26:00.050303 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
I 17:26:00.050882 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
I 17:26:00.052200 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs
I 17:26:00.052875 script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs

Where message 'script/restore-str restore-stream.lua:297:chunk: <WpNode:40:0x55a50fc02720> saving stream props for obs' is printed repeatedly. I've successfully run OBS on gnome with the same pipewire installation. My guess is that the problem may be related to wireplumber not being able to get permissions for capturing the screen. Is it possible to somehow give wireplumber this permission through OBS settings or config file?
 

zeio

New Member
Pipewire and wireplumber versions:

Code:
pipewire
Compiled with libpipewire 0.3.80
Linked with libpipewire 0.3.80
wireplumber
Compiled with libwireplumber 0.4.14
Linked with libwireplumber 0.4.14

The head of obs log on hyprland:

Code:
debug: Found portal inhibitor
debug: Attempted path: share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: share/obs/obs-studio/locale.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale.ini
debug: Attempted path: share/obs/obs-studio/themes/Yami.qss
debug: Attempted path: /usr/share/obs/obs-studio/themes/Yami.qss
info: Command Line Arguments: --verbose
info: Platform: Wayland
info: CPU Name: AMD A8-6410 APU with AMD Radeon R5 Graphics
info: CPU Speed: 2322.750MHz
info: Physical Cores: 4, Logical Cores: 4
info: Physical Memory: 14948MB Total, 11296MB Free
info: Kernel Version: Linux 6.1.57-gentoo-x86_64
info: Distribution: Gentoo "2.14"
info: Desktop Environment: Hyprland (Hyprland)
info: Session Type: wayland
info: Qt Version: 5.15.11 (runtime), 5.15.11 (compiled)
info: Portable mode: false
debug: Attempted path: share/obs/obs-studio/themes/Dark/no_sources.svg
debug: Attempted path: /usr/share/obs/obs-studio/themes/Dark/no_sources.svg
info: OBS 29.1.3 (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
debug: Supported EGL Extensions: EGL_ANDROID_blob_cache EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_present_opaque EGL_EXT_swap_buffers_with_damage EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display EGL_WL_create_wayland_buffer_from_image 
info: Loading up OpenGL on adapter AMD KABINI (, LLVM 16.0.6, DRM 2.50, 6.1.57-gentoo-x86_64)
info: OpenGL loaded successfully, version 4.5 (Core Profile) Mesa 23.1.8, shading language 4.50
info: ---------------------------------
info: video settings reset:
    base resolution:   1366x768
    output resolution: 1364x768
    downscale filter:  Bicubic
    fps:               60/1
    format:            NV12
    YUV mode:          Rec. 709/Partial
info: NV12 texture support not available
info: P010 texture support not available
info: Audio monitoring device:
    name: Default
    id: default
info: ---------------------------------
debug: ---------------------------------
debug: Loading module: frontend-tools.so
debug: ---------------------------------
debug: Loading module: image-source.so
debug: ---------------------------------
debug: Loading module: linux-alsa.so
debug: ---------------------------------
debug: Loading module: linux-capture.so
debug: ---------------------------------
debug: Loading module: linux-pipewire.so
info: [pipewire] Available captures:
info: [pipewire]     - Desktop capture
info: [pipewire]     - Window capture
debug: ---------------------------------
debug: Loading module: linux-pulseaudio.so
debug: ---------------------------------
debug: Loading module: linux-v4l2.so
warning: v4l2loopback not installed, virtual camera disabled
debug: ---------------------------------
debug: Loading module: obs-ffmpeg.so
info: FFmpeg VAAPI H264 encoding not supported
info: FFmpeg VAAPI HEVC encoding not supported
debug: ---------------------------------
debug: Loading module: obs-filters.so
debug: ---------------------------------
debug: Loading module: obs-outputs.so
debug: ---------------------------------
debug: Loading module: obs-transitions.so
debug: ---------------------------------
debug: Loading module: obs-vst.so
debug: ---------------------------------
debug: Loading module: obs-x264.so
debug: ---------------------------------
debug: Loading module: rtmp-services.so
debug: ---------------------------------
debug: Loading module: text-freetype2.so
debug: ---------------------------------
debug: Loading module: vlc-video.so
info: [vlc-video]: VLC 3.0.18 Vetinari found, VLC video source enabled
info: ---------------------------------
info:   Loaded Modules:
info:     vlc-video.so
info:     text-freetype2.so
info:     rtmp-services.so
info:     obs-x264.so
info:     obs-vst.so
info:     obs-transitions.so
info:     obs-outputs.so
info:     obs-filters.so
info:     obs-ffmpeg.so
info:     linux-v4l2.so
info:     linux-pulseaudio.so
info:     linux-pipewire.so
info:     linux-capture.so
info:     linux-alsa.so
info:     image-source.so
info:     frontend-tools.so
info: ---------------------------------
info: ==== Startup complete ===============================================
debug: service 'default_service' (rtmp_common) created
debug: encoder 'simple_video_stream' (obs_x264) created
debug: Fallback encoder bitrates:
     64 kbit/s:
     96 kbit/s:
    128 kbit/s:
    160 kbit/s:
    192 kbit/s:
    224 kbit/s:
    256 kbit/s:
    288 kbit/s:
    320 kbit/s:
    352 kbit/s:
    384 kbit/s:
    416 kbit/s:
    448 kbit/s:
    480 kbit/s:
    512 kbit/s:
    544 kbit/s:
    576 kbit/s:
    608 kbit/s:
    640 kbit/s:
    672 kbit/s:
    704 kbit/s:
    736 kbit/s:
    768 kbit/s:
    800 kbit/s:
    832 kbit/s:
    864 kbit/s:
    896 kbit/s:
    928 kbit/s:
    960 kbit/s:
    992 kbit/s:
    1024 kbit/s:
debug: FFmpeg PCM (16-bit) (ffmpeg_pcm_s16le) encoder bitrates:
     64 kbit/s
     96 kbit/s
    128 kbit/s
    160 kbit/s
    192 kbit/s
    224 kbit/s
    256 kbit/s
    288 kbit/s
    320 kbit/s
    352 kbit/s
    384 kbit/s
    416 kbit/s
    448 kbit/s
    480 kbit/s
    512 kbit/s
    544 kbit/s
    576 kbit/s
    608 kbit/s
    640 kbit/s
    672 kbit/s
    704 kbit/s
    736 kbit/s
    768 kbit/s
    800 kbit/s
    832 kbit/s
    864 kbit/s
    896 kbit/s
    928 kbit/s
    960 kbit/s
    992 kbit/s
    1024 kbit/s
debug: FFmpeg PCM (24-bit) (ffmpeg_pcm_s24le) encoder bitrates:
     64 kbit/s
     96 kbit/s
    128 kbit/s
    160 kbit/s
    192 kbit/s
    224 kbit/s
    256 kbit/s
    288 kbit/s
    320 kbit/s
    352 kbit/s
    384 kbit/s
    416 kbit/s
    448 kbit/s
    480 kbit/s
    512 kbit/s
    544 kbit/s
    576 kbit/s
    608 kbit/s
    640 kbit/s
    672 kbit/s
    704 kbit/s
    736 kbit/s
    768 kbit/s
    800 kbit/s
    832 kbit/s
    864 kbit/s
    896 kbit/s
    928 kbit/s
    960 kbit/s
    992 kbit/s
    1024 kbit/s
debug: FFmpeg PCM (32-bit float) (ffmpeg_pcm_f32le) encoder bitrates:
     64 kbit/s
     96 kbit/s
    128 kbit/s
    160 kbit/s
    192 kbit/s
    224 kbit/s
    256 kbit/s
    288 kbit/s
    320 kbit/s
    352 kbit/s
    384 kbit/s
    416 kbit/s
    448 kbit/s
    480 kbit/s
    512 kbit/s
    544 kbit/s
    576 kbit/s
    608 kbit/s
    640 kbit/s
    672 kbit/s
    704 kbit/s
    736 kbit/s
    768 kbit/s
    800 kbit/s
    832 kbit/s
    864 kbit/s
    896 kbit/s
    928 kbit/s
    960 kbit/s
    992 kbit/s
    1024 kbit/s
debug: FFmpeg ALAC (24-bit) (ffmpeg_alac) encoder bitrates:
     64 kbit/s
     96 kbit/s
    128 kbit/s
    160 kbit/s
    192 kbit/s
    224 kbit/s
    256 kbit/s
    288 kbit/s
    320 kbit/s
    352 kbit/s
    384 kbit/s
    416 kbit/s
    448 kbit/s
    480 kbit/s
    512 kbit/s
    544 kbit/s
    576 kbit/s
    608 kbit/s
    640 kbit/s
    672 kbit/s
    704 kbit/s
    736 kbit/s
    768 kbit/s
    800 kbit/s
    832 kbit/s
    864 kbit/s
    896 kbit/s
    928 kbit/s
    960 kbit/s
    992 kbit/s
    1024 kbit/s
debug: FFmpeg FLAC (16-bit) (ffmpeg_flac) encoder bitrates:
     64 kbit/s
     96 kbit/s
    128 kbit/s
    160 kbit/s
    192 kbit/s
    224 kbit/s
    256 kbit/s
    288 kbit/s
    320 kbit/s
    352 kbit/s
    384 kbit/s
    416 kbit/s
    448 kbit/s
    480 kbit/s
    512 kbit/s
    544 kbit/s
    576 kbit/s
    608 kbit/s
    640 kbit/s
    672 kbit/s
    704 kbit/s
    736 kbit/s
    768 kbit/s
    800 kbit/s
    832 kbit/s
    864 kbit/s
    896 kbit/s
    928 kbit/s
    960 kbit/s
    992 kbit/s
    1024 kbit/s
debug: AAC simple encoder bitrate mapping:
     64 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
     96 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    128 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    160 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    192 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    224 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    256 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    288 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    320 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    352 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    384 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    416 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    448 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    480 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    512 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    544 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    576 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    608 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    640 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    672 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    704 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    736 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    768 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    800 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    832 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    864 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    896 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    928 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    960 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    992 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    1024 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
debug: encoder 'simple_aac' (ffmpeg_aac) created
debug: encoder 'simple_archive_audio' (ffmpeg_aac) created
debug: output 'simple_file_output' (ffmpeg_muxer) created
info: All scene data cleared
info: ------------------------------------------------
debug: private source 'Cut' (cut_transition) created
debug: private source 'Fade' (fade_transition) created
info: pulse-input: Server name: 'pulseaudio 16.1'
debug: pulse-input: Default output device: 'alsa_output.pci-0000_00_14.2.analog-stereo.monitor'
info: pulse-input: Audio format: s16le, 44100 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_output.pci-0000_00_14.2.analog-stereo.monitor' (default)
debug: source 'Desktop Audio' (pulse_output_capture) created
info: [Loaded global audio device]: 'Desktop Audio'
info: pulse-input: Server name: 'pulseaudio 16.1'
debug: pulse-input: Default input device: 'alsa_input.pci-0000_00_14.2.analog-stereo'
info: pulse-input: Audio format: s16le, 44100 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_input.pci-0000_00_14.2.analog-stereo' (default)
debug: source 'Mic/Aux' (pulse_input_capture) created
info: [Loaded global audio device]: 'Mic/Aux'
debug: source 'Scene' (scene) created
info: PipeWire initialized
debug: source 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) created
info: Switched to scene 'Scene'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info:     - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source)
info: ------------------------------------------------
info: [pipewire] Screencast session created
debug: Attempted path: share/obs/obs-studio/images/overflow.png
debug: Attempted path: /usr/share/obs/obs-studio/images/overflow.png
debug: [pipewire] Response to select source received
info: [pipewire] Asking for desktop
info: [pipewire] desktop selected, setting up screencast
info: [pipewire] Server version: 0.3.80
info: [pipewire] Library version: 0.3.80
info: [pipewire] Header version: 0.3.80
debug: [pipewire] registered event 0x557225cc1b70
info: [pipewire] Created stream 0x557225cc1c30
info: [pipewire] Stream 0x557225cc1c30 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x557225cc1c30
info: [pipewire] Stream 0x557225cc1c30 state: "paused" (error: none)
info: [pipewire] Negotiated format:
info: [pipewire]     Format: 8 (Spa:Enum:VideoFormat:BGRx)
info: [pipewire]     Modifier: 0x0
info: [pipewire]     Size: 1366x768
info: [pipewire]     Framerate: 0/1

Output of 'wpctl status' on hyperland:

Code:
PipeWire 'pipewire-0' [0.3.80, cait@gen2, cookie:3156284514]
 └─ Clients:
        32. WirePlumber [export]                [0.3.80, cait@gen2, pid:3330]
        33. WirePlumber                         [0.3.80, cait@gen2, pid:3330]
        36. xdg-desktop-portal-hyprland         [0.3.80, cait@gen2, pid:3505]
        37. xdg-desktop-portal                  [0.3.80, cait@gen2, pid:3555]
        41. obs                                 [0.3.80, cait@gen2, pid:6244]
        43. wpctl                               [0.3.80, cait@gen2, pid:6808]

Audio
 ├─ Devices:
 │
 ├─ Sinks:
 │
 ├─ Sink endpoints:
 │
 ├─ Sources:
 │
 ├─ Source endpoints:
 │
 └─ Streams:

Video
 ├─ Devices:
 │
 ├─ Sinks:
 │
 ├─ Sink endpoints:
 │
 ├─ Sources:
 │  *   39. xdg-desktop-portal-hyprland
 │
 ├─ Source endpoints:
 │
 └─ Streams:
        28. obs
             38. input_1         < xdg-desktop-portal-hyprland:capture_1    [negotiating]

Settings
 └─ Default Configured Node Names:
PipeWire 'pipewire-0' [0.3.80, cait@gen2, cookie:3156284514]
 └─ Clients:
        32. WirePlumber [export]                [0.3.80, cait@gen2, pid:3330]
        33. WirePlumber                         [0.3.80, cait@gen2, pid:3330]
        36. xdg-desktop-portal-hyprland         [0.3.80, cait@gen2, pid:3505]
        37. xdg-desktop-portal                  [0.3.80, cait@gen2, pid:3555]
        41. obs                                 [0.3.80, cait@gen2, pid:6244]
        43. wpctl                               [0.3.80, cait@gen2, pid:6808]

Audio
 ├─ Devices:
 │
 ├─ Sinks:
 │
 ├─ Sink endpoints:
 │
 ├─ Sources:
 │
 ├─ Source endpoints:
 │
 └─ Streams:

Video
 ├─ Devices:
 │
 ├─ Sinks:
 │
 ├─ Sink endpoints:
 │
 ├─ Sources:
 │  *   39. xdg-desktop-portal-hyprland
 │
 ├─ Source endpoints:
 │
 └─ Streams:
        28. obs
             38. input_1         < xdg-desktop-portal-hyprland:capture_1    [negotiating]

Settings
 └─ Default Configured Node Names:
 

zeio

New Member
The obs log on gnome (everything works fine):

Code:
debug: Found portal inhibitor
debug: Attempted path: share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: share/obs/obs-studio/locale.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale.ini
debug: Attempted path: share/obs/obs-studio/themes/Yami.qss
debug: Attempted path: /usr/share/obs/obs-studio/themes/Yami.qss
info: Command Line Arguments: --verbose
info: Platform: Wayland
info: CPU Name: AMD A8-6410 APU with AMD Radeon R5 Graphics
info: CPU Speed: 2395.569MHz
info: Physical Cores: 4, Logical Cores: 4
info: Physical Memory: 14948MB Total, 10945MB Free
info: Kernel Version: Linux 6.1.57-gentoo-x86_64
info: Distribution: Gentoo "2.14"
info: Desktop Environment: GNOME (gnome)
info: Session Type: wayland
info: Qt Version: 5.15.11 (runtime), 5.15.11 (compiled)
info: Portable mode: false
debug: Attempted path: share/obs/obs-studio/themes/Dark/no_sources.svg
debug: Attempted path: /usr/share/obs/obs-studio/themes/Dark/no_sources.svg
info: OBS 29.1.3 (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
debug: Supported EGL Extensions: EGL_ANDROID_blob_cache EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_present_opaque EGL_EXT_swap_buffers_with_damage EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display EGL_WL_create_wayland_buffer_from_image 
info: Loading up OpenGL on adapter AMD KABINI (, LLVM 16.0.6, DRM 2.50, 6.1.57-gentoo-x86_64)
info: OpenGL loaded successfully, version 4.5 (Core Profile) Mesa 23.1.8, shading language 4.50
info: ---------------------------------
info: video settings reset:
    base resolution:   1366x768
    output resolution: 1364x768
    downscale filter:  Bicubic
    fps:               60/1
    format:            NV12
    YUV mode:          Rec. 709/Partial
info: NV12 texture support not available
info: P010 texture support not available
info: Audio monitoring device:
    name: Default
    id: default
info: ---------------------------------
debug: ---------------------------------
debug: Loading module: frontend-tools.so
debug: ---------------------------------
debug: Loading module: image-source.so
debug: ---------------------------------
debug: Loading module: linux-alsa.so
debug: ---------------------------------
debug: Loading module: linux-capture.so
debug: ---------------------------------
debug: Loading module: linux-pipewire.so
info: [pipewire] Available captures:
info: [pipewire]     - Desktop capture
info: [pipewire]     - Window capture
debug: ---------------------------------
debug: Loading module: linux-pulseaudio.so
debug: ---------------------------------
debug: Loading module: linux-v4l2.so
warning: v4l2loopback not installed, virtual camera disabled
debug: ---------------------------------
debug: Loading module: obs-ffmpeg.so
info: FFmpeg VAAPI H264 encoding not supported
info: FFmpeg VAAPI HEVC encoding not supported
debug: ---------------------------------
debug: Loading module: obs-filters.so
debug: ---------------------------------
debug: Loading module: obs-outputs.so
debug: ---------------------------------
debug: Loading module: obs-transitions.so
debug: ---------------------------------
debug: Loading module: obs-vst.so
debug: ---------------------------------
debug: Loading module: obs-x264.so
debug: ---------------------------------
debug: Loading module: rtmp-services.so
debug: ---------------------------------
debug: Loading module: text-freetype2.so
debug: ---------------------------------
debug: Loading module: vlc-video.so
info: [vlc-video]: VLC 3.0.18 Vetinari found, VLC video source enabled
info: ---------------------------------
info:   Loaded Modules:
info:     vlc-video.so
info:     text-freetype2.so
info:     rtmp-services.so
info:     obs-x264.so
info:     obs-vst.so
info:     obs-transitions.so
info:     obs-outputs.so
info:     obs-filters.so
info:     obs-ffmpeg.so
info:     linux-v4l2.so
info:     linux-pulseaudio.so
info:     linux-pipewire.so
info:     linux-capture.so
info:     linux-alsa.so
info:     image-source.so
info:     frontend-tools.so
info: ---------------------------------
info: ==== Startup complete ===============================================
debug: service 'default_service' (rtmp_common) created
debug: encoder 'simple_video_stream' (obs_x264) created
debug: Fallback encoder bitrates:
     64 kbit/s:
     96 kbit/s:
    128 kbit/s:
    160 kbit/s:
    192 kbit/s:
    224 kbit/s:
    256 kbit/s:
    288 kbit/s:
    320 kbit/s:
    352 kbit/s:
    384 kbit/s:
    416 kbit/s:
    448 kbit/s:
    480 kbit/s:
    512 kbit/s:
    544 kbit/s:
    576 kbit/s:
    608 kbit/s:
    640 kbit/s:
    672 kbit/s:
    704 kbit/s:
    736 kbit/s:
    768 kbit/s:
    800 kbit/s:
    832 kbit/s:
    864 kbit/s:
    896 kbit/s:
    928 kbit/s:
    960 kbit/s:
    992 kbit/s:
    1024 kbit/s:
debug: FFmpeg PCM (16-bit) (ffmpeg_pcm_s16le) encoder bitrates:
     64 kbit/s
     96 kbit/s
    128 kbit/s
    160 kbit/s
    192 kbit/s
    224 kbit/s
    256 kbit/s
    288 kbit/s
    320 kbit/s
    352 kbit/s
    384 kbit/s
    416 kbit/s
    448 kbit/s
    480 kbit/s
    512 kbit/s
    544 kbit/s
    576 kbit/s
    608 kbit/s
    640 kbit/s
    672 kbit/s
    704 kbit/s
    736 kbit/s
    768 kbit/s
    800 kbit/s
    832 kbit/s
    864 kbit/s
    896 kbit/s
    928 kbit/s
    960 kbit/s
    992 kbit/s
    1024 kbit/s
debug: FFmpeg PCM (24-bit) (ffmpeg_pcm_s24le) encoder bitrates:
     64 kbit/s
     96 kbit/s
    128 kbit/s
    160 kbit/s
    192 kbit/s
    224 kbit/s
    256 kbit/s
    288 kbit/s
    320 kbit/s
    352 kbit/s
    384 kbit/s
    416 kbit/s
    448 kbit/s
    480 kbit/s
    512 kbit/s
    544 kbit/s
    576 kbit/s
    608 kbit/s
    640 kbit/s
    672 kbit/s
    704 kbit/s
    736 kbit/s
    768 kbit/s
    800 kbit/s
    832 kbit/s
    864 kbit/s
    896 kbit/s
    928 kbit/s
    960 kbit/s
    992 kbit/s
    1024 kbit/s
debug: FFmpeg PCM (32-bit float) (ffmpeg_pcm_f32le) encoder bitrates:
     64 kbit/s
     96 kbit/s
    128 kbit/s
    160 kbit/s
    192 kbit/s
    224 kbit/s
    256 kbit/s
    288 kbit/s
    320 kbit/s
    352 kbit/s
    384 kbit/s
    416 kbit/s
    448 kbit/s
    480 kbit/s
    512 kbit/s
    544 kbit/s
    576 kbit/s
    608 kbit/s
    640 kbit/s
    672 kbit/s
    704 kbit/s
    736 kbit/s
    768 kbit/s
    800 kbit/s
    832 kbit/s
    864 kbit/s
    896 kbit/s
    928 kbit/s
    960 kbit/s
    992 kbit/s
    1024 kbit/s
debug: FFmpeg ALAC (24-bit) (ffmpeg_alac) encoder bitrates:
     64 kbit/s
     96 kbit/s
    128 kbit/s
    160 kbit/s
    192 kbit/s
    224 kbit/s
    256 kbit/s
    288 kbit/s
    320 kbit/s
    352 kbit/s
    384 kbit/s
    416 kbit/s
    448 kbit/s
    480 kbit/s
    512 kbit/s
    544 kbit/s
    576 kbit/s
    608 kbit/s
    640 kbit/s
    672 kbit/s
    704 kbit/s
    736 kbit/s
    768 kbit/s
    800 kbit/s
    832 kbit/s
    864 kbit/s
    896 kbit/s
    928 kbit/s
    960 kbit/s
    992 kbit/s
    1024 kbit/s
debug: FFmpeg FLAC (16-bit) (ffmpeg_flac) encoder bitrates:
     64 kbit/s
     96 kbit/s
    128 kbit/s
    160 kbit/s
    192 kbit/s
    224 kbit/s
    256 kbit/s
    288 kbit/s
    320 kbit/s
    352 kbit/s
    384 kbit/s
    416 kbit/s
    448 kbit/s
    480 kbit/s
    512 kbit/s
    544 kbit/s
    576 kbit/s
    608 kbit/s
    640 kbit/s
    672 kbit/s
    704 kbit/s
    736 kbit/s
    768 kbit/s
    800 kbit/s
    832 kbit/s
    864 kbit/s
    896 kbit/s
    928 kbit/s
    960 kbit/s
    992 kbit/s
    1024 kbit/s
debug: AAC simple encoder bitrate mapping:
     64 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
     96 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    128 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    160 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    192 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    224 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    256 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    288 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    320 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    352 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    384 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    416 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    448 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    480 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    512 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    544 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    576 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    608 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    640 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    672 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    704 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    736 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    768 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    800 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    832 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    864 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    896 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    928 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    960 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    992 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
    1024 kbit/s: 'FFmpeg AAC' (ffmpeg_aac)
debug: encoder 'simple_aac' (ffmpeg_aac) created
debug: encoder 'simple_archive_audio' (ffmpeg_aac) created
debug: output 'simple_file_output' (ffmpeg_muxer) created
info: All scene data cleared
info: ------------------------------------------------
debug: private source 'Cut' (cut_transition) created
debug: private source 'Fade' (fade_transition) created
info: pulse-input: Server name: 'pulseaudio 16.1'
debug: pulse-input: Default output device: 'alsa_output.pci-0000_00_14.2.analog-stereo.monitor'
info: pulse-input: Audio format: s16le, 44100 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_output.pci-0000_00_14.2.analog-stereo.monitor' (default)
debug: source 'Desktop Audio' (pulse_output_capture) created
info: [Loaded global audio device]: 'Desktop Audio'
info: pulse-input: Server name: 'pulseaudio 16.1'
debug: pulse-input: Default input device: 'alsa_input.pci-0000_00_14.2.analog-stereo'
info: pulse-input: Audio format: s16le, 44100 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_input.pci-0000_00_14.2.analog-stereo' (default)
debug: source 'Mic/Aux' (pulse_input_capture) created
info: [Loaded global audio device]: 'Mic/Aux'
debug: source 'Scene' (scene) created
info: PipeWire initialized
debug: source 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) created
info: Switched to scene 'Scene'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info:     - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source)
info: ------------------------------------------------
info: [pipewire] Screencast session created
debug: Attempted path: share/obs/obs-studio/images/overflow.png
debug: Attempted path: /usr/share/obs/obs-studio/images/overflow.png
debug: [pipewire] Response to select source received
info: [pipewire] Asking for desktop
info: [pipewire] desktop selected, setting up screencast
info: [pipewire] Server version: 0.3.80
info: [pipewire] Library version: 0.3.80
info: [pipewire] Header version: 0.3.80
debug: [pipewire] registered event 0x558a59809510
info: [pipewire] Created stream 0x558a5b5598f0
info: [pipewire] Stream 0x558a5b5598f0 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x558a5b5598f0
info: [pipewire] Stream 0x558a5b5598f0 state: "paused" (error: none)
info: [pipewire] Negotiated format:
info: [pipewire]     Format: 8 (Spa:Enum:VideoFormat:BGRx)
info: [pipewire]     Modifier: 0xffffffffffffff
info: [pipewire]     Size: 1366x768
info: [pipewire]     Framerate: 0/1
info: [pipewire] Stream 0x558a5b5598f0 state: "streaming" (error: none)

Output of 'wpctl status' on gnome:

Code:
PipeWire 'pipewire-0' [0.3.80, cait@gen2, cookie:2101058780]
 └─ Clients:
        32. WirePlumber                         [0.3.80, cait@gen2, pid:6283]
        33. WirePlumber [export]                [0.3.80, cait@gen2, pid:6283]
        36. xdg-desktop-portal                  [0.3.80, cait@gen2, pid:6410]
        37. gnome-shell                         [0.3.80, cait@gen2, pid:5894]
        40. obs                                 [0.3.80, cait@gen2, pid:7661]
        44. wpctl                               [0.3.80, cait@gen2, pid:7990]

Audio
 ├─ Devices:
 │
 ├─ Sinks:
 │
 ├─ Sink endpoints:
 │
 ├─ Sources:
 │
 ├─ Source endpoints:
 │
 └─ Streams:

Video
 ├─ Devices:
 │
 ├─ Sinks:
 │
 ├─ Sink endpoints:
 │
 ├─ Sources:
 │
 ├─ Source endpoints:
 │
 └─ Streams:
        38. gnome-shell
             39. output_1        > obs:input_1    [active]
        41. obs
             42. input_1         < gnome-shell:output_1    [active]

Settings
 └─ Default Configured Node Names:
 

javachaos

New Member
I recently had the exact same issue, I solved this by recompiling 3 packages with the USE="screencast" use flag.
I created a file in /etc/portage/package.use/plasma
kde-plasma/kwin screencast
kde-plasma/plasma-workspace screencast
kde-plasma/plasma-desktop screencast
And then update packages with.
emaint --auto sync
emerge --ask --verbose --update --deep --newuse @world
 
Top