This might be better posted on an obs forum, however I’ll try here first.
I can build the obs-plugin and install it into my local user following the docs, without errors. So I suspect it’s building fine. I followed: OBS plugin — Looking Glass B4 documentation
When I select the Looking Glass source in obs I get a segfault at ivshmemOpenDev.
#0 0x00007fff7806b930 in ivshmemOpenDev () at /home/m/.config/obs-studio/plugins/looking-glass-obs/bin/64bit/liblooking-glass-obs.so
I can run the looking-glass-client no problems and have access to the kvmfr0 device.
[m@m-q35-arch: ~/Downloads/Drivers/looking-glass-B4-rc3/obs]$ ls -al /dev/kvmfr0
crw-rw---- 1 m m 234, 0 Oct 17 14:41 /dev/kvmfr0
I guess there might be something with the common/ivshmem.h
is not working as expected. Purely based on ivshmemOpenDev()
bring defined in there. I’m sort of out of my depth here…
I’m running in a VM->VM setup. Do I need to update the device in lg.c? I tried both the default /dev/shm/looking-glass
and my /dev/kvmfr0
devices and both have the same result.
163 obs_data_set_default_string(defaults, "shmFile", "/dev/kvmfr0");
The build looks like this:
[m@m-q35-arch: ~/Downloads/Drivers/looking-glass-B4-rc3/obs/build]$ cmake ..
-- BFD libs: /usr/lib/libbfd.so
-- BFD libs: /usr/lib/libbfd.so
-- The following features have been enabled:
* ENABLE_BACKTRACE, Backtrace support.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/m/Downloads/Drivers/looking-glass-B4-rc3/obs/build
[m@m-q35-arch: ~/Downloads/Drivers/looking-glass-B4-rc3/obs/build]$ make clean
[m@m-q35-arch: ~/Downloads/Drivers/looking-glass-B4-rc3/obs/build]$ make
[ 4%] Building C object lgmp/CMakeFiles/lgmp.dir/src/host.c.o
[ 8%] Building C object lgmp/CMakeFiles/lgmp.dir/src/client.c.o
[ 12%] Building C object lgmp/CMakeFiles/lgmp.dir/src/status.c.o
[ 16%] Linking C static library liblgmp.a
[ 16%] Built target lgmp
[ 20%] Building C object common/src/platform/linux/CMakeFiles/lg_common_platform_code.dir/debug.c.o
[ 24%] Building C object common/src/platform/linux/CMakeFiles/lg_common_platform_code.dir/crash.c.o
[ 28%] Building C object common/src/platform/linux/CMakeFiles/lg_common_platform_code.dir/sysinfo.c.o
[ 32%] Building C object common/src/platform/linux/CMakeFiles/lg_common_platform_code.dir/thread.c.o
[ 36%] Building C object common/src/platform/linux/CMakeFiles/lg_common_platform_code.dir/event.c.o
[ 40%] Building C object common/src/platform/linux/CMakeFiles/lg_common_platform_code.dir/ivshmem.c.o
[ 44%] Building C object common/src/platform/linux/CMakeFiles/lg_common_platform_code.dir/time.c.o
[ 48%] Linking C static library liblg_common_platform_code.a
[ 48%] Built target lg_common_platform_code
[ 52%] Building C object common/CMakeFiles/lg_common.dir/src/stringutils.c.o
[ 56%] Building C object common/CMakeFiles/lg_common.dir/src/stringlist.c.o
[ 60%] Building C object common/CMakeFiles/lg_common.dir/src/option.c.o
[ 64%] Building C object common/CMakeFiles/lg_common.dir/src/framebuffer.c.o
[ 68%] Building C object common/CMakeFiles/lg_common.dir/src/KVMFR.c.o
[ 72%] Building C object common/CMakeFiles/lg_common.dir/src/countedbuffer.c.o
[ 76%] Building C object common/CMakeFiles/lg_common.dir/src/runningavg.c.o
[ 80%] Linking C static library liblg_common.a
[ 80%] Built target lg_common
[ 84%] Generating version.c, _version.c
[ 84%] Generating version.c, _version.c
[ 88%] Building C object CMakeFiles/looking-glass-obs.dir/version.c.o
[ 92%] Building C object CMakeFiles/looking-glass-obs.dir/main.c.o
[ 96%] Building C object CMakeFiles/looking-glass-obs.dir/lg.c.o
[100%] Linking C shared library liblooking-glass-obs.so
[100%] Built target looking-glass-obs