You are not logged in.
I am trying to setup OBS Studio to capture an entire screen.
I have tried installing OBS Studio both through pacman (pacman -S obs-studio) and flathub (flatpak install --user com.obsproject.Studio), but the result is the same: when I try to capture a screen, I only get a black screen.
This is what OBS logs when I execute it using flatpak run com.obsproject.Studio and I start a recording with screen capture active:
qt.qpa.qgnomeplatform: Could not find color scheme ""
debug: Found portal inhibitor
debug: Attempted path: share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: /app/share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: share/obs/obs-studio/locale.ini
debug: Attempted path: /app/share/obs/obs-studio/locale.ini
debug: Attempted path: share/obs/obs-studio/themes/Yami.qss
debug: Attempted path: /app/share/obs/obs-studio/themes/Yami.qss
info: Platform: Wayland
info: CPU Name: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
info: CPU Speed: 3247.528MHz
info: Physical Cores: 6, Logical Cores: 12
info: Physical Memory: 15835MB Total, 5347MB Free
info: Kernel Version: Linux 6.7.5-arch1-1
info: Flatpak Branch: stable
info: Flatpak Arch: x86_64
info: Flatpak Runtime: runtime/org.kde.Platform/x86_64/6.5
info: App Extensions:
info: - com.obsproject.Studio.Plugin.GStreamerVaapi
info: - com.obsproject.Studio.Locale
info: Runtime Extensions:
info: - org.freedesktop.Platform.GL.default
info: - org.freedesktop.Platform.GL.nvidia-545-29-06
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.WaylandDecoration.QGnomePlatform-decoration
info: - org.kde.Platform.Locale
info: - org.freedesktop.Platform.GL.default
info: Flatpak Framework Version: 1.15.6
info: Desktop Environment: GNOME (gnome)
info: Session Type: wayland
info: Qt Version: 6.5.3 (runtime), 6.5.3 (compiled)
info: Portable mode: false
info: OBS 30.0.2 (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) UHD Graphics 630 (CFL GT2)
info: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.3.5 (git-ace31d82e0), shading language 4.60
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 not available
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: 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] Available captures:
info: [pipewire] - Desktop capture
info: [pipewire] - Window capture
info: [obs-browser]: Version 2.22.2
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: NVENC supported
info: VAAPI: API version 1.18
info: FFmpeg VAAPI H264 encoding supported
info: FFmpeg VAAPI HEVC encoding supported
info: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.3.4 | RPC Version: 1)
info: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.5.3 | Qt version (run-time): 6.5.3
info: [obs-websocket] [obs_module_load] Linked ASIO Version: 102800
info: [obs-websocket] [obs_module_load] Module loaded.
info: [obs-vaapi] version: 0.4.1, gst-runtime: 1.20.7
info: ---------------------------------
info: Loaded Modules:
info: obs-vaapi.so
info: text-freetype2.so
info: rtmp-services.so
info: obs-x264.so
info: obs-websocket.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: frontend-tools.so
info: decklink-output-ui.so
info: decklink-captions.so
info: ---------------------------------
warning: QWidget::setTabOrder: 'first' and 'second' must be in the same window
info: ==== Startup complete ===============================================
info: All scene data cleared
info: ------------------------------------------------
info: pulse-input: Server name: 'pulseaudio 17.0'
info: pulse-input: Audio format: s16le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
info: [Loaded global audio device]: 'Desktop Audio'
info: pulse-input: Server name: 'pulseaudio 17.0'
info: pulse-input: Audio format: s16le, 44100 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_input.pci-0000_00_1f.3.analog-stereo' (default)
info: [Loaded global audio device]: 'Mic/Aux'
info: pulse-input: Server name: 'pulseaudio 17.0'
info: pulse-input: Audio format: s16le, 44100 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_input.pci-0000_00_1f.3.analog-stereo'
info: PipeWire initialized
info: Switched to scene 'Scene'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info: - source: 'Audio Input Capture (PulseAudio)' (pulse_input_capture)
info: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source)
info: ------------------------------------------------
info: [pipewire] Screencast session created
info: [pipewire] Asking for desktop
info: [pipewire] desktop selected, setting up screencast
info: [pipewire] Server version: 1.0.3
info: [pipewire] Library version: 0.3.65
info: [pipewire] Header version: 0.3.65
info: [pipewire] Created stream 0x64b0b16ae620
info: [pipewire] Stream 0x64b0b16ae620 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x64b0b16ae620
info: [pipewire] Stream 0x64b0b16ae620 state: "paused" (error: none)
info: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mic/Aux)
info: ---------------------------------
info: [FFmpeg NVENC encoder: 'simple_video_stream'] settings:
encoder: NVIDIA NVENC H.264 (FFmpeg)
rate_control: CBR
bitrate: 2500
cqp: 0
keyint: 250
preset: p5
tuning: hq
multipass: qres
profile: high
width: 1920
height: 1080
b-frames: 2
psycho-aq: 1
GPU: 0
info: libfdk_aac encoder created
info: libfdk_aac bitrate: 160, channels: 2
info: ==== Recording Start ===============================================
info: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/riccardo/OBS-Recordings/2024-02-22_12-08-23.mkv'...
info: [ffmpeg muxer: 'simple_file_output'] Output of file '/home/riccardo/OBS-Recordings/2024-02-22_12-08-23.mkv' stopped
info: Output 'simple_file_output': stopping
info: Output 'simple_file_output': Total frames output: 221
info: Output 'simple_file_output': Total drawn frames: 234
info: ==== Recording Stop ================================================
info: libfdk_aac encoder destroyed
info: ==== Shutting down ==================================================
info: pulse-input: Stopped recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor'
info: pulse-input: Got 1824 packets with 430491 frames
info: pulse-input: Stopped recording from 'alsa_input.pci-0000_00_1f.3.analog-stereo'
info: pulse-input: Got 1115 packets with 483272 frames
info: pulse-input: Stopped recording from 'alsa_input.pci-0000_00_1f.3.analog-stereo'
info: pulse-input: Got 1115 packets with 483272 frames
info: [pipewire] Stream 0x64b0b16ae620 state: "unconnected" (error: none)
info: All scene data cleared
info: ------------------------------------------------
info: [obs-websocket] [obs_module_unload] Shutting down...
error: Tried to call obs_frontend_remove_event_callback with no callbacks!
info: [obs-websocket] [obs_module_unload] Finished shutting down.
info: [Scripting] Total detached callbacks: 0
info: Freeing OBS context data
info: == Profiler Results =============================
info: run_program_init: 953.21 ms
info: ┣OBSApp::AppInit: 4.961 ms
info: ┃ ┗OBSApp::InitLocale: 0.809 ms
info: ┗OBSApp::OBSInit: 829.253 ms
info: ┣obs_startup: 3.54 ms
info: ┗OBSBasic::OBSInit: 792.057 ms
info: ┣OBSBasic::InitBasicConfig: 0.103 ms
info: ┣OBSBasic::ResetAudio: 0.436 ms
info: ┣OBSBasic::ResetVideo: 108.298 ms
info: ┃ ┗obs_init_graphics: 99.457 ms
info: ┃ ┗shader compilation: 41.58 ms
info: ┣OBSBasic::InitOBSCallbacks: 0.004 ms
info: ┣OBSBasic::InitHotkeys: 0.022 ms
info: ┣obs_load_all_modules2: 604.099 ms
info: ┃ ┣obs_init_module(aja-output-ui.so): 0.136 ms
info: ┃ ┣obs_init_module(aja.so): 0.095 ms
info: ┃ ┣obs_init_module(decklink-captions.so): 0 ms
info: ┃ ┣obs_init_module(decklink-output-ui.so): 0 ms
info: ┃ ┣obs_init_module(decklink.so): 0.68 ms
info: ┃ ┣obs_init_module(frontend-tools.so): 113.348 ms
info: ┃ ┣obs_init_module(image-source.so): 0.007 ms
info: ┃ ┣obs_init_module(linux-capture.so): 0 ms
info: ┃ ┣obs_init_module(linux-jack.so): 0.004 ms
info: ┃ ┣obs_init_module(linux-pipewire.so): 25.894 ms
info: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.002 ms
info: ┃ ┣obs_init_module(linux-v4l2.so): 17.304 ms
info: ┃ ┣obs_init_module(obs-browser.so): 0.068 ms
info: ┃ ┣obs_init_module(obs-ffmpeg.so): 5.693 ms
info: ┃ ┃ ┗nvenc_check: 0.986 ms
info: ┃ ┣obs_init_module(obs-filters.so): 0.042 ms
info: ┃ ┣obs_init_module(obs-libfdk.so): 0.002 ms
info: ┃ ┣obs_init_module(obs-outputs.so): 0.005 ms
info: ┃ ┣obs_init_module(obs-qsv11.so): 1.556 ms
info: ┃ ┣obs_init_module(obs-transitions.so): 0.01 ms
info: ┃ ┣obs_init_module(obs-vst.so): 0.004 ms
info: ┃ ┣obs_init_module(obs-webrtc.so): 0.01 ms
info: ┃ ┣obs_init_module(obs-websocket.so): 5.817 ms
info: ┃ ┣obs_init_module(obs-x264.so): 0.004 ms
info: ┃ ┣obs_init_module(rtmp-services.so): 0.991 ms
info: ┃ ┣obs_init_module(text-freetype2.so): 0.018 ms
info: ┃ ┗obs_init_module(obs-vaapi.so): 7.944 ms
info: ┣OBSBasic::InitService: 1.18 ms
info: ┣OBSBasic::ResetOutputs: 0.182 ms
info: ┣OBSBasic::CreateHotkeys: 0.021 ms
info: ┣OBSBasic::InitPrimitives: 0.054 ms
info: ┗OBSBasic::Load: 47.732 ms
info: obs_hotkey_thread(25 ms): min=0 ms, median=0.001 ms, max=0.043 ms, 99th percentile=0.008 ms, 100% below 25 ms
info: audio_thread(Audio): min=0.01 ms, median=0.175 ms, max=7.783 ms, 99th percentile=2.047 ms
info: ┗receive_audio: min=0.005 ms, median=1.403 ms, max=7.593 ms, 99th percentile=1.928 ms, 0.338156 calls per parent call
info: ┣buffer_audio: min=0 ms, median=0.001 ms, max=0.035 ms, 99th percentile=0.01 ms
info: ┗do_encode: min=0.33 ms, median=1.399 ms, max=7.587 ms, 99th percentile=1.921 ms
info: ┣encode(simple_aac): min=0.31 ms, median=1.372 ms, max=1.879 ms, 99th percentile=1.823 ms
info: ┗send_packet: min=0.001 ms, median=0.011 ms, max=6.264 ms, 99th percentile=0.084 ms
info: obs_graphics_thread(16.6667 ms): min=0.051 ms, median=0.871 ms, max=10.132 ms, 99th percentile=3.174 ms, 100% below 16.667 ms
info: ┣tick_sources: min=0 ms, median=0.016 ms, max=0.384 ms, 99th percentile=0.057 ms
info: ┣output_frame: min=0.026 ms, median=0.3 ms, max=3.547 ms, 99th percentile=1.651 ms
info: ┃ ┣gs_context(video->graphics): min=0.025 ms, median=0.298 ms, max=2.955 ms, 99th percentile=0.819 ms
info: ┃ ┃ ┣render_video: min=0.016 ms, median=0.073 ms, max=1.717 ms, 99th percentile=0.398 ms
info: ┃ ┃ ┃ ┣render_main_texture: min=0.013 ms, median=0.064 ms, max=0.218 ms, 99th percentile=0.118 ms
info: ┃ ┃ ┃ ┣render_convert_texture: min=0.054 ms, median=0.123 ms, max=0.681 ms, 99th percentile=0.367 ms, 0.333809 calls per parent call
info: ┃ ┃ ┃ ┗stage_output_texture: min=0.023 ms, median=0.049 ms, max=0.959 ms, 99th percentile=0.117 ms, 0.333809 calls per parent call
info: ┃ ┃ ┣gs_flush: min=0.004 ms, median=0.168 ms, max=2.874 ms, 99th percentile=0.31 ms
info: ┃ ┃ ┗download_frame: min=0 ms, median=0.158 ms, max=0.298 ms, 99th percentile=0.241 ms, 0.333809 calls per parent call
info: ┃ ┗output_video_data: min=0.493 ms, median=0.638 ms, max=2.865 ms, 99th percentile=2.838 ms, 0.332382 calls per parent call
info: ┗render_displays: min=0.003 ms, median=0.458 ms, max=3.012 ms, 99th percentile=1.092 ms
info: video_thread(video): min=1.946 ms, median=2.941 ms, max=18.707 ms, 99th percentile=4.013 ms
info: ┗receive_video: min=1.943 ms, median=2.937 ms, max=18.703 ms, 99th percentile=4.009 ms
info: ┗do_encode: min=1.941 ms, median=2.935 ms, max=18.7 ms, 99th percentile=4.007 ms
info: ┣encode(simple_video_stream): min=1.909 ms, median=2.904 ms, max=4.118 ms, 99th percentile=3.649 ms
info: ┗send_packet: min=0.006 ms, median=0.033 ms, max=15.512 ms, 99th percentile=0.076 ms
info: =================================================
info: == Profiler Time Between Calls ==================
info: obs_hotkey_thread(25 ms): min=25.058 ms, median=25.146 ms, max=32.051 ms, 99.1471% within ±2% of 25 ms (0% lower, 0.852878% higher)
info: obs_graphics_thread(16.6667 ms): min=14.392 ms, median=16.666 ms, max=18.956 ms, 98.8571% within ±2% of 16.667 ms (0.571429% lower, 0.571429% higher)
info: =================================================
info: Number of memory leaks: 0I am on GNOME an I have already installed the xdg-desktop-portal-gnome package. I also try to install xdg-desktop-portal-wlr, but it didn't change anything.
I noticed that also the Mozilla's WebRTC test page (linked in PipeWire#WebRTC_screen_sharing) cannot capture my screen.
Last edited by Clyky (2024-03-03 18:50:56)
Offline
After some hours of digging I was able to fix the problem.
I was missing the package pipewire-pulse (see PipeWire#PulseAudio clients). I noticed this because the output of pactl info did NOT include the part "Server Name: PulseAudio (on PipeWire x.y.z)", but it was just "Server Name: PulseAudio".
I don't know how or why this package affects screen capturing. Anyway, after installing the pipewire-pulse package screen capturing through OBS Studio works.
Last edited by Clyky (2024-03-03 18:52:15)
Offline