Code Monkey home page Code Monkey logo

Comments (13)

nowrep avatar nowrep commented on August 22, 2024

For Flatpak I don't really know how the GL capture should work, because /usr/$LIB/libobs_glcapture.so this path will be wrong I think?

@SuNNjek

from obs-vkcapture.

nowrep avatar nowrep commented on August 22, 2024

Or maybe it works and you just didn't install https://github.com/flathub/org.freedesktop.Platform.VulkanLayer.OBSVkCapture ?

from obs-vkcapture.

Asurasim avatar Asurasim commented on August 22, 2024

Hi, I have installed that package. To be safe, I did run the install command again to check and was told it was already installed.

I tried testing to see if I could narrow it down, it appears to be exclusively when I use OpenGL through Flatpak.

Native GL, native VK, and Flatpak VK all seem to work perfectly fine.

from obs-vkcapture.

SuNNjek avatar SuNNjek commented on August 22, 2024

@Asurasim Can you try running the flatpak with --env=LD_PRELOAD=/usr/lib/extensions/vulkan/OBSVkCapture/lib/x86_64-linux-gnu/libobs_glcapture.so? The flatpak extension can't set this environment variable I think (I'd need to check when I have some time), so you need to set it manually.

from obs-vkcapture.

Asurasim avatar Asurasim commented on August 22, 2024

I'm not very familiar with how environment variables work so please correct me if I've done this wrong.

> --env=LD_PRELOAD=/usr/lib/extensions/vulkan/OBSVkCapture/lib/x86_64-linux-gnu/libobs_glcapture.so dev.bsnes.bsnes
bash: --env=LD_PRELOAD=/usr/lib/extensions/vulkan/OBSVkCapture/lib/x86_64-linux-gnu/libobs_glcapture.so: No such file or directory

I found libobs_glcapture.so inside of /usr/lib/ however it still says that there is no such file or directory.

from obs-vkcapture.

SuNNjek avatar SuNNjek commented on August 22, 2024

@Asurasim I should've included the full command, sorry.

flatpak run --env=LD_PRELOAD=/usr/lib/extensions/vulkan/OBSVkCapture/lib/x86_64-linux-gnu/libobs_glcapture.so <your package name here>

from obs-vkcapture.

Asurasim avatar Asurasim commented on August 22, 2024

The error is gone, but overall this seems to have given very mixed results.

Parallel-Launcher works perfectly now.
Dolphin emulator also works perfectly now
RMG runs but doesn't get picked up by the capture plugin at all.
bsnes is recognized by the capture plugin in the drop down menu but crashes upon loading a game. When using Zink it would only pick up the video once the game has started, so it's likely crashing as soon as it tries to grab the video.
puNES doesn't pick up OpenGL at all when launched with the command. puNES also didn't work with Zink at all so it might use some weird rendering tricks?

from obs-vkcapture.

nowrep avatar nowrep commented on August 22, 2024

If it crashes it would be nice to get backtrace. If it doesn't get picked up, please post logs.

Also if you use zink then you should just use Vulkan capture, not GL.

from obs-vkcapture.

Asurasim avatar Asurasim commented on August 22, 2024

Hi again.
Before making the report, I was hoping that zink would solve the problems, however it seems that the emulators I have been trying to use don't work well with it. One of them displays an empty window, another displays a black screen. It's because of those issues that I would like to get GL to capture properly.

I haven't done backtracing before so it took me a while to (hopefully) figure it out. I tried it with bsnes since it seems to reliably crash once it begins capture in obs, if obs is closed it works normally.

I ran bsnes with the command

> flatpak run --env=LD_PRELOAD=/usr/lib/extensions/vulkan/OBSVkCapture/lib/x86_64-linux-gnu/libobs_glcapture.so dev.bsnes.bsnes

Here is the coredump.

> coredumpctl info
           PID: 6232 (bsnes)
           UID: 1000 (pram)
           GID: 1000 (pram)
        Signal: 11 (SEGV)
     Timestamp: Tue 2023-11-28 15:09:49 GMT (44s ago)
  Command Line: bsnes
    Executable: /app/bin/bsnes
 Control Group: /user.slice/user-1000.slice/[email protected]/app.slice/app-flatpak-dev.bsnes.bsnes-6216.scope
          Unit: [email protected]
     User Unit: app-flatpak-dev.bsnes.bsnes-6216.scope
         Slice: user-1000.slice
     Owner UID: 1000 (pram)
       Boot ID: 28ef1d77612245f3966e6a2c74607dc0
    Machine ID: 8916b212f4ac4aa6bcfaac933e503ac9
      Hostname: pram
       Storage: /var/lib/systemd/coredump/core.bsnes.1000.28ef1d77612245f3966e6a2c74607dc0.6232.1701184189000000.zst (present)
  Size on Disk: 17.0M
       Message: Process 6232 (bsnes) of user 1000 dumped core.
                
                Stack trace of thread 2:
                #0  0x00005571566ac998 n/a (/app/bin/bsnes + 0x489998)
                #1  0x00007f8d5fd4bba3 n/a (/usr/lib/extensions/vulkan/OBSVkCapture/lib/x86_64-linux-gnu/libobs_glcapture.so + 0x6ba3)
                #2  0x00005571563c0d43 n/a (/app/bin/bsnes + 0x19dd43)
                ELF object binary architecture: AMD x86-64

I'm unsure as to how I would get coredump on puNES since it doesn't crash. Here is what it says when I try to run it.

> flatpak run --env=LD_PRELOAD=/usr/lib/extensions/vulkan/OBSVkCapture/lib/x86_64-linux-gnu/libobs_glcapture.so io.github.punesemu.puNES
[obs-vkcapture] Init EGL 1.4.5
▶ puNES (by FHorse) 0.110, x86_64, OpenGL
▶ folders      
  config        : /home/pram/.var/app/io.github.punesemu.puNES/config/puNES
  data          : /home/pram/.var/app/io.github.punesemu.puNES/data/puNES
  temp          : /tmp/puNES
▶ opengl        :  Missing GL version
▶ Unable to initiliazed gfx API.

from obs-vkcapture.

Asurasim avatar Asurasim commented on August 22, 2024

Thank you for taking the time to try and fix it but I'm not quite sure how I would go about using the fix.
I tried running paru -S obs-vkcapture-git again but that didn't seem to have changed anything. The build instructions also seem to give a permission error unless using sudo, which I imagine I'm not supposed to do as it's not in the build instructions. Is there anything I've missed or don't know about?

> make && make install
[ 46%] Built target linux-vkcapture
[ 66%] Built target VkLayer_obs_vkcapture
[100%] Built target obs_glcapture
[ 46%] Built target linux-vkcapture
[ 66%] Built target VkLayer_obs_vkcapture
[100%] Built target obs_glcapture
Install the project...
-- Install configuration: ""
-- Installing: /usr/lib/obs-plugins/linux-vkcapture.so
CMake Error at cmake_install.cmake:60 (file):
  file INSTALL cannot copy file
  "/home/pram/obs-vkcapture/build/linux-vkcapture.so" to
  "/usr/lib/obs-plugins/linux-vkcapture.so": Permission denied.


make: *** [Makefile:100: install] Error 1

from obs-vkcapture.

nowrep avatar nowrep commented on August 22, 2024

For Flatpak you'll have to wait until next release.

To install system-wide you need sudo make install.

from obs-vkcapture.

Asurasim avatar Asurasim commented on August 22, 2024

Thank you for clarifying. I take it there's no way to build the flatpak myself or use a beta to try it out?
Would I also be able to make adjustments to the readme to note some of the things encountered here? I'm not very familiar with using GitHub on public repos.

from obs-vkcapture.

nowrep avatar nowrep commented on August 22, 2024

I take it there's no way to build the flatpak myself

There is, but you'll have to look for instructions elsewhere.

Would I also be able to make adjustments to the readme to note some of the things encountered here?

Sure.

from obs-vkcapture.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.