obsproject / obs-studio

OBS Studio - Free and open source software for live streaming and screen recording
https://obsproject.com
GNU General Public License v2.0
60.44k stars 7.99k forks source link

OBS crashes when selecting screen or window to record (Wayland, pipewire, Ubuntu 22.04) #8050

Closed pieqq closed 1 year ago

pieqq commented 1 year ago

Operating System Info

Ubuntu 22.04

Other OS

No response

OBS Studio Version

29.0.0

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/iE0bmIVmA0WnSng8

OBS Studio Crash Log URL

https://obsproject.com/logs/iE0bmIVmA0WnSng8

Expected Behavior

I can add a screen and/or window as a source, and record a screencast.

Current Behavior

When I select the screen I want to use, a "Screen share" dialog pops up:

image

If I select my screen and press "Share", OBS crashes with the following info in the logs:

10:54:14.233: PipeWire initialized
10:54:14.237: User added source 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) to scene 'Scene'
10:54:14.267: [pipewire] Screencast session created
10:54:14.282: [pipewire] Asking for desktop
10:54:16.394: [pipewire] desktop selected, setting up screencast
10:54:16.397: bmalloc: Allocating 0 bytes is broken behavior, please fix your code! This will crash in future versions of OBS.
10:54:16.397: bmalloc: Allocating 0 bytes is broken behavior, please fix your code! This will crash in future versions of OBS.
10:54:16.397: bmalloc: Allocating 0 bytes is broken behavior, please fix your code! This will crash in future versions of OBS.
10:54:16.397: bmalloc: Allocating 0 bytes is broken behavior, please fix your code! This will crash in future versions of OBS.
10:54:16.404: [pipewire] Server version: 0.3.48
10:54:16.404: [pipewire] Library version: 0.3.57
10:54:16.404: [pipewire] Header version: 0.3.57
10:54:16.404: [pipewire] Created stream 0x561ae24ae6f0
10:54:16.404: [pipewire] Stream 0x561ae24ae6f0 state: "connecting" (error: none)
10:54:16.404: [pipewire] Playing stream 0x561ae24ae6f0
10:54:16.405: [pipewire] Stream 0x561ae24ae6f0 state: "paused" (error: none)

The next time I start OBS, the "Screen share" dialog pops up again.

Steps to Reproduce

  1. Install OBS using Flatpak: flatpak install flathub com.obsproject.Studio
  2. Launch OBS and do the setup wizard
  3. Add a Screen or Window video source
  4. When prompted, select the screen or window you want to share

Anything else we should know?

No response

kkartaltepe commented 1 year ago

Provide a backtrace from gdb of the crash, there is little we can do without it.

pieqq commented 1 year ago

@kkartaltepe can you point me to a doc on how to achieve this?

In the meantime, I tried OBS in a Xorg session. I can record a screen or window using the X tools (resp. XSHM and Xcomposite), but trying to use Pipewire (which is also shown, like on Wayland) crashes with the following output:

info: PipeWire initialized
info: User added source 'Window Capture (PipeWire)' (pipewire-window-capture-source) to scene 'Scene'
info: [pipewire] Screencast session created
info: [pipewire] Asking for window
info: [pipewire] window selected, setting up screencast
error: Cannot query the number of formats: An EGLDisplay argument does not name a valid EGL display connection.
info: [pipewire] Server version: 0.3.48
info: [pipewire] Library version: 0.3.57
info: [pipewire] Header version: 0.3.57
info: [pipewire] Created stream 0x55757e7e4ee0
error: bmalloc: Allocating 0 bytes is broken behavior, please fix your code! This will crash in future versions of OBS.
info: [pipewire] Stream 0x55757e7e4ee0 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x55757e7e4ee0
info: [pipewire] Stream 0x55757e7e4ee0 state: "paused" (error: none)
theofficialgman commented 1 year ago

ubuntu 22.04, kde wayland, backtrace

[📦 com.obsproject.Studio ~]$ gdb obs
GNU gdb (GDB) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from obs...
(No debugging symbols found in obs)
(gdb) run
Starting program: /app/bin/obs 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffee561640 (LWP 15)]
[New Thread 0x7fffedd60640 (LWP 16)]
[New Thread 0x7fffed55f640 (LWP 17)]
[New Thread 0x7fffecd34640 (LWP 18)]
[New Thread 0x7fffdffff640 (LWP 19)]
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/Dark.qss
debug: Attempted path: /app/share/obs/obs-studio/themes/Dark.qss
info: Platform: Wayland
info: CPU Name: Intel(R) Core(TM) i5-8600K CPU @ 3.60GHz
info: CPU Speed: 2129.430MHz
info: Physical Cores: 6, Logical Cores: 6
info: Physical Memory: 15906MB Total, 6001MB Free
info: Kernel Version: Linux 5.15.0-58-generic
info: Distribution: "KDE Flatpak runtime" "5.15-21.08"
info: Session Type: wayland
[New Thread 0x7fffdf7fe640 (LWP 20)]
[New Thread 0x7fffdeffd640 (LWP 21)]
info: Qt Version: 6.4.2 (runtime), 6.4.0 (compiled)
info: Portable mode: false
qt.core.qmetaobject.connectslotsbyname: QMetaObject::connectSlotsByName: No matching signal for on_tbar_position_valueChanged(int)
info: OBS 29.0.0 (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
        samples per sec: 48000
        speakers:        2
        max buffering:   960 milliseconds
        buffering type:  dynamically increasing
[New Thread 0x7fffde7fc640 (LWP 22)]
info: ---------------------------------
info: Initializing OpenGL...
info: Using EGL/Wayland
[New Thread 0x7fffcbfff640 (LWP 23)]
[New Thread 0x7fffcb7fe640 (LWP 24)]
[New Thread 0x7fffcaffd640 (LWP 25)]
[New Thread 0x7fffca7fc640 (LWP 26)]
info: Initialized EGL 1.5
[New Thread 0x7fffc9dfb640 (LWP 27)]
[New Thread 0x7fffc95fa640 (LWP 28)]
info: Loading up OpenGL on adapter AMD AMD Radeon RX 570 Series (polaris10, LLVM 14.0.6, DRM 3.42, 5.15.0-58-generic)
info: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 22.3.2 (git-a09d5e2747), shading language 4.60
info: ---------------------------------
info: video settings reset:
        base resolution:   3840x2160
        output resolution: 1920x1080
        downscale filter:  Bicubic
        fps:               60/1
        format:            I444
        YUV mode:          Rec. 709/Partial
[New Thread 0x7fffc89f9640 (LWP 29)]
info: NV12 texture support not available
info: P010 texture support not available
[New Thread 0x7fffbd743640 (LWP 30)]
info: Audio monitoring device:
        name: Default
        id: default
info: ---------------------------------
[Detaching after fork from child process 31]
warning: No AJA devices found, skipping loading AJA UI plugin
warning: Failed to initialize module 'aja-output-ui.so'
[Detaching after fork from child process 32]
warning: No AJA devices found, skipping loading AJA plugin
warning: Failed to initialize module 'aja.so'
[Detaching after fork from child process 33]
warning: Failed to load 'en-US' text for module: 'decklink-captions.so'
[Detaching after fork from child process 34]
warning: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
[Detaching after fork from child process 35]
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'
[Detaching after fork from child process 36]
[New Thread 0x7fff9ffff640 (LWP 37)]
[Detaching after fork from child process 38]
[Detaching after fork from child process 39]
[Detaching after fork from child process 40]
[Detaching after fork from child process 41]
[Detaching after fork from child process 42]
[Detaching after fork from child process 43]
[Detaching after fork from child process 44]
[Detaching after fork from child process 45]
info: [pipewire] Available captures:
info: [pipewire]     - Desktop capture
info: [pipewire]     - Window capture
[Detaching after fork from child process 46]
[Detaching after fork from child process 47]
[Detaching after vfork from child process 48]
[Detaching after fork from child process 52]
info: [obs-browser]: Version 2.19.0
info: [obs-browser]: CEF Version 103.0.5060.134 (runtime), 103.0.0-5060-shared-textures_143.2591+g4204d54+chromium-103.0.5060.134 (compiled)
[Detaching after fork from child process 53]
info: VAAPI: API version 1.15
info: FFmpeg VAAPI H264 encoding supported
[Detaching after fork from child process 54]
[Detaching after fork from child process 55]
[Detaching after fork from child process 56]
[Detaching after fork from child process 57]
[Detaching after fork from child process 58]
info: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.1.0 | RPC Version: 1)
info: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.4.0 | Qt version (run-time): 6.4.2
info: [obs-websocket] [obs_module_load] Linked ASIO Version: 101201
info: [obs-websocket] [obs_module_load] Module loaded.
[Detaching after fork from child process 59]
[Detaching after fork from child process 60]
[New Thread 0x7fff9e03e640 (LWP 61)]
[New Thread 0x7fff9d83d640 (LWP 62)]
[Detaching after fork from child process 63]
[Thread 0x7fff9d83d640 (LWP 62) exited]
[Detaching after fork from child process 64]
error: os_dlopen(/home/garrett/.var/app/com.obsproject.Studio/config/obs-studio/plugins/StreamFX/bin/64bit/StreamFX.so->/home/garrett/.var/app/com.obsproject.Studio/config/obs-studio/plugins/StreamFX/bin/64bit/StreamFX.so): libavutil.so.56: cannot open shared object file: No such file or directory

error: os_dlopen(/home/garrett/.var/app/com.obsproject.Studio/config/obs-studio/plugins/StreamFX/bin/64bit/StreamFX.so->/home/garrett/.var/app/com.obsproject.Studio/config/obs-studio/plugins/StreamFX/bin/64bit/StreamFX.so): libavutil.so.56: cannot open shared object file: No such file or directory

warning: Module '/home/garrett/.var/app/com.obsproject.Studio/config/obs-studio/plugins/StreamFX/bin/64bit/StreamFX.so' not loaded
info: ---------------------------------
info:   Loaded Modules:
info:     text-freetype2.so
info:     rtmp-services.so
info:     obs-x264.so
info:     obs-websocket.so
info:     obs-vst.so
info:     obs-transitions.so
info:     obs-outputs.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: ---------------------------------
QLayout: Attempting to add QLayout "" to OBSBasic "OBSBasic", which already has a layout
QWidget::setTabOrder: 'first' and 'second' must be in the same window
info: ==== Startup complete ===============================================
info: All scene data cleared
info: ------------------------------------------------
[New Thread 0x7fff9d83d640 (LWP 65)]
info: pulse-input: Server name: 'PulseAudio (on PipeWire 0.3.48) 15.0.0'
info: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_output.pci-0000_01_00.1.hdmi-stereo-extra5.monitor' (default)
info: [Loaded global audio device]: 'Desktop Audio'
info: PipeWire initialized
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
info: [pipewire] Asking for desktop
[Thread 0x7fff9e03e640 (LWP 61) exited]
info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)

info: [pipewire] desktop selected, setting up screencast
error: bmalloc: Allocating 0 bytes is broken behavior, please fix your code! This will crash in future versions of OBS.
error: bmalloc: Allocating 0 bytes is broken behavior, please fix your code! This will crash in future versions of OBS.
error: bmalloc: Allocating 0 bytes is broken behavior, please fix your code! This will crash in future versions of OBS.
error: bmalloc: Allocating 0 bytes is broken behavior, please fix your code! This will crash in future versions of OBS.
[New Thread 0x7fff75782640 (LWP 66)]
[New Thread 0x7fff74f81640 (LWP 67)]
info: [pipewire] Server version: 0.3.48
info: [pipewire] Library version: 0.3.59
info: [pipewire] Header version: 0.3.57
info: [pipewire] Created stream 0x555556ed2de0
info: [pipewire] Stream 0x555556ed2de0 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x555556ed2de0
info: [pipewire] Stream 0x555556ed2de0 state: "paused" (error: none)

Thread 23 "PipeWire thread" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff74f81640 (LWP 67)]
0x00007fff9e73821e in impl_send_command () from /usr/lib/x86_64-linux-gnu/libpipewire-0.3.so.0
(gdb) backtrace
#0  0x00007fff9e73821e in impl_send_command () at /usr/lib/x86_64-linux-gnu/libpipewire-0.3.so.0
#1  0x00007fff9e71c9bb in pw_impl_node_set_state () at /usr/lib/x86_64-linux-gnu/libpipewire-0.3.so.0
#2  0x00007fff9c12ea3d in client_node_command () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-client-node.so
#3  0x00007fff9c13d474 in client_node_demarshal_command.lto_priv () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-client-node.so
#4  0x00007fff9c176738 in process_remote () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so
#5  0x00007fff9c176dc0 in on_remote_data () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so
#6  0x00007fff9e68f3c0 in loop_iterate () at /usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-support.so
#7  0x00007fff9e73f2bc in do_loop () at /usr/lib/x86_64-linux-gnu/libpipewire-0.3.so.0
#8  0x00007ffff436b1da in start_thread () at /usr/lib/x86_64-linux-gnu/libc.so.6
#9  0x00007ffff43f3d84 in clone () at /usr/lib/x86_64-linux-gnu/libc.so.6
kkartaltepe commented 1 year ago

Thanks for the backtrace, it looks like it could be a bug in pipewire...

@pieqq are you also using KDE as a compositor?

theofficialgman commented 1 year ago

for what its worth, teamviewer (which has support for wayland screen capture) work perfectly. so I'm leaning more toward this being an OBS issue

pieqq commented 1 year ago

No, I'm running GNOME 42, but I believe it's also using Pipewire.

pieqq commented 1 year ago

I grabbed an Ubuntu 22.10 live USB, made sure I logged into a Wayland session, and followed the steps in my original bug report.

I'm happy to report that in that case, it works as expected! I can select either the whole screen or a window, and record a session that is then exported to an .mkv x264 video.

Here is what I get in the logs when running OBS and selecting my whole screen using the Pipewire prompt:

ubuntu@ubuntu:~$ flatpak run com.obsproject.Studio

Note that the directories 

'/var/lib/flatpak/exports/share'
'/home/ubuntu/.local/share/flatpak/exports/share'

are not in the search path set by the XDG_DATA_DIRS environment variable, so
applications installed by Flatpak may not appear on your desktop until the
session is restarted.

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) i5-4570 CPU @ 3.20GHz
info: CPU Speed: 3555.349MHz
info: Physical Cores: 4, Logical Cores: 4
info: Physical Memory: 15939MB Total, 6385MB Free
info: Kernel Version: Linux 5.19.0-21-generic
info: Distribution: "KDE Flatpak runtime" "5.15-21.08"
info: Session Type: wayland
info: Qt Version: 6.4.2 (runtime), 6.4.0 (compiled)
info: Portable mode: false
qt.core.qmetaobject.connectslotsbyname: QMetaObject::connectSlotsByName: No matching signal for on_tbar_position_valueChanged(int)
info: OBS 29.0.0 (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 580 Series (polaris10, LLVM 14.0.6, DRM 3.47, 5.19.0-21-generic)
info: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 22.3.2 (git-a09d5e2747), shading language 4.60
info: ---------------------------------
info: video settings reset:
    base resolution:   3840x2160
    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.19.0
info: [obs-browser]: CEF Version 103.0.5060.134 (runtime), 103.0.0-5060-shared-textures_143.2591+g4204d54+chromium-103.0.5060.134 (compiled)
info: VAAPI: API version 1.15
info: FFmpeg VAAPI H264 encoding supported
info: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.1.0 | RPC Version: 1)
info: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.4.0 | Qt version (run-time): 6.4.2
info: [obs-websocket] [obs_module_load] Linked ASIO Version: 101201
info: [obs-websocket] [obs_module_load] Module loaded.
info: ---------------------------------
info:   Loaded Modules:
info:     text-freetype2.so
info:     rtmp-services.so
info:     obs-x264.so
info:     obs-websocket.so
info:     obs-vst.so
info:     obs-transitions.so
info:     obs-outputs.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: ---------------------------------
QLayout: Attempting to add QLayout "" to OBSBasic "OBSBasic", which already has a layout
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 (on PipeWire 0.3.58) 15.0.0'
info: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_output.pci-0000_00_1b.0.analog-stereo.monitor' (default)
info: [Loaded global audio device]: 'Desktop Audio'
info: pulse-input: Server name: 'PulseAudio (on PipeWire 0.3.58) 15.0.0'
info: pulse-input: Audio format: s16le, 44100 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_input.usb-Logitech_Inc._Logitech_USB_Headset_H340-00.analog-stereo' (default)
info: [Loaded global audio device]: 'Mic/Aux'
info: Switched to scene 'Scene'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info: ------------------------------------------------
info: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Desktop Audio)

info: PipeWire initialized
info: User added source 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) to scene 'Scene'
info: [pipewire] Screencast session created
info: [pipewire] Asking for desktop
info: [pipewire] desktop selected, setting up screencast
error: bmalloc: Allocating 0 bytes is broken behavior, please fix your code! This will crash in future versions of OBS.
error: bmalloc: Allocating 0 bytes is broken behavior, please fix your code! This will crash in future versions of OBS.
error: bmalloc: Allocating 0 bytes is broken behavior, please fix your code! This will crash in future versions of OBS.
error: bmalloc: Allocating 0 bytes is broken behavior, please fix your code! This will crash in future versions of OBS.
info: [pipewire] Server version: 0.3.58
info: [pipewire] Library version: 0.3.59
info: [pipewire] Header version: 0.3.57
info: [pipewire] Created stream 0x560d6c9f6640
info: [pipewire] Stream 0x560d6c9f6640 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x560d6c9f6640
info: [pipewire] Stream 0x560d6c9f6640 state: "paused" (error: none)
info: [pipewire] Negotiated format:
info: [pipewire]     Format: 8 (Spa:Enum:VideoFormat:BGRx)
info: [pipewire]     Modifier: 72057594037927935
info: [pipewire]     Size: 3840x2160
info: [pipewire]     Framerate: 0/1
info: [pipewire] Stream 0x560d6c9f6640 state: "streaming" (error: none)
info: ==== Shutting down ==================================================
info: pulse-input: Stopped recording from 'alsa_output.pci-0000_00_1b.0.analog-stereo.monitor'
info: pulse-input: Got 396 packets with 811008 frames
info: pulse-input: Stopped recording from 'alsa_input.usb-Logitech_Inc._Logitech_USB_Headset_H340-00.analog-stereo'
info: pulse-input: Got 396 packets with 745085 frames
info: [pipewire] Stream 0x560d6c9f6640 state: "paused" (error: none)
info: [pipewire] Stream 0x560d6c9f6640 state: "unconnected" (error: none)
info: All scene data cleared
info: ------------------------------------------------
info: [obs-websocket] [obs_module_unload] Shutting down...
info: [obs-websocket] [obs_module_unload] Finished shutting down.
info: [Scripting] Total detached callbacks: 0
info: Freeing OBS context data
warning: 1 views remain at shutdown
info: == Profiler Results =============================
info: run_program_init: 719.278 ms
info:  ┣OBSApp::AppInit: 5.421 ms
info:  ┃ ┗OBSApp::InitLocale: 0.968 ms
info:  ┗OBSApp::OBSInit: 570.292 ms
info:    ┣obs_startup: 2.745 ms
info:    ┗OBSBasic::OBSInit: 529.997 ms
info:      ┣OBSBasic::InitBasicConfig: 0.088 ms
info:      ┣OBSBasic::ResetAudio: 0.193 ms
info:      ┣OBSBasic::ResetVideo: 84.583 ms
info:      ┣OBSBasic::InitOBSCallbacks: 0.005 ms
info:      ┣OBSBasic::InitHotkeys: 0.034 ms
info:      ┣obs_load_all_modules2: 346.638 ms
info:      ┃ ┣obs_init_module(aja-output-ui.so): 0.096 ms
info:      ┃ ┣obs_init_module(aja.so): 0.092 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.203 ms
info:      ┃ ┣obs_init_module(frontend-tools.so): 84.296 ms
info:      ┃ ┣obs_init_module(image-source.so): 0.009 ms
info:      ┃ ┣obs_init_module(linux-capture.so): 0 ms
info:      ┃ ┣obs_init_module(linux-jack.so): 0.005 ms
info:      ┃ ┣obs_init_module(linux-pipewire.so): 1.595 ms
info:      ┃ ┣obs_init_module(linux-pulseaudio.so): 0.002 ms
info:      ┃ ┣obs_init_module(linux-v4l2.so): 9.806 ms
info:      ┃ ┣obs_init_module(obs-browser.so): 0.122 ms
info:      ┃ ┣obs_init_module(obs-ffmpeg.so): 9.472 ms
info:      ┃ ┃ ┗nvenc_check: 0.439 ms
info:      ┃ ┣obs_init_module(obs-filters.so): 0.04 ms
info:      ┃ ┣obs_init_module(obs-outputs.so): 0.006 ms
info:      ┃ ┣obs_init_module(obs-transitions.so): 0.011 ms
info:      ┃ ┣obs_init_module(obs-vst.so): 0.004 ms
info:      ┃ ┣obs_init_module(obs-websocket.so): 6.69 ms
info:      ┃ ┣obs_init_module(obs-x264.so): 0.002 ms
info:      ┃ ┣obs_init_module(rtmp-services.so): 0.782 ms
info:      ┃ ┗obs_init_module(text-freetype2.so): 0.022 ms
info:      ┣OBSBasic::ResetOutputs: 0.144 ms
info:      ┣OBSBasic::CreateHotkeys: 0.036 ms
info:      ┣OBSBasic::InitService: 1.571 ms
info:      ┣OBSBasic::InitPrimitives: 0.189 ms
info:      ┗OBSBasic::Load: 41.201 ms
info: obs_hotkey_thread(25 ms): min=0 ms, median=0 ms, max=0.011 ms, 99th percentile=0.001 ms, 100% below 25 ms
info: audio_thread(Audio): min=0.011 ms, median=0.029 ms, max=1.38 ms, 99th percentile=0.081 ms
info: obs_graphics_thread(16.6667 ms): min=0.147 ms, median=0.531 ms, max=135.949 ms, 99th percentile=18.499 ms, 98.9226% below 16.667 ms
info:  ┣tick_sources: min=0 ms, median=0.006 ms, max=56.535 ms, 99th percentile=0.015 ms
info:  ┣output_frame: min=0.087 ms, median=0.201 ms, max=16.133 ms, 99th percentile=0.347 ms
info:  ┃ ┗gs_context(video->graphics): min=0.087 ms, median=0.2 ms, max=16.131 ms, 99th percentile=0.346 ms
info:  ┃   ┣render_video: min=0.014 ms, median=0.028 ms, max=0.173 ms, 99th percentile=0.099 ms
info:  ┃   ┃ ┗render_main_texture: min=0.012 ms, median=0.024 ms, max=0.166 ms, 99th percentile=0.095 ms
info:  ┃   ┗gs_flush: min=0.002 ms, median=0.003 ms, max=0.247 ms, 99th percentile=0.224 ms
info:  ┗render_displays: min=0.004 ms, median=0.261 ms, max=135.664 ms, 99th percentile=11.093 ms
info: =================================================
info: == Profiler Time Between Calls ==================
info: obs_hotkey_thread(25 ms): min=25.028 ms, median=25.084 ms, max=26.45 ms, 99.7131% within ±2% of 25 ms (0% lower, 0.286944% higher)
info: obs_graphics_thread(16.6667 ms): min=11.272 ms, median=16.667 ms, max=135.955 ms, 97.8431% within ±2% of 16.667 ms (0.882353% lower, 1.27451% higher)
info: =================================================
info: Number of memory leaks: 0

In 22.10, the pipewire packages are more recent (0.3.58 Vs. 0.3.48 in Ubuntu 22.04), which probably helps:

ubuntu@ubuntu:~$ dpkg -l | grep pipewire
ii  gstreamer1.0-pipewire:amd64                0.3.58-2ubuntu1                          amd64        GStreamer 1.0 plugin for the PipeWire multimedia server
ii  libpipewire-0.3-0:amd64                    0.3.58-2ubuntu1                          amd64        libraries for the PipeWire multimedia server
ii  libpipewire-0.3-common                     0.3.58-2ubuntu1                          all          libraries for the PipeWire multimedia server - common files
ii  libpipewire-0.3-modules:amd64              0.3.58-2ubuntu1                          amd64        libraries for the PipeWire multimedia server - modules
ii  pipewire:amd64                             0.3.58-2ubuntu1                          amd64        audio and video processing engine multimedia server
ii  pipewire-bin                               0.3.58-2ubuntu1                          amd64        PipeWire multimedia server - programs
ii  pipewire-pulse                             0.3.58-2ubuntu1                          amd64        PipeWire PulseAudio daemon

I checked the changelog for Pipewire between v0.3.48 and 0.3.58 but could not find something obvious regarding screen-sharing capabilities...

kkartaltepe commented 1 year ago

Thanks for testing and letting us know. I suspect there was an unintentional abi break between the the two versions, resulting in the messages from the 3.48 server causing the 3.58 client to crash. Or that the screen casting servers are sending garbage but if that happened we should have reports of crashes for the PPA but i have not heard of any yet.

MarvvanPal commented 1 year ago

Same problem here.

Operating System Info

OpenSUSE LEAP 15.4

OBS Studio Version

29.0.0 via Flatpak

Log: Marv@localhost:~/.zoom/logs> flatpak run com.obsproject.Studio 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/locale/de-DE.ini debug: Attempted path: /app/share/obs/obs-studio/locale/de-DE.ini info: Using preferred locale 'de-DE' 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-7500U CPU @ 2.70GHz info: CPU Speed: 3492.071MHz info: Physical Cores: 2, Logical Cores: 4 info: Physical Memory: 15753MB Total, 2805MB Free info: Kernel Version: Linux 5.14.21-150400.24.38-default info: Distribution: "KDE Flatpak runtime" "5.15-21.08" info: Session Type: wayland info: Qt Version: 6.4.2 (runtime), 6.4.0 (compiled) info: Portable mode: false qt.core.qmetaobject.connectslotsbyname: QMetaObject::connectSlotsByName: No matching signal for on_tbar_position_valueChanged(int) info: OBS 29.0.0 (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) HD Graphics 620 (KBL GT2) info: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 22.3.2 (git-a09d5e2747), shading language 4.60 info: --------------------------------- info: video settings reset: base resolution: 1920x1080 output resolution: 1280x720 downscale filter: Bicubic fps: 30/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: Standard 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: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden 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 warning: v4l2loopback not installed, virtual camera disabled info: [obs-browser]: Version 2.19.0 info: [obs-browser]: CEF Version 103.0.5060.134 (runtime), 103.0.0-5060-shared-textures_143.2591+g4204d54+chromium-103.0.5060.134 (compiled) warning: LIBVA_DRIVER_NAME variable is set, this could prevent FFmpeg VAAPI from working correctly info: VAAPI: API version 1.15 info: FFmpeg VAAPI H264 encoding supported info: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.1.0 | RPC Version: 1) info: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.4.0 | Qt version (run-time): 6.4.2 info: [obs-websocket] [obs_module_load] Linked ASIO Version: 101201 info: [obs-websocket] [obs_module_load] Module loaded. info: --------------------------------- info: Loaded Modules: info: text-freetype2.so info: rtmp-services.so info: obs-x264.so info: obs-websocket.so info: obs-vst.so info: obs-transitions.so info: obs-outputs.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: --------------------------------- info: ==== Startup complete =============================================== info: Switched to Preview/Program mode info: ------------------------------------------------ info: All scene data cleared info: ------------------------------------------------ info: pulse-input: Server name: 'pulseaudio 15.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 15.0' info: pulse-input: Audio format: s16le, 48000 Hz, 2 channels info: pulse-input: Started recording from 'alsa_input.pci-0000_00_1f.3.analog-stereo' (default) info: [Loaded global audio device]: 'Mikrofon-/AUX-Audio' info: PipeWire initialized info: Switched to scene 'Szene' info: ------------------------------------------------ info: Loaded scenes: info: - scene 'Szene': info: - source: 'Bildschirmaufnahme (PipeWire)' (pipewire-desktop-capture-source) info: ------------------------------------------------ info: [pipewire] Screencast session created info: [pipewire] Asking for desktop info: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mikrofon-/AUX-Audio)

info: [pipewire] desktop selected, setting up screencast info: [pipewire] Server version: 0.3.49 info: [pipewire] Library version: 0.3.59 info: [pipewire] Header version: 0.3.57 info: [pipewire] Created stream 0x556d5f651640 info: [pipewire] Stream 0x556d5f651640 state: "connecting" (error: none) info: [pipewire] Playing stream 0x556d5f651640 info: [pipewire] Stream 0x556d5f651640 state: "paused" (error: none)

Diffs to Log from Thread-Author @pieqq : [...] info: [pipewire] Server version: 0.3.49 info: [pipewire] Library version: 0.3.59 info: [pipewire] Header version: 0.3.57 [...] warning: v4l2loopback not installed, virtual camera disabled [...]

Installed Pipewire-Packages: Marv@localhost:~/.zoom/logs> sudo zypper search --details pipewire Repository-Daten werden geladen... Installierte Pakete werden gelesen...

S | Name | Type | Version | Arch | Repository --+--------------------------------+------------+-------------------+--------+------------------ i | gstreamer-plugin-pipewire | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository i | libpipewire-0_3-0 | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository | libpipewire-0_3-0-32bit | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository i | pipewire | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository | pipewire | Quellpaket | 0.3.49-150400.1.5 | noarch | Source Repository | pipewire-alsa | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository | pipewire-alsa-32bit | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository | pipewire-devel | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository | pipewire-doc | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository i | pipewire-lang | Paket | 0.3.49-150400.1.5 | noarch | Haupt-Repository | pipewire-libjack-0_3 | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository | pipewire-libjack-0_3-32bit | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository | pipewire-libjack-0_3-devel | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository i | pipewire-modules-0_3 | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository | pipewire-modules-0_3-32bit | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository | pipewire-pulseaudio | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository i | pipewire-spa-plugins-0_2 | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository | pipewire-spa-plugins-0_2-32bit | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository i | pipewire-spa-tools | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository i | pipewire-tools | Paket | 0.3.49-150400.1.5 | x86_64 | Haupt-Repository

By the way/Off-Topic: Zoom is behave in the same way with the similar dialog to select the screen. After clicking on "share" zoom crashes. Using zoom in Firefox works.

kkartaltepe commented 1 year ago

pipewire has confirmed the issue and committed a fix for this in the latest development branch, but now it depends on the flatpak runtimes to include this patch and release updated runtimes. So ill close this out as the fix is available if flatpak runtime maintainers see fit to include it.