flathub / com.obsproject.Studio

This repository is no longer used to build OBS. Issues should be reported at https://github.com/obsproject/obs-studio
https://github.com/obsproject/obs-studio
29 stars 21 forks source link

not working on Debian 11.1 #166

Open ghost opened 2 years ago

ghost commented 2 years ago

Gnome Wayland, version of pipewire is libpipewire 0.3.19

OBS version:

Commit: 3dd3a6bf56989571ce701f42659258418d801a651dcf935b4476bd7c186f6ea3 Parent: 2efc7ab330fb30da87ff640a31ae0a260b30cfa38d879a7f18993225797127b7 Subject: Update v4l-utils-1.22.0.tar.bz2 to 1.22.1 (7099d4cc) Date: 2021-10-23 17:55:33 +0000

Error reported when selecting a monitor

info: [pipewire] desktop selected, setting up screencast info: [pipewire] created stream 0x556c562bdea0 info: [pipewire] playing stream… error: [pipewire] Error id:2 seq:2 res:-71 (Unknown error -71): wrong resource type/version error: [pipewire] Error id:0 seq:3 res:-2 (Unknown error -2): unknown resource 2 op:2 error: [pipewire] Error id:0 seq:4 res:-2 (Unknown error -2): unknown resource 2 op:3

serhii-nakon commented 2 years ago

The same problem ii libpipewire-0.3-0:amd64 0.3.19-4 amd64 libraries for the PipeWire multimedia server ii libpipewire-0.3-modules:amd64 0.3.19-4 amd64 libraries for the PipeWire multimedia server - modules ii pipewire:amd64 0.3.19-4 amd64 audio and video processing engine multimedia server ii pipewire-bin 0.3.19-4 amd64 PipeWire multimedia server - programs

Screenshot from 2021-10-26 12-17-30

ghost commented 2 years ago

The same problem ii libpipewire-0.3-0:amd64 0.3.19-4 amd64 libraries for the PipeWire multimedia server ii libpipewire-0.3-modules:amd64 0.3.19-4 amd64 libraries for the PipeWire multimedia server - modules ii pipewire:amd64 0.3.19-4 amd64 audio and video processing engine multimedia server ii pipewire-bin 0.3.19-4 amd64 PipeWire multimedia server - programs

Screenshot from 2021-10-26 12-17-30

The only way to make it work is downgrade the software to(2021-10-04 version) : sudo flatpak update --commit=dcb66cdec7db7aa9f84e7f33614d26d34ec1aa277fa12c1ca6c98b8e4a4a2c52 com.obsproject.Studio

vchernin commented 2 years ago

This sounds the new PipeWire in the runtime being incompatible with 0.3.19, which was also mentioned here (and similar looking logs): https://github.com/flathub/org.chromium.Chromium/pull/161#issuecomment-936304040

Could OBS try to ensure backwards compatbility as discussed here?

columbarius commented 2 years ago

https://github.com/obsproject/obs-studio/pull/5585 was merged into OBS and will be available in the next release. If anyone wants to test it a followup MR containing these changes creates a flatpak bundle (https://github.com/obsproject/obs-studio/actions/runs/1513737886).

develroo commented 2 years ago

Just wanted to chime in here too. Debian 11 testing Pipewire 0.3.40 On Gnome 41.1 Wayland and video capture of applications/windows no longer is an option. Screenshot from 2021-12-10 12-33-34

vchernin commented 2 years ago

@develroo could you please test OBS CI's Flatpak bundle? Go to https://github.com/obsproject/obs-studio/actions/runs/1513737886, download and unzip the OBS Studio artifact, and then install the Flatpak bundle there.

If that still doesn't work, the next thing to test would be: https://github.com/obsproject/obs-studio/pull/5616

develroo commented 2 years ago

please test OBS CI's Flatpak bundle?

I did that. No joy alas.


flatpak install obs-studio-0c7e999906c225a0132bbcc29d00185a0efcc4eb.flatpak 

com.obsproject.Studio permissions:
    ipc                      network                       pulseaudio        wayland        x11        devices       file access [1]       dbus access [2]
    bus ownership [3]        system dbus access [4]

    [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
    [2] com.canonical.AppMenu.Registrar, org.freedesktop.Flatpak, org.freedesktop.Notifications, org.kde.StatusNotifierWatcher
    [3] org.kde.StatusNotifierItem-2-2
    [4] org.freedesktop.Avahi

        ID                              Branch           Op          Remote                 Download
 1. [✓] com.obsproject.Studio           master           i           studio-origin          0 bytes

Installation complete.

Screenshot from 2021-12-11 01-46-57

If that still doesn't work, the next thing to test would be: obsproject/obs-studio#5616

They seem to be asking for people with older versions of pipewire. As I described I am on Debian Testing with a relatively recent version of pipewire and still facing the same issues of no capture windows being present. The verbose output shows that pipewire-window-capture-source cannot be found but previously it could, otherwise I would not have been able to define it in the first place.

flatpak run com.obsproject.Studio --verbose 
QSocketNotifier: Can only be used with threads started with QThread
Attempted path: share/obs/obs-studio/locale/en-US.ini
Attempted path: /app/share/obs/obs-studio/locale/en-US.ini
Attempted path: share/obs/obs-studio/locale.ini
Attempted path: /app/share/obs/obs-studio/locale.ini
Attempted path: share/obs/obs-studio/locale/en-GB.ini
Attempted path: /app/share/obs/obs-studio/locale/en-GB.ini
info: Using preferred locale 'en-GB'
Attempted path: share/obs/obs-studio/themes/Dark.qss
Attempted path: /app/share/obs/obs-studio/themes/Dark.qss
info: Command Line Arguments: --verbose
info: Platform: Wayland
info: CPU Name: AMD Ryzen 7 4800H with Radeon Graphics
info: CPU Speed: 2900.000MHz
info: Physical Cores: 8, Logical Cores: 16
info: Physical Memory: 63796MB Total, 2475MB Free
info: Kernel Version: Linux 5.15.0-2-amd64
info: Distribution: "KDE Flatpak runtime" "5.15-21.08"
info: Session Type: wayland
info: Qt Version: 5.15.3 (runtime), 5.15.3 (compiled)
info: Portable mode: false
Attempted path: share/obs/obs-studio/themes/Dark/no_sources.svg
Attempted path: /app/share/obs/obs-studio/themes/Dark/no_sources.svg
QMetaObject::connectSlotsByName: No matching signal for on_tbar_position_valueChanged(int)
QMetaObject::connectSlotsByName: No matching signal for on_actionShowTransitionProperties_triggered()
QMetaObject::connectSlotsByName: No matching signal for on_actionHideTransitionProperties_triggered()
info: OBS 0c7e999-modified (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
    samples per sec: 48000
    speakers:        2
info: ---------------------------------
info: Initializing OpenGL...
info: Using EGL/Wayland
info: Initialized EGL 1.5
info: Loading up OpenGL on adapter AMD AMD RENOIR (DRM 3.42.0, 5.15.0-2-amd64, LLVM 12.0.1)
info: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 21.2.5 (git-d152999345), 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:          709/Partial
info: NV12 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-ouput-ui.so'
warning: Failed to load 'en-GB' text for module: 'linux-capture.so'
info: [pipewire] No captures available
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
info: No blackmagic support
warning: Failed to load 'en-GB' text for module: 'linux-jack.so'
warning: Failed to load 'en-GB' text for module: 'linux-pulseaudio.so'
warning: v4l2loopback not installed, virtual camera disabled
warning: Failed to load 'en-GB' text for module: 'obs-browser.so'
info: [obs-browser]: Version 2.17.0
info: [obs-browser]: CEF Version 87.1.12+g03f9336+chromium-87.0.4280.88
error: os_dlopen(libnvidia-encode.so.1->libnvidia-encode.so.1): libnvidia-encode.so.1: cannot open shared object file: No such file or directory

info: FFMPEG VAAPI supported
warning: Failed to load 'en-GB' text for module: 'obs-libfdk.so'
warning: Failed to load 'en-GB' text for module: 'obs-vst.so'
warning: Failed to load 'en-GB' text for module: 'obs-x264.so'
warning: Failed to load 'en-GB' text for module: 'rtmp-services.so'
warning: Failed to load 'en-GB' text for module: 'downstream-keyer.so'
info: [Downstream Keyer] loaded version 0.2.0
warning: Failed to load 'en-GB' text for module: 'droidcam-obs.so'
warning: Failed to load 'en-GB' text for module: 'gradient-source.so'
info: [Gradient Source] loaded version 0.2.0
warning: Failed to load 'en-GB' text for module: 'virtual-cam-filter.so'
info: ---------------------------------
info:   Loaded Modules:
info:     virtual-cam-filter.so
info:     gradient-source.so
info:     droidcam-obs.so
info:     downstream-keyer.so
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:     obs-browser.so
info:     linux-v4l2.so
info:     linux-pulseaudio.so
info:     linux-jack.so
info:     linux-decklink.so
info:     linux-capture.so
info:     image-source.so
info:     frontend-tools.so
info:     decklink-ouput-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.40) 15.0.0'
info: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_output.pci-0000_04_00.6.analog-stereo.monitor'
info: [Loaded global audio device]: 'Desktop Audio'
info: pulse-input: Server name: 'PulseAudio (on PipeWire 0.3.40) 15.0.0'
info: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_input.pci-0000_04_00.6.analog-stereo'
info: [Loaded global audio device]: 'Mic/Aux'
[swscaler @ 0x55f80c301600] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55f80c4a1840] deprecated pixel format used, make sure you did set range correctly
error: Source ID 'pipewire-window-capture-source' not found
error: Failed to create source 'map'!
error: Source ID 'pipewire-window-capture-source' not found
error: Failed to create source 'charactersheet'!
error: Source ID 'pipewire-window-capture-source' not found
error: Failed to create source 'luskbio'!
info: pulse-input: Server name: 'PulseAudio (on PipeWire 0.3.40) 15.0.0'
info: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_input.pci-0000_04_00.6.analog-stereo'
[mjpeg @ 0x55f80c277380] EOI missing, emulating
[swscaler @ 0x55f80c304480] deprecated pixel format used, make sure you did set range correctly
info: Switched to scene 'TealDice'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Brandon':
info:     - source: 'background' (image_source)
info:     - source: 'charactersheet' (pipewire-window-capture-source)
info:     - source: 'Portrait' (image_source)
info:         - show: 'Portrait Show Transition' (fade_transition)
info:     - source: 'Character' (group)
info:     - source: 'lusk' (image_source)
info:     - source: 'luskbio' (pipewire-window-capture-source)
info:     - source: 'Audio' (pulse_input_capture)
info: - scene 'TealDice':
info:     - source: 'Gradient' (gradient_source)
info:     - source: 'avatar' (image_source)
info: - scene 'PlayerMap':
info:     - source: 'map' (pipewire-window-capture-source)
info:     - source: 'daemon' (image_source)
info: - scene 'Vision':
info:     - source: 'dream-banner-cold-iron' (image_source)
info:     - source: 'coldironbanner' (image_source)
info: ------------------------------------------------
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Attempted path: share/obs/obs-studio/images/overflow.png
Attempted path: /app/share/obs/obs-studio/images/overflow.png
info: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mic/Aux)

I don't mind testing builds or giving debugging data back. Just not sure were to begin with this as there are no obvious errors being shown.

vchernin commented 2 years ago

Ah, I mistakenly though you were using an older version of PipeWire, my bad sorry. Indeed 0.3.40 is recent and those PRs shouldn't really apply much.

Is this a recent regression? Did it work with 0.3.39? Are xdg-desktop-portal-gnome and xdg-desktop-portal installed?

I see:

info: [pipewire] No captures available
[...]
error: Source ID 'pipewire-window-capture-source' not found

but that doesn't help much...

vchernin commented 2 years ago

Another question, are you on Debian 11 or Debian Testing? You mentioned both, I believe 11 ships with 0.3.19?

develroo commented 2 years ago

Debian Testing. I am an IT consultant and run Debian professionally, but this is my personal laptop, and so I am happy to run testing and give feedback

So to reiterate.

5.15.0-2-amd64 #1 SMP Debian 5.15.5-1 (2021-11-26) x86_64 GNU/Linux Pipewire 0.3.40-2 Wayland 1.19.0-2+b1 Gnome 41.1-1 Flatpak 1.12.2

Anything else I can do to help diagnose the issue?

columbarius commented 2 years ago

@develroo Do you have xdg-desktop-portal{,-gnome,-gtk} installed? The log has an error that the portal interface doesn't announce screencast capabilities.

develroo commented 2 years ago

Ahha! Your hunch was correct. xdg-desktop-portal-gnome was not installed by default?! How odd. I installed it manually, and now the options to capture windows via v4l2 or pipewire appear.

I suspect this is an issue with the Debian packaging issue because even pulling in the distro version does not have that dependency.


dpkg-query -s obs-studio
Package: obs-studio
Status: install ok installed
Priority: optional
Section: video
Installed-Size: 15353
Maintainer: Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>
Architecture: amd64
Version: 27.1.3+dfsg1-2
Depends: libavcodec58 (>= 7:4.4), libavdevice58 (>= 7:4.4), libavformat58 (>= 7:4.4), libavutil56 (>= 7:4.4), libc6 (>= 2.32), libcurl3-gnutls (>= 7.16.2), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.2.1), libgcc-s1 (>= 3.0), libglib2.0-0 (>= 2.30.0), libjansson4 (>= 2.5), libluajit-5.1-2 (>= 2.0.4+dfsg), libmbedcrypto3 (>= 2.13), libmbedtls12 (>= 2.13), libmbedx509-0 (>= 2.0), libobs0 (= 27.1.3+dfsg1-2), libpipewire-0.3-0 (>= 0.3.6), libpulse0 (>= 0.99.1), libpython3.9 (>= 3.9.1), libqt5core5a (>= 5.15.1), libqt5gui5 (>= 5.9.0~beta) | libqt5gui5-gles (>= 5.9.0~beta), libqt5network5 (>= 5.0.2), libqt5svg5 (>= 5.6.0~beta), libqt5widgets5 (>= 5.15.1), libqt5xml5 (>= 5.0.2), libspeexdsp1 (>= 1.2~beta3.2-1), libstdc++6 (>= 11), libswscale5 (>= 7:4.4), libudev1 (>= 183), libv4l-0 (>= 0.5.0), libx11-6, libx264-160 (>= 2:0.160.3011+gitcde9a93), libxcb-randr0 (>= 1.12), libxcb-shm0, libxcb-xfixes0, libxcb-xinerama0, libxcb1, libxcomposite1 (>= 1:0.4.5), libxfixes3, python3:any, python3 (<< 3.10), python3 (>= 3.9~), python3.9
Recommends: obs-plugins (= 27.1.3+dfsg1-2)
Suggests: v4l2loopback-dkms, policykit-1

I wonder how we can address this issue with the flatpak build? Is there a way to include it independent of the desktop environment?

Anyway, thanks. Seems to be working now so that is a relief and incidentally it fixed Kooah issue as well. So I will drop that pearl of wisdom in there too.

Thanks.