OBS and Wayland, Missing Video Sources

Hi, I've been having an issue with OBS not displaying any sources (no monitors, no active windows) to select from. The output is current black as nothing is selected.

I've searched for fixes but the issues do not seem resolved. I've also seen that OBS has native Wayland support but I cannot get it working under my setup.

System:
Kernel: 6.1.12-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=5bc71358-4bc9-433f-b135-5bc82a21a742 rw [email protected]
quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
loglevel=3 amdgpu.ppfeaturemask=0xffffffff ibt=off
Desktop: KDE Plasma v: 5.27.0 tk: Qt v: 5.15.8 wm: kwin_wayland vt: 2
dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Desktop Mobo: Micro-Star model: B350M PRO-VDH (MS-7A38) v: 2.0
serial: <superuser required> UEFI-[Legacy]: American Megatrends v: A.JS
date: 11/02/2021
CPU:
Info: model: AMD Ryzen 3 2200G with Radeon Vega Graphics bits: 64 type: MCP
arch: Zen level: v3 note: check built: 2017-19 process: GF 14nm
family: 0x17 (23) model-id: 0x11 (17) stepping: 0 microcode: 0x8101016
Topology: cpus: 1x cores: 4 smt: <unsupported> cache: L1: 384 KiB
desc: d-4x32 KiB; i-4x64 KiB L2: 2 MiB desc: 4x512 KiB L3: 4 MiB
desc: 1x4 MiB
Speed (MHz): avg: 3330 high: 3562 min/max: N/A cores: 1: 3120 2: 3562
3: 3521 4: 3118 bogomips: 31198
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Vulnerabilities: <filter>
Graphics:
Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
vendor: XFX Pine driver: amdgpu v: kernel arch: GCN-4 code: Arctic Islands
process: GF 14nm built: 2016-20 pcie: gen: 1 speed: 2.5 GT/s lanes: 8
link-max: gen: 3 speed: 8 GT/s lanes: 16 ports: active: DP-1 empty: DP-2,
DP-3, DVI-D-1, HDMI-A-1 bus-ID: 10:00.0 chip-ID: 1002:67df class-ID: 0300
temp: 27.0 C
Display: wayland server: X.org v: 1.21.1.7 with: Xwayland v: 22.1.8
compositor: kwin_wayland driver: X: loaded: amdgpu unloaded: modesetting
alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: 0
Monitor-1: DP-1 res: 1280x800 size: N/A modes: N/A
API: OpenGL v: 4.6 Mesa 22.3.4 renderer: AMD Radeon RX 590 Series
(polaris10 LLVM 15.0.7 DRM 3.49 6.1.12-zen1-1-zen) direct-render: Yes
Audio:
Device-1: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]
vendor: XFX Pine driver: snd_hda_intel bus-ID: 3-4:2 v: kernel
chip-ID: 1532:0531 pcie: gen: 1 class-ID: 0300 serial: <filter>
speed: 2.5 GT/s lanes: 8 link-max: gen: 3 speed: 8 GT/s lanes: 16
bus-ID: 10:00.1 chip-ID: 1002:aaf0 class-ID: 0403
Device-2: AMD Family 17h/19h HD Audio vendor: Micro-Star MSI
driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
bus-ID: 2a:00.6 chip-ID: 1022:15e3 class-ID: 0403
Device-3: Razer USA Seiren Mini type: USB
driver: hid-generic,snd-usb-audio,usbhid
Device-4: Google Pixel earbuds type: USB
driver: hid-generic,snd-usb-audio,usbhid bus-ID: 5-1.2:4 chip-ID: 18d1:5033
class-ID: 0300 serial: <filter>
Sound API: ALSA v: k6.1.12-zen1-1-zen running: yes
Sound Interface: sndio v: N/A running: no
Sound Server-1: PulseAudio v: 16.1 running: no
Sound Server-2: PipeWire v: 0.3.65 running: yes
Network:
Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: Micro-Star MSI driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
lanes: 1 port: e000 bus-ID: 25:00.0 chip-ID: 10ec:8168 class-ID: 0200
IF: enp37s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
IF-ID-1: wlp42s0f4u1u1i2 state: down mac: <filter>
Bluetooth:
Device-1: Realtek 802.11ac NIC type: USB driver: btusb,rtw_8822bu
bus-ID: 5-1.1:3 chip-ID: 0bda:b82c class-ID: e001 serial: <filter>
Report: bt-adapter ID: hci0 rfk-id: 0 state: up address: <filter>
Drives:
Local Storage: total: 2.98 TiB used: 806.74 GiB (26.5%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
model: WD Blue SN570 1TB size: 931.51 GiB block-size: physical: 512 B
logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
rev: 234100WD temp: 25.9 C scheme: MBR
ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital
model: WD20EZRZ-00Z5HB0 size: 1.82 TiB block-size: physical: 4096 B
logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 5400 serial: <filter>
rev: 0A80 scheme: GPT
ID-3: /dev/sdb maj-min: 8:16 vendor: Kingston model: SA400S37120G
size: 111.79 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: 61K1 scheme: MBR
ID-4: /dev/sdc maj-min: 8:32 vendor: Western Digital
model: WD1200JS-00NCB1 size: 111.79 GiB block-size: physical: 512 B
logical: 512 B speed: 3.0 Gb/s type: N/A serial: <filter> rev: 2E02
scheme: MBR
ID-5: /dev/sdd maj-min: 8:48 type: USB vendor: SanDisk model: Cruzer Blade
size: 29.25 GiB block-size: physical: 512 B logical: 512 B type: N/A
serial: <filter> rev: 1.00 scheme: GPT
SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
Partition:
ID-1: / raw-size: 931.51 GiB size: 931.51 GiB (100.00%)
used: 404.75 GiB (43.5%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:1
ID-2: /home raw-size: 931.51 GiB size: 931.51 GiB (100.00%)
used: 404.75 GiB (43.5%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /var/log raw-size: 931.51 GiB size: 931.51 GiB (100.00%)
used: 404.75 GiB (43.5%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:1
ID-4: /var/tmp raw-size: 931.51 GiB size: 931.51 GiB (100.00%)
used: 404.75 GiB (43.5%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 23.42 GiB used: 0 KiB (0.0%) priority: 100
dev: /dev/zram0
Sensors:
System Temperatures: cpu: 36.0 C mobo: N/A gpu: amdgpu temp: 27.0 C
Fan Speeds (RPM): N/A gpu: amdgpu fan: 2
Info:
Processes: 305 Uptime: 1h 1m wakeups: 0 Memory: 23.42 GiB
used: 6.17 GiB (26.3%) Init: systemd v: 253 default: graphical
tool: systemctl Compilers: gcc: 12.2.1 clang: 15.0.7 Packages: pm: pacman
pkgs: 1988 libs: 434 tools: octopi,paru pm: appimage pkgs: 0 Shell: fish
v: 3.6.0 default: Bash v: 5.1.16 running-in: konsole inxi: 3.3.25
Garuda (2.6.14-1):
System install date:     2023-01-09
Last full system update: 2023-02-19
Is partially upgraded:   Yes
Relevant software:       snapper NetworkManager mkinitcpio
Windows dual boot:       <superuser required>
Failed units:

I don't use wayland, so my ability to help here will be limited. I'll assume you have qt5-wayland installed.

You should see Screen Capture (PipeWire) in add source dialog.

While looking into this a bit, the mention of QT_QPA_PLATFORM was thrown around. It seems in the code, they're attempting to set this, but can you confirm any attempt to manually set this if that source is not available?

If not, could you try in terminal export QT_QPA_PLATFORM=wayland
and then run obs in the same terminal?

If the source is still not there, or you already tried this, then pasting the output of the obs initialization may provide some clues as to what's going on.

sources:
https://wiki.archlinux.org/title/Open_Broadcaster_Software#Wayland
https://wiki.archlinux.org/title/Wayland#Qt
https://wiki.archlinux.org/title/PipeWire#WebRTC_screen_sharing

4 Likes

Didn't work so here's the output.

Reading profile /etc/firejail/obs.profile
Reading profile /etc/firejail/allow-python2.inc
Reading profile /etc/firejail/allow-python3.inc
Reading profile /etc/firejail/disable-common.inc
Reading profile /etc/firejail/disable-devel.inc
Reading profile /etc/firejail/disable-exec.inc
Reading profile /etc/firejail/disable-interpreters.inc
Reading profile /etc/firejail/disable-programs.inc
Reading profile /etc/firejail/disable-xdg.inc
Reading profile /etc/firejail/whitelist-var-common.inc
Parent pid 195358, child pid 195359
53 programs installed in 51.66 ms
Warning: /sbin directory link was not blacklisted
Warning: /usr/sbin directory link was not blacklisted
Warning: not remounting /run/user/1000/doc
Child process initialized in 168.75 ms
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: Platform: Wayland
info: CPU Name: AMD Ryzen 3 2200G with Radeon Vega Graphics
info: CPU Speed: 3149.089MHz
info: Physical Cores: 4, Logical Cores: 4
info: Physical Memory: 23978MB Total, 332MB Free
info: Kernel Version: Linux 6.1.12-zen1-1-zen
info: Distribution: "Garuda Linux" Unknown
info: Session Type: wayland
info: Qt Version: 6.4.2 (runtime), 6.4.2 (compiled)
info: Portable mode: false
qt.core.qmetaobject.connectslotsbyname: QMetaObject::connectSlotsByName: No matching signal for on_tbar_position_valueChanged(int)
info: OBS 29.0.2-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 AMD AMD Radeon RX 590 Series (polaris10, LLVM 15.0.7, DRM 3.49, 6.1.12-zen1-1-zen)
info: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 22.3.4, shading language 4.60
info: ---------------------------------
info: video settings reset:
base resolution:   1280x720
output resolution: 1280x720
downscale filter:  Bicubic
fps:               30/1
format:            NV12
YUV mode:          Rec. 709/Full
info: NV12 texture support not available
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'
error: os_dlopen(/usr//lib/obs-plugins/frontend-tools.so->/usr//lib/obs-plugins/frontend-tools.so): libluajit-5.1.so.2: cannotopen shared object file: Permission denied

error: os_dlopen(/usr//lib/obs-plugins/frontend-tools.so->/usr//lib/obs-plugins/frontend-tools.so): libluajit-5.1.so.2: cannotopen shared object file: Permission denied

warning: Module '/usr//lib/obs-plugins/frontend-tools.so' not loaded
info: [pipewire] Available captures:
info: [pipewire]     - Desktop capture
info: [pipewire]     - Window capture
warning: v4l2loopback not installed, virtual camera disabled
info: VAAPI: API version 1.17
info: FFmpeg VAAPI H264 encoding supported
info: ---------------------------------
info:   Loaded Modules:
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-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:     decklink-output-ui.so
info:     decklink-captions.so
info: ---------------------------------
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: s24le, 48000 Hz, 2 channels
info: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording
info: pulse-input: Started recording from 'alsa_output.usb-Google_Pixel_USB-C_earbuds_0000008BWAJ59464-00.analog-stereo.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_UC2148L03306301-00.pro-input-0'
info: [Loaded global audio device]: 'Mic/Aux'
info:     - filter: 'Gain' (gain_filter)
info:     - filter: 'Expander' (expander_filter)
info:     - filter: 'Noise Suppression' (noise_suppress_filter_v2)
info: PipeWire initialized
info: PipeWire initialized
info: Switched to scene 'Scene'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info:     - source: 'Window Capture (PipeWire)' (pipewire-window-capture-source)
info:     - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source)
info: ------------------------------------------------
error: [pipewire] Error creating screencast session: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation notallowed: Unable to open /proc/195417/root
error: [pipewire] Error creating screencast session: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation notallowed: Unable to open /proc/195417/root
info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)

info: ==== Shutting down ==================================================
info: pulse-input: Stopped recording from 'alsa_output.usb-Google_Pixel_USB-C_earbuds_0000008BWAJ59464-00.analog-stereo.monitor'
info: pulse-input: Got 427 packets with 512400 frames
info: pulse-input: Stopped recording from 'alsa_input.usb-Razer_Inc_Razer_Seiren_Mini_UC2148L03306301-00.pro-input-0'
info: pulse-input: Got 425 packets with 510000 frames
info: [pipewire] Screencast session cancelled
info: [pipewire] Screencast session cancelled
info: All scene data cleared
info: ------------------------------------------------
info: Freeing OBS context data
info: == Profiler Results =============================
info: run_program_init: 817.933 ms
info:  ┣OBSApp::AppInit: 4.675 ms
info:  ┃ ┗OBSApp::InitLocale: 0.964 ms
info:  ┗OBSApp::OBSInit: 726.827 ms
info:    ┣obs_startup: 0.634 ms
info:    ┗OBSBasic::OBSInit: 535.418 ms
info:      ┣OBSBasic::InitBasicConfig: 0.105 ms
info:      ┣OBSBasic::ResetAudio: 0.216 ms
info:      ┣OBSBasic::ResetVideo: 197.483 ms
info:      ┣OBSBasic::InitOBSCallbacks: 0.002 ms
info:      ┣OBSBasic::InitHotkeys: 0.045 ms
info:      ┣obs_load_all_modules2: 233.949 ms
info:      ┃ ┣obs_init_module(decklink-captions.so): 0.001 ms
info:      ┃ ┣obs_init_module(decklink-output-ui.so): 0.002 ms
info:      ┃ ┣obs_init_module(decklink.so): 0.111 ms
info:      ┃ ┣obs_init_module(image-source.so): 0.014 ms
info:      ┃ ┣obs_init_module(linux-alsa.so): 0.008 ms
info:      ┃ ┣obs_init_module(linux-capture.so): 0.005 ms
info:      ┃ ┣obs_init_module(linux-jack.so): 0.007 ms
info:      ┃ ┣obs_init_module(linux-pipewire.so): 1.869 ms
info:      ┃ ┣obs_init_module(linux-pulseaudio.so): 0.007 ms
info:      ┃ ┣obs_init_module(linux-v4l2.so): 4.259 ms
info:      ┃ ┣obs_init_module(obs-ffmpeg.so): 38.405 ms
info:      ┃ ┃ ┗nvenc_check: 0.776 ms
info:      ┃ ┣obs_init_module(obs-filters.so): 0.039 ms
info:      ┃ ┣obs_init_module(obs-libfdk.so): 0.004 ms
info:      ┃ ┣obs_init_module(obs-outputs.so): 0.004 ms
info:      ┃ ┣obs_init_module(obs-transitions.so): 0.01 ms
info:      ┃ ┣obs_init_module(obs-vst.so): 0.007 ms
info:      ┃ ┣obs_init_module(obs-x264.so): 0.003 ms
info:      ┃ ┣obs_init_module(rtmp-services.so): 0.821 ms
info:      ┃ ┗obs_init_module(text-freetype2.so): 0.014 ms
info:      ┣OBSBasic::ResetOutputs: 15.468 ms
info:      ┣OBSBasic::CreateHotkeys: 0.051 ms
info:      ┣OBSBasic::InitService: 1.235 ms
info:      ┣OBSBasic::InitPrimitives: 0.113 ms
info:      ┗OBSBasic::Load: 34.205 ms
info: obs_hotkey_thread(25 ms): min=0.001 ms, median=0.002 ms, max=0.049 ms, 99th percentile=0.006 ms, 100% below 25 ms
info: audio_thread(Audio): min=0.015 ms, median=0.047 ms, max=0.498 ms, 99th percentile=0.116 ms
info: obs_graphics_thread(33.3333 ms): min=0.195 ms, median=0.51 ms, max=21.506 ms, 99th percentile=1.739 ms, 100% below 33.333 ms
info:  ┣tick_sources: min=0.002 ms, median=0.009 ms, max=0.066 ms, 99th percentile=0.028 ms
info:  ┣output_frame: min=0.149 ms, median=0.226 ms, max=3.979 ms, 99th percentile=0.497 ms
info:  ┃ ┗gs_context(video->graphics): min=0.141 ms, median=0.221 ms, max=3.97 ms, 99th percentile=0.49 ms
info:  ┃   ┣render_video: min=0.025 ms, median=0.04 ms, max=0.154 ms, 99th percentile=0.114 ms
info:  ┃   ┃ ┗render_main_texture: min=0.018 ms, median=0.03 ms, max=0.146 ms, 99th percentile=0.081 ms
info:  ┃   ┗gs_flush: min=0.002 ms, median=0.005 ms, max=0.065 ms, 99th percentile=0.023 ms
info:  ┗render_displays: min=0.003 ms, median=0.221 ms, max=21.279 ms, 99th percentile=0.944 ms
info: =================================================
info: == Profiler Time Between Calls ==================
info: obs_hotkey_thread(25 ms): min=25.026 ms, median=25.093 ms, max=28.251 ms, 99.1209% within ±2% of 25 ms (0% lower, 0.879121% higher)
info: obs_graphics_thread(33.3333 ms): min=30.708 ms, median=33.333 ms, max=35.993 ms, 99.3958% within ±2% of 33.333 ms (0.302115% lower, 0.302115% higher)
info: =================================================
info: Number of memory leaks: 4

Parent is shutting down, bye...

I noticed firejail running in the output. I decided to run "firecfg --clean" to remove OBS from being firejailed. After that everything was fixed. Thank you for the heads up with running OBS in the terminal.

1 Like

No problem, glad you figured it out. Happy streaming/recording to you.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.