nowrep / obs-vkcapture

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

No "Select Window" Dropdown option #217

Open ghost opened 3 months ago

ghost commented 3 months ago

Describe the bug when adding the "Game Capture" Source vis the sources list, there is no option labeled "Select Window" appears in the source properties.

Screenshots or video image

System (please complete the following information):

OBS log:

OBS 30.1.2 log file uploaded at 2024-07-08, 17:08:16

17:07:31.386: Using EGL/X11
17:07:31.386: CPU Name: 11th Gen Intel(R) Core(TM) i5-11500 @ 2.70GHz
17:07:31.386: CPU Speed: 4200.000MHz
17:07:31.386: Physical Cores: 6, Logical Cores: 12
17:07:31.386: Physical Memory: 31871MB Total, 15349MB Free
17:07:31.386: Kernel Version: Linux 6.7.12+bpo-amd64
17:07:31.386: Flatpak Branch: stable
17:07:31.386: Flatpak Arch: x86_64
17:07:31.386: Flatpak Runtime: runtime/org.kde.Platform/x86_64/6.6
17:07:31.386: App Extensions:
17:07:31.386:  - com.obsproject.Studio.Plugin.OBSVkCapture
17:07:31.386:  - com.obsproject.Studio.Locale
17:07:31.386: Runtime Extensions:
17:07:31.386:  - org.freedesktop.Platform.GL.default
17:07:31.386:  - org.freedesktop.Platform.VAAPI.Intel
17:07:31.386:  - org.freedesktop.Platform.openh264
17:07:31.386:  - org.kde.KStyle.Adwaita
17:07:31.386:  - org.kde.PlatformTheme.QGnomePlatform
17:07:31.386:  - org.kde.WaylandDecoration.QAdwaitaDecorations
17:07:31.386:  - org.kde.Platform.Locale
17:07:31.386:  - org.freedesktop.Platform.GL.default
17:07:31.386: Flatpak Framework Version: 1.14.4
17:07:31.386: Desktop Environment: GNOME (gnome-xorg)
17:07:31.386: Session Type: x11
17:07:31.387: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1
17:07:31.388: Qt Version: 6.6.3 (runtime), 6.6.2 (compiled)
17:07:31.388: Portable mode: false
17:07:31.464: OBS 30.1.2 (linux)
17:07:31.464: ---------------------------------
17:07:31.470: ---------------------------------
17:07:31.470: audio settings reset:
17:07:31.470:   samples per sec: 48000
17:07:31.470:   speakers:        2
17:07:31.470:   max buffering:   960 milliseconds
17:07:31.470:   buffering type:  dynamically increasing
17:07:31.473: ---------------------------------
17:07:31.474: Initializing OpenGL...
17:07:31.567: Loading up OpenGL on adapter Intel Mesa Intel(R) Graphics (RKL GT1)
17:07:31.567: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 24.1.1 (git-6c377358a5), shading language 4.60
17:07:31.604: ---------------------------------
17:07:31.604: video settings reset:
17:07:31.604:   base resolution:   1920x1080
17:07:31.604:   output resolution: 1280x720
17:07:31.604:   downscale filter:  Bicubic
17:07:31.604:   fps:               30/1
17:07:31.604:   format:            NV12
17:07:31.604:   YUV mode:          Rec. 709/Partial
17:07:31.604: NV12 texture support enabled
17:07:31.604: P010 texture support not available
17:07:31.610: Audio monitoring device:
17:07:31.610:   name: Default
17:07:31.610:   id: default
17:07:31.610: ---------------------------------
17:07:31.625: No AJA devices found, skipping loading AJA UI plugin
17:07:31.625: Failed to initialize module 'aja-output-ui.so'
17:07:31.637: No AJA devices found, skipping loading AJA plugin
17:07:31.637: Failed to initialize module 'aja.so'
17:07:31.642: Failed to load 'en-US' text for module: 'decklink-captions.so'
17:07:31.649: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
17:07:31.654: A DeckLink iterator could not be created.  The DeckLink drivers may not be installed
17:07:31.654: Failed to initialize module 'decklink.so'
17:07:31.843: [pipewire] Available captures:
17:07:31.843: [pipewire]     - Desktop capture
17:07:31.843: [pipewire]     - Window capture
17:07:31.861: v4l2loopback not installed, virtual camera disabled
17:07:31.869: [obs-browser]: Version 2.23.4
17:07:31.869: [obs-browser]: CEF Version 103.0.5060.134 (runtime), 103.0.0-5060-shared-textures.2594+g17f8588+chromium-103.0.5060.134 (compiled)
17:07:31.878: VAAPI: API version 1.19
17:07:31.878: FFmpeg VAAPI H264 encoding supported
17:07:31.879: FFmpeg VAAPI AV1 encoding not supported
17:07:31.881: FFmpeg VAAPI HEVC encoding supported
17:07:31.946: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.4.2 | RPC Version: 1)
17:07:31.946: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.6.2 | Qt version (run-time): 6.6.3
17:07:31.946: [obs-websocket] [obs_module_load] Linked ASIO Version: 102900
17:07:31.952: [obs-websocket] [obs_module_load] Module loaded.
17:07:31.975: Failed to load 'en-GB' text for module: 'linux-vkcapture.so'
17:07:31.975: [linux-vkcapture] plugin loaded successfully (version 1.5.0)
17:07:31.975: ---------------------------------
17:07:31.975:   Loaded Modules:
17:07:31.975:     linux-vkcapture.so
17:07:31.975:     text-freetype2.so
17:07:31.975:     rtmp-services.so
17:07:31.975:     obs-x264.so
17:07:31.975:     obs-websocket.so
17:07:31.975:     obs-webrtc.so
17:07:31.975:     obs-vst.so
17:07:31.975:     obs-transitions.so
17:07:31.975:     obs-qsv11.so
17:07:31.975:     obs-outputs.so
17:07:31.975:     obs-libfdk.so
17:07:31.975:     obs-filters.so
17:07:31.975:     obs-ffmpeg.so
17:07:31.975:     obs-browser.so
17:07:31.975:     linux-v4l2.so
17:07:31.975:     linux-pulseaudio.so
17:07:31.975:     linux-pipewire.so
17:07:31.975:     linux-jack.so
17:07:31.975:     linux-capture.so
17:07:31.975:     image-source.so
17:07:31.975:     frontend-tools.so
17:07:31.975:     decklink-output-ui.so
17:07:31.975:     decklink-captions.so
17:07:31.975: ---------------------------------
17:07:31.975: ==== Startup complete ===============================================
17:07:32.025: All scene data cleared
17:07:32.025: ------------------------------------------------
17:07:32.031: [obs-scripting]: Loaded lua script: advanced-timer.lua
17:07:32.033: pulse-input: Server name: 'PulseAudio (on PipeWire 0.3.65) 15.0.0'
17:07:32.033: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
17:07:32.033: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor'
17:07:32.033: [Loaded global audio device]: 'Desktop Audio'
17:07:32.033: pulse-input: Server name: 'PulseAudio (on PipeWire 0.3.65) 15.0.0'
17:07:32.033: pulse-input: An error occurred while getting the source info!
17:07:32.033: [Loaded global audio device]: 'Mic/Aux'
17:07:32.033:     - filter: 'Noise Gate' (noise_gate_filter)
17:07:32.034: [window-capture: 'Games'] update settings:
17:07:32.034:   title: New Issue · nowrep/obs-vkcapture - Chromium
17:07:32.034:   class: io.github.ungoogled_software.ungoogled_chromium
17:07:32.034: 
17:07:32.036: Switched to scene 'Scene'
17:07:32.036: ------------------------------------------------
17:07:32.036: Loaded scenes:
17:07:32.036: - scene 'Scene':
17:07:32.036:     - source: 'Games' (xcomposite_input)
17:07:32.036:     - source: 'label' (text_ft2_source_v2)
17:07:32.036: ------------------------------------------------
17:07:32.580: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
17:07:32.580: 
17:07:32.804: YT: InitYTUserUrl() User is not signed
17:07:32.804: YT: InitYTUserUrl() User is not signed
17:07:34.575: ---------------------------------
17:07:34.575: [FFmpeg VAAPI encoder: 'advanced_video_stream'] settings:
17:07:34.575:   device:       /dev/dri/by-path/pci-0000:00:02.0-render
17:07:34.575:   rate_control: CBR
17:07:34.575:   profile:      77
17:07:34.575:   level:        -99
17:07:34.575:   qp:           0
17:07:34.575:   bitrate:      4000
17:07:34.575:   maxrate:      4000
17:07:34.575:   keyint:       60
17:07:34.575:   width:        1280
17:07:34.575:   height:       720
17:07:34.575:   b-frames:     0
17:07:34.575:   ffmpeg opts:  
17:07:34.575: 
17:07:34.601: libfdk_aac encoder created
17:07:34.601: libfdk_aac bitrate: 160, channels: 2
17:07:34.603: ==== Recording Start ===============================================
17:07:34.603: [ffmpeg muxer: 'adv_file_output'] Writing file '/home/user/2024-07-08 17-07-34.mkv'...
17:07:42.827: User added source 'Game Capture' (vkcapture-source) to scene 'Scene'
17:08:04.603: Failed to create xdg-screensaver: 2
17:08:11.647: [ffmpeg muxer: 'adv_file_output'] Output of file '/home/user/2024-07-08 17-07-34.mkv' stopped
17:08:11.647: Output 'adv_file_output': stopping
17:08:11.647: Output 'adv_file_output': Total frames output: 1108
17:08:11.647: Output 'adv_file_output': Total drawn frames: 1112
17:08:11.647: ==== Recording Stop ================================================
17:08:11.663: libfdk_aac encoder destroyed

Game log:

Paste game terminal output here.
Make sure to set OBS_VKCAPTURE_QUIET=0 environment variable.
nowrep commented 3 months ago

Please post logs from the game.

ghost commented 3 months ago

Please post logs from the game.

My apologies. I am capturing Steam Games and was not sure if the variable would work there. This is the first time I am doing this

ghost commented 2 months ago

Closing as inactive.

nowrep commented 2 months ago

Inactive?

I asked for game logs, you can get it with adding PROTON_LOG=1 to game launch command on Steam.

kakra commented 2 months ago

I'm facing the same problem since I rebooted. I installed obs-vkcapture a few days ago for testing directly compiling from source, and it worked. I then created a system package from it (Gentoo), installed it, removed all the traces from $HOME and rebooted. Now, it no longer works, no matter if I restore the previous situation or don't.

Actually, the dropdown never filled with a list of captured windows for me - it just worked. But I think I may be seeing the same problem. Proton log attached.

steam-359320.tar.gz

nowrep commented 2 months ago

That's different issue: [obs-vkcapture] missing device extension: VK_EXT_external_memory_dma_buf

On nvidia proprietary you need to set nvidia-drm.modeset=1 kernel option.

kakra commented 2 months ago

Yeah, I figured that may be a problem. But it is set:

# sudo cat /sys/module/nvidia_drm/parameters/modeset
Y

And vulkaninfo shows it as available:

# vulkaninfo | grep dma
WARNING: [Loader Message] Code 0 : loader_add_layer_properties: 'layers' tag not supported until file version 1.0.1, but /usr/share/vulkan/implicit_layer.d/nvidia_layers.json is reporting version 1
        VK_EXT_external_memory_dma_buf                : extension revision 1

So something is strange here... Okay let's see:

# vulkaninfo | egrep -e "(^GPU|dma)"
WARNING: [Loader Message] Code 0 : loader_add_layer_properties: 'layers' tag not supported until file version 1.0.1, but /usr/share/vulkan/implicit_layer.d/nvidia_layers.json is reporting version 1
GPU id : 0 (NVIDIA GeForce RTX 3080 Ti):
GPU id : 1 (Intel(R) UHD Graphics 770 (ADL-S GT1)):
GPU0:
GPU1:
        VK_EXT_external_memory_dma_buf                : extension revision 1

Okay, so this is on the iGPU only... (which has no monitors attached). So I'll look into the modeset thing. Not sure what happened during reboot.

Thanks for your prompt response. :-)

UPDATE:

# from dmesg:
[    7.358344] [drm:nv_drm_exit [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to allocate NvKmsKapiDevice
[    7.358431] [drm:nv_drm_register_drm_device [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to register device

UPDATE 2:

One reboot later, drm registers successful again, capturing works, and I can even select windows this time. Crazy tech... NVIDIA needs to fix their stuff, maybe with 560 which has the kernel-driver open-sourced...

fsworld009 commented 1 month ago

I am facing the same issue. The window dropdown has only one option Capture any Window and it never captures anything.

My system is Arch Linux + KDE Plasma 6. OBS is installed via pacman -S obs-studio and AUR obs-vkcapture-git. Hardware is AMD cpu & gpu.

OBS log:

11:34:20.294: Using EGL/X11
11:34:20.294: CPU Name: AMD Ryzen 7 7840HS w/ Radeon 780M Graphics
11:34:20.294: CPU Speed: 1341.710MHz
11:34:20.295: Physical Cores: 8, Logical Cores: 16
11:34:20.295: Physical Memory: 59956MB Total, 41810MB Free
11:34:20.295: Kernel Version: Linux 6.10.6-arch1-1
11:34:20.295: Distribution: "EndeavourOS" Unknown
11:34:20.295: Desktop Environment: KDE (KDE)
11:34:20.295: Session Type: x11
11:34:20.295: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1
11:34:20.297: Qt Version: 6.7.2 (runtime), 6.7.2 (compiled)
11:34:20.297: Portable mode: false
11:34:20.393: OBS 30.2.1-1 (linux)
11:34:20.393: ---------------------------------
11:34:20.394: ---------------------------------
11:34:20.394: audio settings reset:
11:34:20.394:   samples per sec: 48000
11:34:20.394:   speakers:        2
11:34:20.394:   max buffering:   21 milliseconds
11:34:20.394:   buffering type:  fixed
11:34:20.403: ---------------------------------
11:34:20.403: Initializing OpenGL...
11:34:20.416: Enabling fixed audio buffering, total audio buffering is now 21 milliseconds
11:34:20.481: Loading up OpenGL on adapter AMD AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.10.6-arch1-1)
11:34:20.481: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 24.1.6-arch1.1, shading language 4.60
11:34:20.531: ---------------------------------
11:34:20.531: video settings reset:
11:34:20.531:   base resolution:   1920x1080
11:34:20.531:   output resolution: 1280x720
11:34:20.531:   downscale filter:  Bicubic
11:34:20.531:   fps:               60/1
11:34:20.531:   format:            NV12
11:34:20.531:   YUV mode:          sRGB/Partial
11:34:20.531: NV12 texture support enabled
11:34:20.531: P010 texture support not available
11:34:20.534: Audio monitoring device:
11:34:20.534:   name: Default
11:34:20.534:   id: default
11:34:20.534: ---------------------------------
11:34:20.551: Failed to load 'en-US' text for module: 'decklink-captions.so'
11:34:20.572: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
11:34:20.588: A DeckLink iterator could not be created.  The DeckLink drivers may not be installed
11:34:20.589: Failed to initialize module 'decklink.so'
11:34:20.878: [pipewire] Available capture sources:
11:34:20.878: [pipewire]     - Monitor source
11:34:20.878: [pipewire]     - Window source
11:34:20.920: v4l2loopback not installed, virtual camera not registered
11:34:20.940: [linux-vkcapture] plugin loaded successfully (version 1.5.1)
11:34:21.071: VAAPI: API version 1.22
11:34:21.076: FFmpeg VAAPI H264 encoding supported
11:34:21.091: FFmpeg VAAPI AV1 encoding supported
11:34:21.108: FFmpeg VAAPI HEVC encoding supported
11:34:21.370: [Move Transition] loaded version 2.12.0
11:34:21.370: ---------------------------------
11:34:21.370:   Loaded Modules:
11:34:21.370:     move-transition.so
11:34:21.370:     linux-pipewire-audio.so
11:34:21.370:     text-freetype2.so
11:34:21.370:     rtmp-services.so
11:34:21.370:     obs-x264.so
11:34:21.370:     obs-webrtc.so
11:34:21.370:     obs-vst.so
11:34:21.370:     obs-transitions.so
11:34:21.370:     obs-qsv11.so
11:34:21.370:     obs-outputs.so
11:34:21.370:     obs-libfdk.so
11:34:21.370:     obs-filters.so
11:34:21.370:     obs-ffmpeg.so
11:34:21.370:     linux-vkcapture.so
11:34:21.370:     linux-v4l2.so
11:34:21.370:     linux-pulseaudio.so
11:34:21.370:     linux-pipewire.so
11:34:21.370:     linux-jack.so
11:34:21.370:     linux-capture.so
11:34:21.370:     linux-alsa.so
11:34:21.370:     image-source.so
11:34:21.370:     frontend-tools.so
11:34:21.370:     decklink-output-ui.so
11:34:21.370:     decklink-captions.so
11:34:21.370: ---------------------------------
11:34:21.370: ---------------------------------
11:34:21.370: Available Encoders:
11:34:21.370:   Video Encoders:
11:34:21.370:   - ffmpeg_svt_av1 (SVT-AV1)
11:34:21.370:   - ffmpeg_aom_av1 (AOM AV1)
11:34:21.370:   - ffmpeg_vaapi_tex (FFmpeg VAAPI H.264)
11:34:21.370:   - av1_ffmpeg_vaapi_tex (FFmpeg VAAPI AV1)
11:34:21.370:   - hevc_ffmpeg_vaapi_tex (FFmpeg VAAPI HEVC)
11:34:21.370:   - obs_x264 (x264)
11:34:21.370:   Audio Encoders:
11:34:21.370:   - ffmpeg_aac (FFmpeg AAC)
11:34:21.370:   - ffmpeg_opus (FFmpeg Opus)
11:34:21.370:   - ffmpeg_pcm_s16le (FFmpeg PCM (16-bit))
11:34:21.370:   - ffmpeg_pcm_s24le (FFmpeg PCM (24-bit))
11:34:21.370:   - ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float))
11:34:21.370:   - ffmpeg_alac (FFmpeg ALAC (24-bit))
11:34:21.370:   - ffmpeg_flac (FFmpeg FLAC (16-bit))
11:34:21.370:   - libfdk_aac (libfdk AAC)
11:34:21.370: ==== Startup complete ===============================================
11:34:21.397: All scene data cleared
11:34:21.397: ------------------------------------------------
11:34:21.401: pulse-input: Server name: 'PulseAudio (on PipeWire 1.2.3) 15.0.0'
11:34:21.402: pulse-input: An error occurred while getting the source info!
11:34:21.402: [Loaded global audio device]: 'Mic/Aux'
11:34:21.402:     - filter: 'Audio Move (Off)' (audio_move_filter)
11:34:21.402:     - filter: 'Audio Move (On)' (audio_move_filter)
11:34:21.402:     - filter: 'Noise Gate' (noise_gate_filter)
11:34:21.402: pulse-input: Server name: 'PulseAudio (on PipeWire 1.2.3) 15.0.0'
11:34:21.402: pulse-input: An error occurred while getting the source info!
11:34:21.404: pulse-am: Server name: 'PulseAudio (on PipeWire 1.2.3) 15.0.0'
11:34:21.404: pulse-am: Audio format: s32le, 48000 Hz, 2 channels
11:34:21.404: pulse-am: Started Monitoring in 'alsa_output.pci-0000_c4_00.6.analog-stereo'
11:34:21.404: [Loaded global audio device]: 'Mic/Aux 4'
11:34:21.404:     - monitoring: monitor and output
11:34:21.405: v4l2-input: Start capture from /dev/video0
11:34:21.405: v4l2-input: Unable to open device
11:34:21.405: v4l2-input: Initialization failed, errno: No such file or directory
11:34:21.405: Source ID 'browser_source' not found
11:34:21.405: Failed to create source 'Twitch Chat'!
11:34:21.408: [pipewire] Created stream 0x5a83119aab60
11:34:21.412: [pipewire] Created app capture sink 90 with 2 channels and position FL,FR
11:34:21.469: [pipewire] 0x5a83119aab60 Got format: rate 48000 - channels 2 - format 8
11:34:21.487: Switched to scene 'Scene'
11:34:21.487: ------------------------------------------------
11:34:21.487: Loaded scenes:
11:34:21.487: - scene 'Scene':
11:34:21.487:     - source: 'Image 2' (image_source)
11:34:21.487:     - source: 'Application Audio Capture (PipeWire)' (pipewire_audio_application_capture)
11:34:21.487:     - source: 'Game Capture' (vkcapture-source)
11:34:21.487:     - source: 'GC553' (v4l2_input)
11:34:21.487:     - source: 'Twitch Chat' (browser_source)
11:34:21.487:     - source: 'Sekai_talk' (image_source)
11:34:21.487:         - filter: 'Color Correction' (color_filter_v2)
11:34:21.487:     - source: 'Sekai_mute' (image_source)
11:34:21.487:         - filter: 'Color Correction' (color_filter_v2)
11:34:21.487:     - filter: 'Move Source' (move_source_filter)
11:34:21.487:     - filter: 'Move Source 2' (move_source_filter)
11:34:21.487: ------------------------------------------------
11:41:12.351: ==== Shutting down ==================================================
11:41:12.360: pulse-am: Stopped Monitoring in 'alsa_output.pci-0000_c4_00.6.analog-stereo'
11:41:12.360: pulse-am: Got 0 packets with 0 frames
11:41:12.367: [linux-vkcapture] destroy
11:41:12.409: All scene data cleared
11:41:12.409: ------------------------------------------------
11:41:12.472: [linux-vkcapture] plugin unloaded
11:41:12.482: [Scripting] Total detached callbacks: 0
11:41:12.482: Freeing OBS context data
11:41:12.528: == Profiler Results =============================
11:41:12.528: run_program_init: 1544.36 ms
11:41:12.528:  ┣OBSApp::AppInit: 18.812 ms
11:41:12.528:  ┃ ┗OBSApp::InitLocale: 1.294 ms
11:41:12.528:  ┗OBSApp::OBSInit: 1245.6 ms
11:41:12.528:    ┣obs_startup: 3.013 ms
11:41:12.528:    ┗OBSBasic::OBSInit: 1145.9 ms
11:41:12.528:      ┣OBSBasic::InitBasicConfig: 0.179 ms
11:41:12.528:      ┣OBSBasic::ResetAudio: 0.451 ms
11:41:12.528:      ┣OBSBasic::ResetVideo: 139.652 ms
11:41:12.528:      ┃ ┗obs_init_graphics: 136.487 ms
11:41:12.528:      ┃   ┗shader compilation: 48.636 ms
11:41:12.528:      ┣OBSBasic::InitOBSCallbacks: 0.008 ms
11:41:12.528:      ┣OBSBasic::InitHotkeys: 0.036 ms
11:41:12.529:      ┣obs_load_all_modules2: 836.263 ms
11:41:12.529:      ┃ ┣obs_init_module(decklink-captions.so): 0.001 ms
11:41:12.529:      ┃ ┣obs_init_module(decklink-output-ui.so): 0 ms
11:41:12.529:      ┃ ┣obs_init_module(decklink.so): 0.44 ms
11:41:12.529:      ┃ ┣obs_init_module(frontend-tools.so): 119.272 ms
11:41:12.529:      ┃ ┣obs_init_module(image-source.so): 0.015 ms
11:41:12.529:      ┃ ┣obs_init_module(linux-alsa.so): 0.004 ms
11:41:12.529:      ┃ ┣obs_init_module(linux-capture.so): 0.932 ms
11:41:12.529:      ┃ ┣obs_init_module(linux-jack.so): 0.004 ms
11:41:12.529:      ┃ ┣obs_init_module(linux-pipewire.so): 20.593 ms
11:41:12.529:      ┃ ┣obs_init_module(linux-pulseaudio.so): 0.028 ms
11:41:12.529:      ┃ ┣obs_init_module(linux-v4l2.so): 5.442 ms
11:41:12.529:      ┃ ┣obs_init_module(linux-vkcapture.so): 0.278 ms
11:41:12.529:      ┃ ┣obs_init_module(obs-ffmpeg.so): 55.714 ms
11:41:12.529:      ┃ ┃ ┗nvenc_check: 2.064 ms
11:41:12.529:      ┃ ┣obs_init_module(obs-filters.so): 0.041 ms
11:41:12.529:      ┃ ┣obs_init_module(obs-libfdk.so): 0.003 ms
11:41:12.529:      ┃ ┣obs_init_module(obs-outputs.so): 0.009 ms
11:41:12.529:      ┃ ┣obs_init_module(obs-qsv11.so): 41.338 ms
11:41:12.529:      ┃ ┣obs_init_module(obs-transitions.so): 0.012 ms
11:41:12.529:      ┃ ┣obs_init_module(obs-vst.so): 0.005 ms
11:41:12.529:      ┃ ┣obs_init_module(obs-webrtc.so): 0.007 ms
11:41:12.529:      ┃ ┣obs_init_module(obs-x264.so): 0.007 ms
11:41:12.529:      ┃ ┣obs_init_module(rtmp-services.so): 0.519 ms
11:41:12.529:      ┃ ┣obs_init_module(text-freetype2.so): 0.016 ms
11:41:12.529:      ┃ ┣obs_init_module(linux-pipewire-audio.so): 0.027 ms
11:41:12.529:      ┃ ┗obs_init_module(move-transition.so): 0.095 ms
11:41:12.529:      ┣OBSBasic::InitService: 1.642 ms
11:41:12.529:      ┣OBSBasic::ResetOutputs: 0.29 ms
11:41:12.529:      ┣OBSBasic::CreateHotkeys: 0.023 ms
11:41:12.529:      ┣OBSBasic::InitPrimitives: 0.057 ms
11:41:12.529:      ┗OBSBasic::Load: 120.407 ms
11:41:12.529: obs_hotkey_thread(25 ms): min=0.057 ms, median=0.234 ms, max=12.722 ms, 99th percentile=1.079 ms, 100% below 25 ms
11:41:12.529: audio_thread(Audio): min=0.011 ms, median=0.042 ms, max=0.876 ms, 99th percentile=0.222 ms
11:41:12.529: obs_graphics_thread(16.6667 ms): min=0.086 ms, median=1.289 ms, max=68.478 ms, 99th percentile=2.996 ms, 99.9919% below 16.667 ms
11:41:12.529:  ┣tick_sources: min=0 ms, median=0.04 ms, max=68.219 ms, 99th percentile=0.125 ms
11:41:12.529:  ┣output_frame: min=0.063 ms, median=0.265 ms, max=7.707 ms, 99th percentile=0.571 ms
11:41:12.529:  ┃ ┗gs_context(video->graphics): min=0.063 ms, median=0.264 ms, max=7.706 ms, 99th percentile=0.57 ms
11:41:12.529:  ┃   ┣render_video: min=0.007 ms, median=0.05 ms, max=0.311 ms, 99th percentile=0.151 ms
11:41:12.529:  ┃   ┃ ┗render_main_texture: min=0.003 ms, median=0.043 ms, max=0.293 ms, 99th percentile=0.133 ms
11:41:12.529:  ┃   ┗gs_flush: min=0.001 ms, median=0.006 ms, max=0.766 ms, 99th percentile=0.032 ms
11:41:12.529:  ┗render_displays: min=0.001 ms, median=0.943 ms, max=14.462 ms, 99th percentile=2.389 ms
11:41:12.529: =================================================
11:41:12.529: == Profiler Time Between Calls ==================
11:41:12.529: obs_hotkey_thread(25 ms): min=25.116 ms, median=25.32 ms, max=37.799 ms, 78.4152% within ±2% of 25 ms (0% lower, 21.5848% higher)
11:41:12.529: obs_graphics_thread(16.6667 ms): min=9.129 ms, median=16.667 ms, max=68.483 ms, 98.0979% within ±2% of 16.667 ms (0.959126% lower, 0.942938% higher)
11:41:12.529: =================================================
11:41:12.545: Number of memory leaks: 0

Game log (tried PAC-MAN 256 with PROTON_LOG=1 OBS_VKCAPTURE_QUIET=0 OBS_VKCAPTURE=1 %command% as launch options)

gits link

I also tried a non-steam game

OBS_VKCAPTURE_QUIET=0  OBS_VKCAPTURE=1  /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=SpaceCadetPinball com.github.k4zmu2a.spacecadetpinball

console output

Game version: 2.1.0
Command line: 
Compiled with: SDL 2.28.5; SDL_mixer 2.6.3; ImGui 1.89.2 WIP HW
Using SDL renderer: opengl
Loading game from: /app/bin/PINBALL.DAT
SDL Error: Couldn't open timidity.cfg

Both games won't be detected by the OBS plugin.

vulkaninfo

❯ vulkaninfo | grep dma
        VK_EXT_external_memory_dma_buf                : extension revision 1
        VK_EXT_external_memory_dma_buf                : extension revision 1

The log was captured in KDE X11 session, but I'm getting the same issue in Wayland as well.

Is there anything else I should check?

nowrep commented 1 month ago

PAC-MAN 256 is 32-bit game, and the pinball probably too. You need to also install 32-bit vkcapture.

fsworld009 commented 1 month ago

Thanks, appreciate your quick response. PAC-MAN 256 is working after installing AUR lib32-obs-vkcapture.

For the pinball game it still doesn't work, although that was just a quick test to see if the issue is specific to Steam or not so I'm fine with it for now.

nowrep commented 1 month ago

For capturing flatpak apps you need to install vkcapture flatpak, please se README.