Cant capture window/screen in obs, unless ran as root then it captures a black screen

Not sure what all info’s useful so heres a lot of info

Packages I think are related
Cinnamon 6.4.10
wayland 1.23.1-2
xorg-xwayland 24.1.8-1
xwaylandvideobridge 0.4.0-2
xdg-dbus-proxy 0.1.6-1
xdg-desktop-portal 1.20.3-1
xdg-desktop-portal-gtk 1.15.3-1
xdg-desktop-portal-xapp 1.1.1-1
linux612 6.12.37-1
linux612-headers 6.12.37-1
linux612-nvidia-open 575.64.03-3
manjaro-pipewire 20231009-1
pipewire 1:1.4.6-1
pipewire-alsa 1:1.4.6-1
pipewire-audio 1:1.4.6-1
pipewire-pulse 1:1.4.6-1
pipewire-session-manager 1:1.4.6-1
pipewire-v4l2 1:1.4.6-1
v4l2loopback-dkms 0.15.0-1
OBS output
[lux@archsys ~]$ obs -platform wayland
Fontconfig warning: using without calling FcInit()
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/locale/en-GB.ini
info: Using preferred locale 'en-GB'
debug: Attempted path: /usr/bin/../share/obs/obs-studio/themes
debug: Attempted path: /usr/bin/../share/obs/obs-studio/themes/
info: Platform: Wayland
info: CPU Name: AMD Ryzen 7 7700 8-Core Processor
info: CPU Speed: 4257.691MHz
info: Physical Cores: 8, Logical Cores: 16
info: Physical Memory: 31232MB Total, 3049MB Free
info: Kernel Version: Linux 6.12.37-1-MANJARO
info: Distribution: "Manjaro Linux" Unknown
info: Desktop Environment: X-Cinnamon (cinnamon-wayland)
info: Session Type: wayland
info: Qt Version: 6.9.1 (runtime), 6.9.1 (compiled)
info: Portable mode: false
info: OBS 31.0.4 (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 4060/PCIe/SSE2
info: OpenGL loaded successfully, version 3.3.0 NVIDIA 575.64.03, 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
info: VAAPI: API version 1.22
info: FFmpeg VAAPI H264 encoding supported
info: FFmpeg VAAPI AV1 encoding supported
info: FFmpeg VAAPI HEVC encoding supported
info: [obs-nvenc] NVENC version: 13.0 (compiled) / 13.0 (driver), CUDA driver version: 12.90, AV1 supported: true
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: 	- ffmpeg_vaapi_tex (FFmpeg VAAPI H.264)
info: 	- av1_ffmpeg_vaapi_tex (FFmpeg VAAPI AV1)
info: 	- hevc_ffmpeg_vaapi_tex (FFmpeg VAAPI HEVC)
info: 	- obs_nvenc_h264_tex (NVIDIA NVENC H.264)
info: 	- obs_nvenc_hevc_tex (NVIDIA NVENC HEVC)
info: 	- obs_nvenc_av1_tex (NVIDIA NVENC AV1)
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.4.6) 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-Corsair_CORSAIR_HS80_RGB_Wireless_Gaming_Receiver_196b55eb00040215-00.analog-stereo.monitor' (default)
info: [Loaded global audio device]: 'Desktop Audio'
info: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.6) 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_input.usb-HP__Inc_HyperX_SoloCast-00.analog-stereo' (default)
info: [Loaded global audio device]: 'Mic/Aux'
error: Source ID 'xshm_input_v2' not found
error: Failed to create source 'Display Capture (XSHM)'!
info: Switched to scene 'Scene'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info:     - source: 'Display Capture (XSHM)' (xshm_input_v2)
info: ------------------------------------------------
info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
sudo OBS output
[lux@archsys ~]$ sudo obs -platform wayland
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
Failed to create wl_display (No such file or directory)
qt.qpa.plugin: Could not load the Qt platform plugin "wayland" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vkkhrdisplay, vnc, xcb, wayland-egl, wayland.

Aborted

Setting XDG_RUNTIME_DIR to /usr/local/userid (1000) changes nothing
Streaming does not work in any app, including browsers
Id rather not use launch flags, or anything I have to set per app as I feel thats more a bandage fix rather than a real solution

I cant use X11 as Cinnamon instantly goes to fallback upon logging in
Got X11 working by removing linux510, linux510-headers and then reinstalling linux612-nvidia-open
Streaming works on X11, Id love to get wayland working though as its alot more modern from what I know

Helpful for obs Ig but no app is able to get screen or window access, not just obs

“Streaming does not work in any app, including browsers”

Wayland is much more restrictive when applications try to access the display or input methods.

1 Like

I know that, are basically all apps just not updated to support wayland?

For more clarity,
I get no feedback (no popup, visuals, audio, error from the app idk abt system logs, etc) from clicking streaming buttons in apps or even just running navigator.mediaDevices.getDisplayMedia directly in a browser

Wayland on cinnamon is still Experimental and therefore not everything is working

1 Like

Is there some place I can keep bookmarked for updates on it? changelogs, etc