Closed Haelikor closed 2 years ago
Can you please post logs from the game?
Sure.
Here's Retroarch's log: retroarch2022_08_1809_02_00.log
It should also contain obs-vkcapture lines, that means standard terminal output.
For that, I see:
ERROR: ld.so: object '/usr/lib/libVkLayer_obs_vkcapture.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/usr/lib/libobs_glcapture.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. [obs-vkcapture] Init Vulkan 1.1.5 [obs-vkcapture] Injecting VK_KHR_bind_memory2 extension [obs-vkcapture] Injecting VK_KHR_get_memory_requirements2 extension [obs-vkcapture] Injecting VK_KHR_external_memory_fd extension [obs-vkcapture] Injecting VK_EXT_image_drm_format_modifier extension [obs-vkcapture] DRM format modifier support not available [obs-vkcapture] Texture VK_FORMAT_R8G8B8A8_UNORM 1920x1080 [obs-vkcapture] ------------------ vulkan capture started ------------------ [obs-vkcapture] ------------------- vulkan capture freed -------------------
Thanks.
Just a note: you shouldn't have libVkLayer_obs_vkcapture.so in LD_PRELOAD, only the GL library needs to be preloaded.
Thanks.
Just a note: you shouldn't have libVkLayer_obs_vkcapture.so in LD_PRELOAD, only the GL library needs to be preloaded.
This is likely due to the way I handled vkcapture's capture script in my copr repo for the plugin. I merged them so that only 'obs-gamecapture' is needed for both vulkan and ogl. It will of course spit out some library load failures which are not significant, but it's easier for people than using two separate commands:
I have this documented on the Nobara page (see point 2.): https://nobaraproject.org/docs/obs-studio/using-game-capture/
exec env \
LD_PRELOAD="${LD_PRELOAD}:/usr/lib64/libobs_glcapture.so:/usr/lib/libobs_glcapture.so" \
OBS_VKCAPTURE=1 \
"$@"
This is enough, preloading the Vulkan layer library does nothing. OBS_VKCAPTURE=1 will make the Vulkan loader load it when needed, and it won't be loaded at all in GL apps.
exec env \ LD_PRELOAD="${LD_PRELOAD}:/usr/lib64/libobs_glcapture.so:/usr/lib/libobs_glcapture.so" \ OBS_VKCAPTURE=1 \ "$@"
This is enough, preloading the Vulkan layer library does nothing. OBS_VKCAPTURE=1 will make the Vulkan loader load it when needed, and it won't be loaded at all in GL apps.
thanks for the insight, I'll get the script corrected shortly so the vulkan layer preload errors don't pop up in future.
Also it probably makes sense to just add obs-gamecapture
script here, so you don't need to patch it yourself.
Also it probably makes sense to just add
obs-gamecapture
script here, so you don't need to patch it yourself.
Yeah I wanted to do it but I hardcoded the library paths for Fedora specifically, it needs that cleaned up before I can make a PR
Fedora 36, seeing this in Retroarch. Transparency option not enabled.
What I see:![image](https://user-images.githubusercontent.com/48164633/185258655-6ff0a20c-951e-4be9-a512-770616797a12.png)
What streams when using Game Capture:![image](https://user-images.githubusercontent.com/48164633/185258699-f58b4581-bff3-4cbb-8850-46ce5652a00a.png)
NV12 8-bit color format, Rec.601 color space, limited color range.
If I do Window capture instead of Game capture:![image](https://user-images.githubusercontent.com/48164633/185258779-57025747-c727-4561-8075-c2427cfa49d7.png)
Colors all seem normal. Any advice, I appreciate it.