Call for testing: OBS-Studio snap

The indicator has no function, no matter how I click it, nothing happens.
OS: Ubuntu 18.04

It won’t run for me.

Ubuntu 18.10
NVIDIA GTX 960 | 396.54.09 from graphics-drivers/dev ppa

cxf@PC:~$ snap run obs-studio
+ case "$SNAP_ARCH" in
+ ARCH=x86_64-linux-gnu
+ OBS=64bit
+ cd /snap/obs-studio/213/usr/bin/64bit
+ exec ./obs
Gtk-Message: Failed to load module "gail"
Gtk-Message: Failed to load module "atk-bridge"
Gtk-Message: Failed to load module "unity-gtk-module"
Qt: Session management error: None of the authentication protocols specified are supported
Attempted path: ../../data/obs-studio/locale/en-US.ini
Attempted path: ../../data/obs-studio/locale.ini
Attempted path: ../../data/obs-studio/themes/Dark.qss
Attempted path: ../../data/obs-studio/license/gplv2.txt
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Could not initialize OpenGL for RasterGLSurface, reverting to RasterSurface.
info: CPU Name: Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz
info: CPU Speed: 3314.120MHz
info: Physical Cores: 4, Logical Cores: 4
info: Physical Memory: 7872MB Total, 1577MB Free
info: Kernel Version: Linux 4.18.0-11-generic
info: Distribution: "Ubuntu Core" "16"
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.20.1
info: Portable mode: false
QMetaObject::connectSlotsByName: No matching signal for on_advAudioProps_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_advAudioProps_destroyed()
QMetaObject::connectSlotsByName: No matching signal for on_program_customContextMenuRequested(QPoint)
info: OBS 22.0.3-modified (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
	samples per sec: 44100
	speakers:        2
info: ---------------------------------
info: Initializing OpenGL...
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
error: Failed to create OpenGL frame buffer config
error: Failed to create context!
error: device_create (GL) failed
error: Failed to initialize video.  Your GPU may not be supported, or your graphics drivers may need to be updated.
Could not initialize OpenGL for RasterGLSurface, reverting to RasterSurface.
info: Freeing OBS context data
info: == Profiler Results =============================
info: run_program_init: 22791.7 ms
info:  ┣OBSApp::AppInit: 13.942 ms
info:  ┃ ┗OBSApp::InitLocale: 2.862 ms
info:  ┗OBSApp::OBSInit: 2902.96 ms
info:    ┣obs_startup: 21.874 ms
info:    ┗OBSBasic::OBSInit: 33.476 ms
info:      ┣OBSBasic::InitBasicConfig: 0.353 ms
info:      ┣OBSBasic::ResetAudio: 0.174 ms
info:      ┗OBSBasic::ResetVideo: 29.54 ms
info: obs_hotkey_thread(25 ms): min=0.051 ms, median=0.61 ms, max=5.958 ms, 99th percentile=2.427 ms, 100% below 25 ms
info: audio_thread(Audio): min=0.001 ms, median=0.036 ms, max=0.18 ms, 99th percentile=0.056 ms
info: =================================================
info: == Profiler Time Between Calls ==================
info: obs_hotkey_thread(25 ms): min=25.129 ms, median=25.719 ms, max=31.043 ms, 15.2778% within ±2% of 25 ms (0% lower, 84.7222% higher)
info: =================================================
info: Number of memory leaks: 174

Hello

Issue: OBS does not detect my blackmagic card.

System configuration
Ubuntu 18.04
RX 570 open source drivers
uname -a Linux deepcool 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

No issue with blackmagic software install

When I used obs 21 in the ubuntu repo windows capture would display colours incorrectly. But the blackmagic card would have an option in the obs sources. I forget what it was called So I decided to use obs in the snap repo and that problem was resolved only to be replaced with this one.

How do I have my cake and eat it too?

Run the following command and report the output:

env SNAP_CONFINE_DEBUG=1 snap run obs-studio

The snap packaging probably didn’t migrate the configuration to the new snap revision during a snap upgrade/refresh, you should be able to acquire the old configuration at ~/snap/obs-studio/old_revision

It works now and it has NVENC support! Thank you guys!

1 Like

I can’t use my video capture card due to an apparmor profile issue.

I’ve made sure that the necessary interfaces where all there:
snap connections obs-studio
Interface Plug Slot Notes
alsa obs-studio:alsa :alsa manual
camera obs-studio:camera :camera -
desktop obs-studio:desktop :desktop -
desktop-legacy obs-studio:desktop-legacy :desktop-legacy -
hardware-observe obs-studio:hardware-observe :hardware-observe manual
home obs-studio:home :home -
network obs-studio:network :network -
network-bind obs-studio:network-bind :network-bind -
opengl obs-studio:opengl :opengl -
optical-drive obs-studio:optical-drive :optical-drive -
pulseaudio obs-studio:pulseaudio :pulseaudio -
removable-media obs-studio:removable-media :removable-media manual
unity7 obs-studio:unity7 :unity7 -
wayland obs-studio:wayland :wayland -
x11 obs-studio:x11 :x11 -

However when run try to connect add my capture device as a video capture device, the input is an all black screen, and I get this on dmesg:
audit: type=1400 audit(1555187313.230:2295): apparmor=“DENIED” operation=“open” profile=“snap.obs-studio.obs-studio” name="/sys/devices/virtual/dmi/id/board_vendor" pid=16491 comm=“obs” requested_mask=“r” denied_mask=“r” fsuid=1000 ouid=0

Running the snap with --classic is a workaround, but I think it defeats part of the purpose of using snaps.

1 Like

Seems like that would be allowed by hardware-observe from this line: https://github.com/snapcore/snapd/blob/master/interfaces/builtin/hardware_observe.go#L49

1 Like

What is your video capture card’s model anyway?

It’s the one that Slimbook sells, it works perfectly under Ubuntu. I’ve used already on previous occasions.

As you can see on my previous post, that is an interface that was present and connected.
OBS does detect the device, It just can’t read from it.

Driver update broke OBS.

cxf@PC:~$ nvidia-smi
Wed Apr 24 23:47:31 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.09       Driver Version: 430.09       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 960     Off  | 00000000:01:00.0  On |                  N/A |
| 49%   51C    P0    30W / 208W |    601MiB /  4042MiB |      3%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1427      G   /usr/lib/xorg/Xorg                            15MiB |
|    0      1471      G   /usr/bin/gnome-shell                         126MiB |
|    0      1731      G   /usr/lib/xorg/Xorg                           153MiB |
|    0      1899      G   /usr/bin/gnome-shell                         148MiB |
|    0      2816      G   ...equest-channel-token=581587810092532715    58MiB |
|    0     19005      G   /usr/lib/firefox/firefox                      93MiB |
+-----------------------------------------------------------------------------+

cxf@PC:~$ snap run obs
error: cannot find current revision for snap obs: readlink /snap/obs/current: no such file or directory
cxf@PC:~$ snap run obs-studio
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error:  GLXBadContext
  Request Major code 151 (GLX)
  Request Minor code 6 ()
  Error Serial #54
  Current Serial #53
/snap/obs-studio/391/usr/sbin:/snap/obs-studio/391/usr/bin:/snap/obs-studio/391/sbin:/snap/obs-studio/391/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Qt: Session management error: None of the authentication protocols specified are supported
Attempted path: ../../data/obs-studio/locale/en-US.ini
Attempted path: ../../data/obs-studio/locale.ini
Attempted path: ../../data/obs-studio/themes/Dark.qss
info: CPU Name: Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz
info: CPU Speed: 2793.508MHz
info: Physical Cores: 4, Logical Cores: 4
info: Physical Memory: 7869MB Total, 330MB Free
info: Kernel Version: Linux 5.0.0-13-generic
info: Distribution: "Ubuntu Core" "18"
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.20.4
info: Portable mode: false
QMetaObject::connectSlotsByName: No matching signal for on_advAudioProps_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_advAudioProps_destroyed()
QMetaObject::connectSlotsByName: No matching signal for on_program_customContextMenuRequested(QPoint)
info: OBS 23.1.0 (linux)
info: ---------------------------------
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
info: ---------------------------------
info: audio settings reset:
	samples per sec: 44100
	speakers:        2
info: ---------------------------------
info: Initializing OpenGL...
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
error: X Error: BadMatch, Major opcode: 151, Minor opcode: 34, Serial: 34
error: Failed to create OpenGL context.
error: Failed to create context!
error: device_create (GL) failed
error: Failed to initialize video.  Your GPU may not be supported, or your graphics drivers may need to be updated.
info: Freeing OBS context data
info: == Profiler Results =============================
info: run_program_init: 2965.99 ms
info:  ┣OBSApp::AppInit: 1.917 ms
info:  ┃ ┗OBSApp::InitLocale: 0.796 ms
info:  ┗OBSApp::OBSInit: 168.041 ms
info:    ┣obs_startup: 0.985 ms
info:    ┗OBSBasic::OBSInit: 18.702 ms
info:      ┣OBSBasic::InitBasicConfig: 0.148 ms
info:      ┣OBSBasic::ResetAudio: 0.139 ms
info:      ┗OBSBasic::ResetVideo: 18.358 ms
info: obs_hotkey_thread(25 ms): min=0.057 ms, median=0.13 ms, max=24.239 ms, 99th percentile=4.289 ms, 100% below 25 ms
info: audio_thread(Audio): min=0.014 ms, median=0.015 ms, max=0.02 ms, 99th percentile=0.019 ms
info: =================================================
info: == Profiler Time Between Calls ==================
info: obs_hotkey_thread(25 ms): min=25.126 ms, median=25.204 ms, max=49.312 ms, 91% within ±2% of 25 ms (0% lower, 9% higher)
info: =================================================
info: Number of memory leaks: 244

I’ve just triggered a rebuild which should land in the edge channel a little later. If you snap refresh obs-studio --edge can you give that a shake and see if it’s still got a problem?

I’ve discussed about this topic on the IRC and it appears to be a problem within the NVIDIA support glue.

No dice.

cxf@PC:~$ snap run obs-studio
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error:  GLXBadContext
  Request Major code 151 (GLX)
  Request Minor code 6 ()
  Error Serial #54
  Current Serial #53
/snap/obs-studio/441/usr/sbin:/snap/obs-studio/441/usr/bin:/snap/obs-studio/441/sbin:/snap/obs-studio/441/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Qt: Session management error: None of the authentication protocols specified are supported
Attempted path: ../../data/obs-studio/locale/en-US.ini
Attempted path: ../../data/obs-studio/locale.ini
Attempted path: ../../data/obs-studio/themes/Dark.qss
info: CPU Name: Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz
info: CPU Speed: 2953.585MHz
info: Physical Cores: 4, Logical Cores: 4
info: Physical Memory: 7869MB Total, 3636MB Free
info: Kernel Version: Linux 5.0.0-13-generic
info: Distribution: "Ubuntu Core" "18"
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.20.4
info: Portable mode: false
Attempted path: ../../data/obs-studio/themes/Dark/no_sources.svg
QMetaObject::connectSlotsByName: No matching signal for on_advAudioProps_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_advAudioProps_destroyed()
QMetaObject::connectSlotsByName: No matching signal for on_program_customContextMenuRequested(QPoint)
info: OBS 23.1.0-161-gf21a48ff (linux)
info: ---------------------------------
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
info: ---------------------------------
info: audio settings reset:
	samples per sec: 44100
	speakers:        2
info: ---------------------------------
info: Initializing OpenGL...
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
error: X Error: BadMatch, Major opcode: 151, Minor opcode: 34, Serial: 34
error: Failed to create OpenGL context.
error: Failed to create context!
error: device_create (GL) failed
error: Failed to initialize video.  Your GPU may not be supported, or your graphics drivers may need to be updated.
info: Freeing OBS context data
info: == Profiler Results =============================
info: run_program_init: 1945.73 ms
info:  ┣OBSApp::AppInit: 1.753 ms
info:  ┃ ┗OBSApp::InitLocale: 0.822 ms
info:  ┗OBSApp::OBSInit: 133.941 ms
info:    ┣obs_startup: 1.11 ms
info:    ┗OBSBasic::OBSInit: 15.521 ms
info:      ┣OBSBasic::InitBasicConfig: 0.144 ms
info:      ┣OBSBasic::ResetAudio: 0.105 ms
info:      ┗OBSBasic::ResetVideo: 15.229 ms
info: obs_hotkey_thread(25 ms): min=0.065 ms, median=0.391 ms, max=0.74 ms, 99th percentile=0.74 ms, 100% below 25 ms
info: audio_thread(Audio): min=0.01 ms, median=0.026 ms, max=0.047 ms, 99th percentile=0.047 ms
info: =================================================
info: == Profiler Time Between Calls ==================
info: obs_hotkey_thread(25 ms): min=25.141 ms, median=25.439 ms, max=25.863 ms, 52.381% within ±2% of 25 ms (0% lower, 47.619% higher)
info: =================================================
info: Number of memory leaks: 244

Hey there!
My OBS snap won’t start.
I have 2 versions of OBS installed, first one from ppa:obsproject/obs-studio, second one is this snap. They both have version 24.0.3. The first one works, the second doesn’t.

$ obs-studio
libGL error: pci id for fd 4: 1002:731f, driver (null)
libGL error: No driver found
libGL error: failed to load driver: (null)
libGL error: pci id for fd 4: 1002:731f, driver (null)
pci id for fd 5: 1002:731f, driver (null)
libGL error: failed to create dri screen
libGL error: failed to load driver: radeonsi
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error:  GLXBadContext
  Request Major code 152 (GLX)
  Request Minor code 6 ()
  Error Serial #60
  Current Serial #59
/snap/obs-studio/791/usr/sbin:/snap/obs-studio/791/usr/bin:/snap/obs-studio/791/sbin:/snap/obs-studio/791/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Qt: Session management error: None of the authentication protocols specified are supported
Attempted path: ../../data/obs-studio/locale/en-US.ini
Attempted path: ../../data/obs-studio/locale.ini
Attempted path: ../../data/obs-studio/themes/Dark.qss
info: CPU Name: AMD Ryzen 9 3900X 12-Core Processor
info: CPU Speed: 2570.048MHz
info: Physical Cores: 12, Logical Cores: 24
info: Physical Memory: 32087MB Total, 4961MB Free
info: Kernel Version: Linux 5.3.10-050310-generic
info: Distribution: "Ubuntu Core" "18"
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.20.4
info: Portable mode: false
Attempted path: ../../data/obs-studio/themes/Dark/no_sources.svg
QMetaObject::connectSlotsByName: No matching signal for on_advAudioProps_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_advAudioProps_destroyed()
QMetaObject::connectSlotsByName: No matching signal for on_program_customContextMenuRequested(QPoint)
info: OBS 24.0.3-modified (linux)
info: ---------------------------------
libGL error: pci id for fd 13: 1002:731f, driver (null)
libGL error: No driver found
libGL error: failed to load driver: (null)
libGL error: pci id for fd 13: 1002:731f, driver (null)
pci id for fd 14: 1002:731f, driver (null)
libGL error: failed to create dri screen
libGL error: failed to load driver: radeonsi
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
info: ---------------------------------
info: audio settings reset:
	samples per sec: 44100
	speakers:        2
info: ---------------------------------
info: Initializing OpenGL...
libGL error: pci id for fd 14: 1002:731f, driver (null)
libGL error: No driver found
libGL error: failed to load driver: (null)
libGL error: pci id for fd 14: 1002:731f, driver (null)
pci id for fd 15: 1002:731f, driver (null)
libGL error: failed to create dri screen
libGL error: failed to load driver: radeonsi
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
error: X Error: GLXBadFBConfig, Major opcode: 152, Minor opcode: 34, Serial: 40
error: Failed to create OpenGL context.
error: Failed to create context!
error: device_create (GL) failed
error: Failed to initialize video.  Your GPU may not be supported, or your graphics drivers may need to be updated.

I have amdgpu-pro installed. I tried to run it on different kernels (4.15, 5.0, 5.3), I tried candidate channel (version 21), doesn’t make any change.

Is there something I can do to fix this?

UPD: spelling

I have a two PC streaming setup with the gaming PC running Windows 10 and the encoder PC running Ubuntu 19.10. However, if I install OBS from the official website, I can install and setup the NDI plugin and get it to see the gaming PC’s video stream without any issues. The problem is that I can’t see the Nvidia NVENC hardware encoder on this version of OBS.

If I install this snap version of OBS, then the encoder is available but the NDI plugin isn’t detected. I checked and it is indeed installed correctly (the NDI plugin) and fully up to date.

Bottom line is that I want to have both the NVENC hardware encoder and NDI plugin working in OBS to get the best possible encoding performance out of my system without having to go back to Windows 10. Is there something different about the snap version of OBS that prevents it from “seeing” the NDI plugin?

I fixed the problem by clean installing Ubuntu 18.04.3 and then doing the following:

  • Install the latest Nvidia driver from Nvidia.com
  • Install the latest Nvidia CUDA Toolkit from Nvidia.com
  • Install OBS from the OBS website, not the Snap version
  • Install the NDI plugin

Now my system has NVENC support in OBS and the NDI plugin works as it should.

Hello :wave:

I am new of SnapCraft, as already pointed out, it would be awesome if you provide the obs-linuxbrowser bundled within the package. Actually, being able to use a browser in OBS is quite an important feature. What do you think?

Everything is working fine from me, I am using Ubuntu 19.10 with NVENC.

Great work! :rocket:

1 Like

Hello,

Does someone know how to add plugins in the OBS snap folder?
I would like to add motion-transition and reaplugs.

Thanks.