Advanced Scene Switcher install causes OBS core dump

jedi34567

New Member
I am running Pop OS/Ubuntu 22.04LTS. I really want to install this plugin so I can have PVR/VCR type functionality on OBS. I got my HDMI capture dongle working great.

CODE]uname -a
Linux predator 6.0.12-76060006-generic #202212290932~1674139725~22.04~ca93ccf SMP PREEMPT_DYNAMIC Thu J x86_64 x86_64 x86_64 GNU/Linux[/CODE]

I couldn't figure out how to install the plugin on my flatpak install of OBS, so I installed it directly via apt-get:
Code:
sudo apt-get install obs-studio
and installed the plugin via:

Code:
sudo apt-get install  advanced-scene-switcher

and here is what happens:
Code:
$ obs
Attempted path: share/obs/obs-studio/locale/en-US.ini
Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
Attempted path: share/obs/obs-studio/locale.ini
Attempted path: /usr/share/obs/obs-studio/locale.ini
Attempted path: share/obs/obs-studio/locale/en-GB.ini
Attempted path: /usr/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: /usr/share/obs/obs-studio/themes/Dark.qss
info: CPU Name: Intel(R) Core(TM) i7-10700F CPU @ 2.90GHz
info: CPU Speed: 4599.756MHz
info: Physical Cores: 8, Logical Cores: 16
info: Physical Memory: 31876MB Total, 4454MB Free
info: Kernel Version: Linux 6.0.12-76060006-generic
info: Distribution: "Pop!_OS" "22.04"
info: Session Type: x11
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1
info: Qt Version: 5.15.3 (runtime), 5.15.2 (compiled)
info: Portable mode: false
Attempted path: share/obs/obs-studio/themes/Dark/no_sources.svg
Attempted path: /usr/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 27.2.3+dfsg1-1 (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
    samples per sec: 48000
    speakers:        2
info: ---------------------------------
info: Initializing OpenGL...
info: Loading up OpenGL on adapter NVIDIA Corporation NVIDIA GeForce GTX 1650 SUPER/PCIe/SSE2
info: OpenGL loaded successfully, version 3.3.0 NVIDIA 525.85.05, 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:          709/Partial
info: NV12 texture support not available
info: Audio monitoring device:
    name: Default
    id: default
info: ---------------------------------
Segmentation fault (core dumped)
 

AaronD

Active Member
There's a "Go to download" button at the top right of every plugin page: Overview, Forum Discussion, etc. That gets you the latest version. I would not be surprised at all if the repo version is so horribly out of date that it doesn't even run.

Case in point: OBS in the Ubuntu 22.04 repo is version 27. We're on version 29 now, and from 27 to 28 is a major graphics update that breaks almost everything, both upgrading and downgrading. Add the OBS-specific repo to get v29, and then the up-to-date plugins (from the download button here) will work too.
 

jedi34567

New Member
There's a "Go to download" button at the top right of every plugin page: Overview, Forum Discussion, etc. That gets you the latest version. I would not be surprised at all if the repo version is so horribly out of date that it doesn't even run.

Case in point: OBS in the Ubuntu 22.04 repo is version 27. We're on version 29 now, and from 27 to 28 is a major graphics update that breaks almost everything, both upgrading and downgrading. Add the OBS-specific repo to get v29, and then the up-to-date plugins (from the download button here) will work too.

Thanks! I did that and got the latest OBS. I then did a dpkg -i install of the plugin. OBS starts up OK, but the plugin does not appear under the "Tools" menu. Doesn't seem to be anything in the log either:
Code:
debug: Found portal inhibitor
debug: Attempted path: share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: share/obs/obs-studio/locale.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale.ini
debug: Attempted path: share/obs/obs-studio/locale/en-GB.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale/en-GB.ini
info: Using preferred locale 'en-GB'
debug: Attempted path: share/obs/obs-studio/themes/Yami.qss
debug: Attempted path: /usr/share/obs/obs-studio/themes/Yami.qss
info: Using EGL/X11
info: CPU Name: Intel(R) Core(TM) i7-10700F CPU @ 2.90GHz
info: CPU Speed: 4605.109MHz
info: Physical Cores: 8, Logical Cores: 16
info: Physical Memory: 31876MB Total, 4271MB Free
info: Kernel Version: Linux 6.0.12-76060006-generic
info: Distribution: "Pop!_OS" "22.04"
info: Session Type: x11
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1
info: Qt Version: 6.2.4 (runtime), 6.2.4 (compiled)
info: Portable mode: false
qt.core.qmetaobject.connectslotsbyname: QMetaObject::connectSlotsByName: No matching signal for on_tbar_position_valueChanged(int)
info: OBS 29.0.2 (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: Loading up OpenGL on adapter NVIDIA Corporation NVIDIA GeForce GTX 1650 SUPER/PCIe/SSE2
info: OpenGL loaded successfully, version 3.3.0 NVIDIA 525.85.05, 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 not available
info: P010 texture support not available
info: Audio monitoring device:
    name: Default
    id: default
info: ---------------------------------
warning: Failed to load 'en-GB' text for module: 'aja-output-ui.so'
warning: No AJA devices found, skipping loading AJA UI plugin
warning: Failed to initialize module 'aja-output-ui.so'
warning: Failed to load 'en-GB' text for module: 'aja.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'
warning: Failed to load 'en-GB' text for module: 'frontend-tools.so'
warning: Failed to load 'en-GB' text for module: 'linux-alsa.so'
warning: Failed to load 'en-GB' text for module: 'linux-capture.so'
warning: Failed to load 'en-GB' text for module: 'linux-jack.so'
warning: Failed to load 'en-GB' text for module: 'linux-pipewire.so'
info: [pipewire] Available captures:
info: [pipewire]     - Desktop capture
info: [pipewire]     - Window capture
warning: Failed to load 'en-GB' text for module: 'linux-pulseaudio.so'
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)
info: NVENC supported
error: VAAPI: Failed to initialize display in vaapi_device_h264_supported
info: FFmpeg VAAPI H264 encoding not 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-websocket.so'
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.2.4 | Qt version (run-time): 6.2.4
info: [obs-websocket] [obs_module_load] Linked ASIO Version: 101201
info: [obs-websocket] [obs_module_load] Module loaded.
warning: Failed to load 'en-GB' text for module: 'obs-x264.so'
warning: Failed to load 'en-GB' text for module: 'rtmp-services.so'
info: [vlc-video]: VLC 3.0.16 Vetinari found, VLC video source enabled
info: ---------------------------------
info:   Loaded Modules:
info:     vlc-video.so
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-libfdk.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:     linux-alsa.so
info:     image-source.so
info:     frontend-tools.so
info:     decklink-output-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.65) 15.0.0'
info: pulse-input: Audio format: s32le, 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 (on PipeWire 0.3.65) 15.0.0'
info: pulse-input: Audio format: s16le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_input.usb-Samson_Technologies_Samson_Meteor_Mic-00.analog-stereo' (default)
info: [Loaded global audio device]: 'Mic/Aux'
info: v4l2-input: Start capture from /dev/video5
error: v4l2-input: Unable to open device
error: v4l2-input: Initialization failed, errno: No such file or directory
info: pulse-input: Server name: 'PulseAudio (on PipeWire 0.3.65) 15.0.0'
error: pulse-input: An error occurred while getting the source info!
info: pulse-am: Server name: 'PulseAudio (on PipeWire 0.3.65) 15.0.0'
info: pulse-am: Audio format: s32le, 48000 Hz, 2 channels
info: pulse-am: Started Monitoring in 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor'
info: Switched to scene 'Scene'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info:     - source: 'Video Capture Device (V4L2)' (v4l2_input)
info:     - source: 'Audio Input Capture (PulseAudio)' (pulse_input_capture)
info:         - monitoring: monitor and output
info: ------------------------------------------------
info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)

qt.core.qmetaobject.connectslotsbyname: QMetaObject::connectSlotsByName: No matching signal for on_startAtLaunch_toggled(bool)
 

AaronD

Active Member
Thanks! I did that and got the latest OBS. I then did a dpkg -i install of the plugin. OBS starts up OK, but the plugin does not appear under the "Tools" menu. Doesn't seem to be anything in the log either:
Code:
debug: Found portal inhibitor
debug: Attempted path: share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: share/obs/obs-studio/locale.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale.ini
debug: Attempted path: share/obs/obs-studio/locale/en-GB.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale/en-GB.ini
info: Using preferred locale 'en-GB'
debug: Attempted path: share/obs/obs-studio/themes/Yami.qss
debug: Attempted path: /usr/share/obs/obs-studio/themes/Yami.qss
info: Using EGL/X11
info: CPU Name: Intel(R) Core(TM) i7-10700F CPU @ 2.90GHz
info: CPU Speed: 4605.109MHz
info: Physical Cores: 8, Logical Cores: 16
info: Physical Memory: 31876MB Total, 4271MB Free
info: Kernel Version: Linux 6.0.12-76060006-generic
info: Distribution: "Pop!_OS" "22.04"
info: Session Type: x11
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1
info: Qt Version: 6.2.4 (runtime), 6.2.4 (compiled)
info: Portable mode: false
qt.core.qmetaobject.connectslotsbyname: QMetaObject::connectSlotsByName: No matching signal for on_tbar_position_valueChanged(int)
info: OBS 29.0.2 (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: Loading up OpenGL on adapter NVIDIA Corporation NVIDIA GeForce GTX 1650 SUPER/PCIe/SSE2
info: OpenGL loaded successfully, version 3.3.0 NVIDIA 525.85.05, 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 not available
info: P010 texture support not available
info: Audio monitoring device:
    name: Default
    id: default
info: ---------------------------------
warning: Failed to load 'en-GB' text for module: 'aja-output-ui.so'
warning: No AJA devices found, skipping loading AJA UI plugin
warning: Failed to initialize module 'aja-output-ui.so'
warning: Failed to load 'en-GB' text for module: 'aja.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'
warning: Failed to load 'en-GB' text for module: 'frontend-tools.so'
warning: Failed to load 'en-GB' text for module: 'linux-alsa.so'
warning: Failed to load 'en-GB' text for module: 'linux-capture.so'
warning: Failed to load 'en-GB' text for module: 'linux-jack.so'
warning: Failed to load 'en-GB' text for module: 'linux-pipewire.so'
info: [pipewire] Available captures:
info: [pipewire]     - Desktop capture
info: [pipewire]     - Window capture
warning: Failed to load 'en-GB' text for module: 'linux-pulseaudio.so'
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)
info: NVENC supported
error: VAAPI: Failed to initialize display in vaapi_device_h264_supported
info: FFmpeg VAAPI H264 encoding not 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-websocket.so'
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.2.4 | Qt version (run-time): 6.2.4
info: [obs-websocket] [obs_module_load] Linked ASIO Version: 101201
info: [obs-websocket] [obs_module_load] Module loaded.
warning: Failed to load 'en-GB' text for module: 'obs-x264.so'
warning: Failed to load 'en-GB' text for module: 'rtmp-services.so'
info: [vlc-video]: VLC 3.0.16 Vetinari found, VLC video source enabled
info: ---------------------------------
info:   Loaded Modules:
info:     vlc-video.so
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-libfdk.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:     linux-alsa.so
info:     image-source.so
info:     frontend-tools.so
info:     decklink-output-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.65) 15.0.0'
info: pulse-input: Audio format: s32le, 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 (on PipeWire 0.3.65) 15.0.0'
info: pulse-input: Audio format: s16le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_input.usb-Samson_Technologies_Samson_Meteor_Mic-00.analog-stereo' (default)
info: [Loaded global audio device]: 'Mic/Aux'
info: v4l2-input: Start capture from /dev/video5
error: v4l2-input: Unable to open device
error: v4l2-input: Initialization failed, errno: No such file or directory
info: pulse-input: Server name: 'PulseAudio (on PipeWire 0.3.65) 15.0.0'
error: pulse-input: An error occurred while getting the source info!
info: pulse-am: Server name: 'PulseAudio (on PipeWire 0.3.65) 15.0.0'
info: pulse-am: Audio format: s32le, 48000 Hz, 2 channels
info: pulse-am: Started Monitoring in 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor'
info: Switched to scene 'Scene'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info:     - source: 'Video Capture Device (V4L2)' (v4l2_input)
info:     - source: 'Audio Input Capture (PulseAudio)' (pulse_input_capture)
info:         - monitoring: monitor and output
info: ------------------------------------------------
info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)

qt.core.qmetaobject.connectslotsbyname: QMetaObject::connectSlotsByName: No matching signal for on_startAtLaunch_toggled(bool)
I don't see anything about it either. Would have been nice to see what dpkg did. I'm (slowly) getting better myself about not closing the terminal too early...
 

Warmuptill

Active Member
When running apt install /path/to/advanced-scene-switcher-linux-x86_64.deb the plugin is usually installed to /usr/lib/<potential sub folder>/obs-plugins/64bit/.
You can check it was installed to by running dpkg --contents /path/to/advanced-scene-switcher-linux-x86_64.deb.

It could be that your OBS install expects the plugins to be located a different location for same reason.
You could try to find out where it is looking for plugin by running find / -name frontend-tools.so 2>/dev/null and manually placing the plugin files there.

Alternatively you could use the flatpak version of OBS and the flatpak version of the advanced scene switcher plugin called com.obsproject.Studio.Plugin.SceneSwitcher
I think snap also offers an OBS install that comes bundled with the advanced scene switcher, but I am not sure which version it is stuck on.

I am sorry that this is so complicated on Linux systems, but I couldn't really think of a solution that works on every distro.

Let me know if you have any questions or run into issues!
 

AaronD

Active Member
I am sorry that this is so complicated on Linux systems, but I couldn't really think of a solution that works on every distro.
You seem to have done a good job for my rig, especially considering what it was before you started making .deb packages! (*) Added the repo to Ubuntu Studio 22.04, got OBS v29 from there, and the latest .deb installs right up and "just works" for me.

(*) I was reminded this week of what it was then, as I had to rebuild a system from scratch with Ubuntu 20.04 (not 22) and OBS v25. Turns out that later versions of the OS didn't like 4 copies of the same HDMI -> USB capture card, and a new 4-input PCIe card didn't work either. Then it wouldn't boot from the original drive that I had set aside for that exact purpose!
It's back up and running again, with all the old stuff from scratch, but I'm glad to not have to decipher the folder structure myself for the new stuff! Even then, you still did a good job with the ReadMe, to explain how to do it manually.
One of these days, I'll get 4 inputs working on a modern system (at home!), and then update that rig for real.
 

jedi34567

New Member
When running apt install /path/to/advanced-scene-switcher-linux-x86_64.deb the plugin is usually installed to /usr/lib/<potential sub folder>/obs-plugins/64bit/.
You can check it was installed to by running dpkg --contents /path/to/advanced-scene-switcher-linux-x86_64.deb.

It could be that your OBS install expects the plugins to be located a different location for same reason.
You could try to find out where it is looking for plugin by running find / -name frontend-tools.so 2>/dev/null and manually placing the plugin files there.

Alternatively you could use the flatpak version of OBS and the flatpak version of the advanced scene switcher plugin called com.obsproject.Studio.Plugin.SceneSwitcher
I think snap also offers an OBS install that comes bundled with the advanced scene switcher, but I am not sure which version it is stuck on.

I am sorry that this is so complicated on Linux systems, but I couldn't really think of a solution that works on every distro.

Let me know if you have any questions or run into issues!

Thanks for this reply, it lead to the eventual solution. I thought I would remove the plugin and start fresh and that gave me an error. I guess during my long debugging attempts trying to solve this, I installed a package called "obs-advanced-scene-switcher-data". When removing the plugin with "apt remove advanced-scene-switcher", it gave me an error saying that it overlapped with the "data" package. So I removed the data package, the plugin, re-installed the plugin and now everything is fine. Next step is to figure out how to write a macro that allows me to use OBS as a VCR -- I want to record programs off my settop at certain times and durations.

Thank you @Warmuptill and the community for so much help with this.
 

AaronD

Active Member
Next step is to figure out how to write a macro that allows me to use OBS as a VCR -- I want to record programs off my settop at certain times and durations.
Two slightly different ways to do that (and probably more):

This one requires two macros:
1676305341553.png

1676305366913.png

And this one only needs one:
1676305396816.png

Depending on what else you have going on, you might look at the parallel and only on change checkboxes.
 
Top