snapcrafters / obs-studio

This is a community-supported modified build of OBS Studio.
https://snapcraft.io/obs-studio
111 stars 37 forks source link

can't start obs-studio on debian 11 with gnome3.38. with wayland #154

Closed naveen-marthala closed 2 years ago

naveen-marthala commented 2 years ago

What happened?

when I did $ sudo snap run obs-studio, I got this error:

WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement
mkdir: cannot create directory '/run/user/0': Permission denied
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.a11y.applications.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.a11y.keyboard.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.a11y.magnifier.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.a11y.mouse.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.app-folders.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.calendar.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.datetime.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.default-applications.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.enums.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.input-sources.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.lockdown.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.peripherals.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.screensaver.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.session.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.thumbnail-cache.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.wm.keybindings.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.system.locale.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.system.location.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gnome.system.proxy.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gtk.Settings.ColorChooser.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gtk.Settings.EmojiChooser.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml': File exists
ln: failed to create symbolic link '/root/snap/obs-studio/1284/.local/share/glib-2.0/schemas/10_gsettings-desktop-schemas.gschema.override': File exists
No protocol specified
qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" 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, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

Aborted

What should have happened?

When I do $ sudo snap run obs-studio, I expect obs-studio to be opened and function as expected.

I have also connected interfaces, as snap mentioned in docs.

The version on debian repositories is 26 and that version doesn't support wayland. So, I have installed obs-studio v27 from snap.

Output of snap info $snap_name

$ sudo snap info obs-studio
name:      obs-studio
summary:   Free and open source software for live streaming and screen recording
publisher: Snapcrafters
store-url: https://snapcraft.io/obs-studio
contact:   https://github.com/snapcrafters/obs-studio/issues
license:   GPL-2.0
description: |
  OBS Studio is software designed for capturing, compositing, encoding, recording, and streaming
  video content, efficiently. _This is a community-supported modified build of OBS Studio; please
  file issues on the Snapcrafters GitHub:_ https://github.com/snapcrafters/obs-studio/issues

  **Batteries included**

  The snap of OBS studio comes pre-loaded with some extra features:

    * Supports **nvenc (NVIDIA) and VA-API (AMD & Intel) accelerated video encoding**.
    * **Advanced Scene Switcher** plugin; an automated scene switcher
    * **Browser** plugin; CEF-based OBS Studio browser plugin
    * **Directory Watch Media** plugin; filter you can add to a media source to load the oldest or
    newest file in a directory.
    * **Dynamic Delay** plugin; filter for dynamic delaying a video source.
    * **Freeze Filter** plugin; freeze a source using a filter.
    * **gPhoto** plugin; connect DSLR cameras with obs-studio via gPhoto.
    * **GStreamer** plugins; feed GStreamer launch pipelines into OBS Studio and use GStreamer
    encoder elements.
    * **Move Transition** plugin; move sources to a new position during a scene transition.
    * **NDI** plugin; Network A/V via NewTek's NDI.
    * **NvFBC** plugin; screen capture via NVIDIA FBC API. Requires NvFBC patches for Nvidia drivers
    for consumer-grade GPUs.
    * **RGB Levels** plugin; simple filter to adjust RGB levels.
    * **Source Switcher** plugin; to switch between a list of sources.
    * **Spectralizer** plugin; audio visualization using fftw.
    * **StreamFX** plugin; collection modern effects filters and transitions.
    * **Text Pango** plugin; Provides a text source rendered using Pango with multi-language
    support, emoji support, vertical rendering and RTL support.
    * **Transition Matrix** plugin; customize Any -> One or One -> One scene transitions.
    * **VNC Source** plugin; VNC viewer that works as a source.
    * **Websockets** plugin; remote-control OBS Studio through WebSockets.

  **Connecting Interfaces**

  For the best experience, you'll want to connect the following interfaces.

     sudo snap connect obs-studio:alsa
     sudo snap connect obs-studio:audio-record
     sudo snap connect obs-studio:avahi-control
     sudo snap connect obs-studio:camera
     sudo snap connect obs-studio:jack1
     sudo snap connect obs-studio:kernel-module-observe

  **NDI**

  If you want to use the NDI plugin you'll need to connect the Avahi Control interface.

     snap connect obs-studio:avahi-control

  **Virtual Camera**

  Starting with OBS 26.1.0, Virtual Camera support is integrated. Here's how to install and
  configure `v4l2loopback`:

     sudo snap connect obs-studio:kernel-module-observe
     sudo apt -y install v4l2loopback-dkms v4l2loopback-utils
     echo "options v4l2loopback devices=1 video_nr=13 card_label='OBS Virtual Camera'   
     exclusive_caps=1" | sudo tee /etc/modprobe.d/v4l2loopback.conf
     echo "v4l2loopback" | sudo tee /etc/modules-load.d/v4l2loopback.conf
     sudo modprobe -r v4l2loopback
     sudo modprobe v4l2loopback devices=1 video_nr=13 card_label='OBS Virtual Camera'
     exclusive_caps=1

  **NOTE!** Using `video_nr` greater than 64 will not work.

  **Removable Storage**

  To access content on external storage, connect to the removable-media plug:

     snap connect obs-studio:removable-media

  **gPhoto**

  The gPhoto plugin allows some DSLR cameras to be connected via USB. You'll need to connect the Raw
  USB interface.

     snap connect obs-studio:raw-usb

  **3rd Party plugins**

  To install pre-compiled plugins, download and extract the plugin to
  `~/snap/obs-studio/current/.config/obs-studio/plugins/`.

  This is how the Input Overlay plugin looks when correctly installed:

     /home/username/snap/obs-studio/current/.config/obs-studio/plugins/
     └── input-overlay
         ├── bin
         │   └── 64bit
         │       └── input-overlay.so
         └── data
             └── locale
                 ├── de-DE.ini
                 ├── en-US.ini
                 └── ru-RU.ini

  If you want to use the Input Overlay plugin, you'll also need to connect the joystick interface:

     snap connect obs-studio:joystick
commands:
  - obs-studio.eglinfo
  - obs-studio.ffmpeg
  - obs-studio.ffplay
  - obs-studio.ffprobe
  - obs-studio.glxinfo
  - obs-studio
  - obs-studio.srt-ffplay
  - obs-studio.srt-file-transmit
  - obs-studio.srt-live-transmit
  - obs-studio.srt-tunnel
  - obs-studio.vainfo
  - obs-studio.vdpauinfo
  - obs-studio.vulkaninfo
snap-id:      6uLU2MJmBURfLNz4rmL4WT2CmtVULE2u
tracking:     latest/stable
refresh-date: today at 00:06 IST
channels:
  latest/stable:    27.1.3 2021-12-20 (1284) 418MB -
  latest/candidate: ^                              
  latest/beta:      ^                              
  latest/edge:      27.1.3 2021-12-26 (1286) 418MB -
installed:          27.1.3            (1284) 418MB -

### Output of `snap connections $snap_name`

```shell
$ sudo snap connections obs-studio
Interface                 Plug                                 Slot                            Notes
alsa                      obs-studio:alsa                      :alsa                           manual
audio-playback            obs-studio:audio-playback            :audio-playback                 -
audio-record              obs-studio:audio-record              :audio-record                   -
avahi-control             obs-studio:avahi-control             :avahi-control                  manual
browser-support           obs-studio:browser-support           :browser-support                -
camera                    obs-studio:camera                    :camera                         -
content[gtk-3-themes]     obs-studio:gtk-3-themes              gtk-common-themes:gtk-3-themes  -
content[icon-themes]      obs-studio:icon-themes               gtk-common-themes:icon-themes   -
content[sound-themes]     obs-studio:sound-themes              gtk-common-themes:sound-themes  -
desktop                   obs-studio:desktop                   :desktop                        -
desktop-legacy            obs-studio:desktop-legacy            :desktop-legacy                 -
gsettings                 obs-studio:gsettings                 :gsettings                      -
hardware-observe          obs-studio:hardware-observe          -                               -
home                      obs-studio:home                      :home                           -
jack1                     obs-studio:jack1                     :jack1                          manual
joystick                  obs-studio:joystick                  -                               -
kernel-module-observe     obs-studio:kernel-module-observe     :kernel-module-observe          manual
network                   obs-studio:network                   :network                        -
network-bind              obs-studio:network-bind              :network-bind                   -
opengl                    obs-studio:opengl                    :opengl                         -
password-manager-service  obs-studio:password-manager-service  -                               -
process-control           obs-studio:process-control           -                               -
pulseaudio                obs-studio:pulseaudio                :pulseaudio                     -
raw-usb                   obs-studio:raw-usb                   -                               -
removable-media           obs-studio:removable-media           -                               -
screen-inhibit-control    obs-studio:screen-inhibit-control    :screen-inhibit-control         -
screencast-legacy         obs-studio:screencast-legacy         -                               -
system-observe            obs-studio:system-observe            -                               -
unity7                    obs-studio:unity7                    :unity7                         -
upower-observe            obs-studio:upower-observe            :upower-observe                 -
wayland                   obs-studio:wayland                   :wayland                        -
x11                       obs-studio:x11                       :x11                            -

### Output of `snap version`

```shell
$ sudo snap version
snap    2.52.1
snapd   2.52.1
series  16
debian  11
kernel  5.10.0-10-amd64

### Relevant log output

```shell
please check "what happened" section above.

Teminal output of app

please check "what happened" section above.
lucyllewy commented 2 years ago

What happens if you don't use sudo? You should not run gui applications with sudo because it leads to issues with socket ownership conflicts.

naveen-marthala commented 2 years ago

I just tried without sudo. it works as expected for recording. but, all the warnings persist. and after i quit, i received warning about 12 memory leaks.