nowrep / obs-vkcapture

OBS Linux Vulkan/OpenGL game capture
GNU General Public License v2.0
502 stars 24 forks source link

Blank screen with flatpak OBS and non-flatpak steam #182

Closed ToRRent1812 closed 8 months ago

ToRRent1812 commented 8 months ago

Hi, I would like to capture non-flatpak steam(rpm) with flatpak obs. Based of this instruction, I built native version. So I downloaded vkcapture flatpak plugin, and built native version. Unfortunately when using game capture layer, it still won't detect game window. If I delete flatpak plugin, game capture option is gone.

Is there anything extra I need to do to bring native game windows to capture in flatpak obs?

nowrep commented 8 months ago

Is there anything extra I need to do

Post logs

ToRRent1812 commented 8 months ago

Sorry, here we go.

steam-218620.log 2023-11-13 20-39-30.txt

nowrep commented 8 months ago

Does it work with vkcube? OBS_VKCAPTURE=1 vkcube

ToRRent1812 commented 8 months ago

Interesting, looks like it does work. Maybe the issue is payday related, I will download few more games to test.

nowrep commented 8 months ago

I'm not sure what's going on actually, in the log it shows that the layer doesn't see any CreateDevice / CreateSwapchainKHR call but it also clearly shows that DXVK does create one. If you can check with some other games using Proton and see if the same thing happens.

ToRRent1812 commented 8 months ago

Hi, I've tested few more games and it looks like I can only capture 64 bit games.

nowrep commented 8 months ago

For 32bit games you also need to build the layer (capture tools) as 32bit, did you do that?

ToRRent1812 commented 8 months ago

I think so yes, linux-vkcapture.so is on lib/obs-plugins folder

nowrep commented 8 months ago

That's the OBS plugin, which you only need 64bit.

Vulkan layer: /usr/lib32/libVkLayer_obs_vkcapture.so + /usr/share/vulkan/implicit_layer.d/obs_vkcapture_32.json OpenGL lib: /usr/lib32/libobs_glcapture.so

These are paths on ArchLinux so may be different on Fedora.

Also please build from git, I've added a log message that will show if 32 or 64bit obs-vkcapture library is loaded.

ToRRent1812 commented 8 months ago

Ah, that makes sense. I don't have libVkLayer_obs_vkcapture.so in /usr/lib but it's in /usr/lib64. Unfortunately I don't know how to build 32bit version so I will just leave it as it is, thanks for help.

nowrep commented 8 months ago

https://github.com/nowrep/obs-vkcapture/blob/0fb5dc46e2f04fc1511ff9bd1e7f6b0e09100e2f/dist/PKGBUILD#L26-L36