Screen capturing Not Working on Debian GNOME (Black Screen in OBS)

XaviC

New Member
I have installed OBS on my Debian computer using Flatpak, as recommended on the official website. While most features work perfectly, the screen capturing functionality does not. When I attempt to record my screen, OBS only displays a black screen. (See attached screenshot.)

Notably, screen capturing works fine in other applications, such as Firefox, but it fails in OBS.

The only screen capturing option available in OBS is through PipeWire. No other options are listed.

Steps I Have Taken​

1- Checked xdg-desktop-portal-gnome:
A blog suggested installing xdg-desktop-portal-gnome. However, it is already installed on my system:
~$ dpkg -l | grep xdg-desktop-portal-gnome
ii xdg-desktop-portal-gnome 43.1-2 amd64 GNOME portal backend for xdg-desktop-portal
2- Tried an Alternative Launch Method:
Some videos suggest not running OBS with the following command:
~$ QT_QPA_PLATFORM=xcb flatpak run com.obsproject.Studio
However, when I tried this, OBS crashed.

Additional Notes​

The rest of OBS functions without issue. If anyone has insights or solutions to fix the black screen issue when recording on Debian GNOME, your help would be greatly appreciated.


Thanks!



OBS logs
~$ flatpak run com.obsproject.Studio
debug: Found portal inhibitor
debug: Attempted path: /app/bin/../share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: /app/bin/../share/obs/obs-studio/locale.ini
debug: Attempted path: /app/bin/../share/obs/obs-studio/locale/en-GB.ini
info: Using preferred locale 'en-GB'
debug: Attempted path: /app/bin/../share/obs/obs-studio/themes
debug: Attempted path: /app/bin/../share/obs/obs-studio/themes/
warning: org.freedesktop.portal.Settings version 1 does not support ReadOne
warning: [Safe Mode] Unclean shutdown detected!
info: [Safe Mode] User has launched in Safe Mode.
info: Platform: Wayland
info: CPU Name: 13th Gen Intel(R) Core(TM) i7-1355U
info: CPU Speed: 400.000MHz
info: Physical Cores: 10, Logical Cores: 12
info: Physical Memory: 15654MB Total, 11751MB Free
info: Kernel Version: Linux 6.1.0-28-amd64
info: Flatpak Branch: stable
info: Flatpak Arch: x86_64
info: Flatpak Runtime: runtime/org.kde.Platform/x86_64/6.6
info: App Extensions:
info: - org.freedesktop.LinuxAudio.Plugins.TAP
info: - org.freedesktop.LinuxAudio.Plugins.swh
info: - com.obsproject.Studio.Locale
info: Runtime Extensions:
info: - org.freedesktop.Platform.GL.default
info: - org.freedesktop.Platform.VAAPI.Intel
info: - org.freedesktop.Platform.openh264
info: - org.kde.KStyle.Adwaita
info: - org.kde.PlatformTheme.QGnomePlatform
info: - org.kde.WaylandDecoration.QAdwaitaDecorations
info: - org.kde.Platform.Locale
info: - org.freedesktop.Platform.GL.default
info: Flatpak Framework Version: 1.14.10
info: Desktop Environment: GNOME (gnome)
info: Session Type: wayland
info: Qt Version: 6.6.3 (runtime), 6.6.3 (compiled)
info: Portable mode: false
warning: Safe Mode enabled.
info: OBS 30.2.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
info: Loading up OpenGL on adapter Intel Mesa Intel(R) Iris(R) Xe Graphics (RPL-U)
info: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 24.3.1 (git-c815d651b8), shading language 4.60
info: ---------------------------------
info: video settings reset:
base resolution: 1920x1080
output resolution: 640x360
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: No AJA devices found, skipping loading AJA UI plugin
warning: Failed to initialize module 'aja-output-ui.so'
warning: No AJA devices found, skipping loading AJA plugin
warning: Failed to initialize module 'aja.so'
warning: Skipping module 'frontend-tools', not on safe list
warning: Skipping module 'libcef', not on safe list
warning: Skipping module 'libEGL', not on safe list
warning: Skipping module 'libGLESv2', not on safe list
warning: Skipping module 'libvk_swiftshader', not on safe list
info: [pipewire] Available capture sources:
info: [pipewire] - Monitor source
info: [pipewire] - Window source
warning: v4l2loopback not installed, virtual camera not registered
info: [obs-browser]: Version 2.23.6
info: [obs-browser]: CEF Version 103.0.5060.134 (runtime), 103.0.0-5060-shared-textures.2594+g17f8588+chromium-103.0.5060.134 (compiled)
info: VAAPI: API version 1.19
info: FFmpeg VAAPI H264 encoding supported
info: FFmpeg VAAPI AV1 encoding not supported
info: FFmpeg VAAPI HEVC encoding supported
warning: Skipping module 'obs-websocket', not on safe list
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-libfdk.so
info: obs-filters.so
info: obs-ffmpeg.so
info: obs-browser.so
info: linux-v4l2.so
info: linux-pulseaudio.so
info: linux-pipewire.so
info: linux-jack.so
info: linux-capture.so
info: image-source.so
info: ---------------------------------
info: ---------------------------------
info: Available Encoders:
info: Video Encoders:
info: - ffmpeg_svt_av1 (SVT-AV1)
info: - ffmpeg_aom_av1 (AOM AV1)
info: - ffmpeg_vaapi_tex (FFmpeg VAAPI H.264)
info: - hevc_ffmpeg_vaapi_tex (FFmpeg VAAPI HEVC)
info: - obs_qsv11_v2 (QuickSync H.264)
info: - obs_qsv11_hevc (QuickSync 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 0.3.65) 15.0.0'
info: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink.monitor' (default)
info: [Loaded global audio device]: 'Desktop Audio'
info: pulse-input: Server name: 'PulseAudio (on PipeWire 0.3.65) 15.0.0'
info: pulse-input: Audio format: s16le, 48000 Hz, 1 channels
info: pulse-input: Started recording from 'alsa_input.usb-Razer_Inc_Razer_Seiren_Mini_UC2215L03502391-00.mono-fallback' (default)
info: [Loaded global audio device]: 'Mic/Aux'
info: - filter: 'Noise Suppression' (noise_suppress_filter_v2)
info: - filter: 'Limiter' (limiter_filter)
info: v4l2-input: Start capture from /dev/video0
info: v4l2-input: Input: 0
info: v4l2-input: Resolution: 1280x720
info: v4l2-input: Pixelformat: BGR3
info: v4l2-input: Linesize: 3840 Bytes
info: v4l2-input: Framerate: 30.00 fps
info: v4l2-input: /dev/video0: select timeout set to 166666 (5x frame periods)
info: Switched to scene 'Scene 2'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Camera':
info: - source: 'Video Capture Device (V4L2)' (v4l2_input)
info: - scene 'Scene 2':
info: ------------------------------------------------
info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)

info: adding 21 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mic/Aux)

info: PipeWire initialized
info: User added source 'Screen Capture (PipeWire)' (pipewire-screen-capture-source) to scene 'Scene 2'
info: [pipewire] Screencast session created
info: [pipewire] Asking for monitor and window
info: [pipewire] source selected, setting up screencast
info: [pipewire] Server version: 0.3.65
info: [pipewire] Library version: 0.3.83
info: [pipewire] Header version: 0.3.83
info: [pipewire] Created stream 0x56158601a010
info: [pipewire] Stream 0x56158601a010 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x56158601a010
info: [pipewire] Stream 0x56158601a010 state: "paused" (error: none)
info: [pipewire] Negotiated format:
info: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx)
info: [pipewire] Modifier: 0xffffffffffffff
info: [pipewire] Size: 3440x1440
info: [pipewire] Framerate: 0/1
info: [pipewire] Stream 0x56158601a010 state: "streaming" (error: none)
System information
1735859352903.png


Error screenshot:
1735859412023.png

1735859533682.png
 

Tuna

Member
Iirc you will need to use the Debian backports version of pipewire as stable ships a too old version.
 

XaviC

New Member
Iirc you will need to use the Debian backports version of pipewire as stable ships a too old version.
It worked thanks! :)

For anyone else having the same problem this video helped me learn how to install the pipewire backports version:

 
Top