fzwoch / obs-vaapi

OBS Studio VAAPI support via GStreamer
GNU General Public License v2.0
118 stars 3 forks source link

Unable to select preferred hardware encoding method with additional Nvidia GPU installed #18

Closed wieto closed 10 months ago

wieto commented 10 months ago

I use Arch linux. I have an AMD RX 5700 XT and Nvidia GTX 1070 installed. I use the AMD card as my primary and the Nvidia card is only used for a win10 virtual machine.

With this setup I'm only seeing NVENC options for hardware encoding in OBS. If I start recording with NVENC, obs crashes. Not really surprised by this. I'm however unable to figure out why I can't use this plugin with my AMD card regardless.

screenshot ![obs-vaapi](https://github.com/fzwoch/obs-vaapi/assets/101867402/e8e15c60-6df2-4024-9a41-5c448dbb5300)
lspci -k | grep -A 2 -E "(VGA|3D)" ``` 0b:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] (rev c1) Subsystem: Micro-Star International Co., Ltd. [MSI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] Kernel driver in use: amdgpu -- 0c:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1) Subsystem: ASUSTeK Computer Inc. GP104 [GeForce GTX 1070] Kernel driver in use: vfio-pci ```
obs log.txt ``` 07:26:32.743: Using EGL/X11 07:26:32.744: CPU Name: AMD Ryzen 7 2700X Eight-Core Processor 07:26:32.744: CPU Speed: 2199.156MHz 07:26:32.745: Physical Cores: 8, Logical Cores: 16 07:26:32.745: Physical Memory: 32007MB Total, 1318MB Free 07:26:32.745: Kernel Version: Linux 6.5.7-273-tkg-pds 07:26:32.745: Distribution: "Arch Linux" Unknown 07:26:32.745: Desktop Environment: KDE (KDE) 07:26:32.745: Session Type: x11 07:26:32.745: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1 07:26:32.746: Qt Version: 6.6.0 (runtime), 6.5.1 (compiled) 07:26:32.746: Portable mode: false 07:26:32.805: OBS 29.1.3-1 (linux) 07:26:32.805: --------------------------------- 07:26:32.806: --------------------------------- 07:26:32.806: audio settings reset: 07:26:32.806: samples per sec: 48000 07:26:32.806: speakers: 2 07:26:32.806: max buffering: 960 milliseconds 07:26:32.806: buffering type: dynamically increasing 07:26:32.808: --------------------------------- 07:26:32.808: Initializing OpenGL... 07:26:32.914: Loading up OpenGL on adapter AMD AMD Radeon RX 5700 XT (navi10, LLVM 16.0.6, DRM 3.54, 6.5.7-273-tkg-pds) 07:26:32.914: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.2.1-arch1.2, shading language 4.60 07:26:32.971: --------------------------------- 07:26:32.971: video settings reset: 07:26:32.971: base resolution: 2560x1440 07:26:32.971: output resolution: 1920x1080 07:26:32.971: downscale filter: Bicubic 07:26:32.971: fps: 60/1 07:26:32.971: format: NV12 07:26:32.971: YUV mode: Rec. 709/Partial 07:26:32.971: NV12 texture support not available 07:26:32.971: P010 texture support not available 07:26:32.975: Audio monitoring device: 07:26:32.975: name: Default 07:26:32.975: id: default 07:26:32.975: --------------------------------- 07:26:32.989: Failed to load 'en-US' text for module: 'decklink-captions.so' 07:26:33.002: Failed to load 'en-US' text for module: 'decklink-output-ui.so' 07:26:33.015: A DeckLink iterator could not be created. The DeckLink drivers may not be installed 07:26:33.015: Failed to initialize module 'decklink.so' 07:26:33.174: Failed to load 'en-US' text for module: 'liblooking-glass-obs.so' 07:26:33.238: [pipewire] Available captures: 07:26:33.238: [pipewire] - Desktop capture 07:26:33.238: [pipewire] - Window capture 07:26:33.276: v4l2loopback not installed, virtual camera disabled 07:26:33.304: NVENC supported 07:26:33.319: VAAPI: API version 1.20 07:26:33.323: FFmpeg VAAPI H264 encoding supported 07:26:33.336: FFmpeg VAAPI HEVC encoding supported 07:26:33.482: [obs-vaapi] version: 0.4.0, gst-runtime: 1.22.6 07:26:33.492: [obs-vaapi] found vah265enc 07:26:33.492: [obs-vaapi] found vah264enc 07:26:33.492: [obs-vaapi] found vaapih264enc 07:26:33.492: [obs-vaapi] found vaapih265enc 07:26:33.492: --------------------------------- 07:26:33.492: Loaded Modules: 07:26:33.492: obs-vaapi.so 07:26:33.492: text-freetype2.so 07:26:33.492: rtmp-services.so 07:26:33.492: obs-x264.so 07:26:33.492: obs-vst.so 07:26:33.492: obs-transitions.so 07:26:33.492: obs-outputs.so 07:26:33.492: obs-libfdk.so 07:26:33.492: obs-filters.so 07:26:33.492: obs-ffmpeg.so 07:26:33.493: linux-v4l2.so 07:26:33.493: linux-pulseaudio.so 07:26:33.493: linux-pipewire.so 07:26:33.493: linux-jack.so 07:26:33.493: linux-capture.so 07:26:33.493: linux-alsa.so 07:26:33.493: liblooking-glass-obs.so 07:26:33.493: image-source.so 07:26:33.493: frontend-tools.so 07:26:33.493: decklink-output-ui.so 07:26:33.493: decklink-captions.so 07:26:33.493: --------------------------------- 07:26:33.493: ==== Startup complete =============================================== 07:26:33.532: All scene data cleared 07:26:33.532: ------------------------------------------------ 07:26:33.537: pulse-input: Server name: 'PulseAudio (on PipeWire 0.3.82) 15.0.0' 07:26:33.537: pulse-input: Audio format: s16le, 48000 Hz, 2 channels 07:26:33.537: pulse-input: Started recording from 'alsa_output.usb-Kingston_HyperX_Cloud_II_Wireless_000000000001-00.analog-stereo.monitor' (default) 07:26:33.537: [Loaded global audio device]: 'Desktop Audio' 07:26:33.539: [window-capture: 'Window Capture (Xcomposite)'] update settings: 07:26:33.539: title: unknown 07:26:33.539: class: unknown 07:26:33.539: 07:26:33.540: Switched to scene 'Scene' 07:26:33.540: ------------------------------------------------ 07:26:33.540: Loaded scenes: 07:26:33.540: - scene 'Scene': 07:26:33.540: - source: 'Window Capture (Xcomposite)' (xcomposite_input) 07:26:33.540: ------------------------------------------------ 07:26:34.107: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Desktop Audio) 07:26:34.107: 07:31:28.826: ==== Shutting down ================================================== 07:31:28.831: pulse-input: Stopped recording from 'alsa_output.usb-Kingston_HyperX_Cloud_II_Wireless_000000000001-00.analog-stereo.monitor' 07:31:28.831: pulse-input: Got 11810 packets with 14172000 frames 07:31:28.850: All scene data cleared 07:31:28.850: ------------------------------------------------ 07:31:28.945: [Scripting] Total detached callbacks: 0 07:31:28.945: Freeing OBS context data 07:31:28.961: == Profiler Results ============================= 07:31:28.961: run_program_init: 958.777 ms 07:31:28.961: ┣OBSApp::AppInit: 8.342 ms 07:31:28.961: ┃ ┗OBSApp::InitLocale: 1.33 ms 07:31:28.961: ┗OBSApp::OBSInit: 890.946 ms 07:31:28.961: ┣obs_startup: 2.538 ms 07:31:28.961: ┗OBSBasic::OBSInit: 828.932 ms 07:31:28.961: ┣OBSBasic::InitBasicConfig: 0.186 ms 07:31:28.961: ┣OBSBasic::ResetAudio: 0.453 ms 07:31:28.961: ┣OBSBasic::ResetVideo: 168.645 ms 07:31:28.961: ┣OBSBasic::InitOBSCallbacks: 0.006 ms 07:31:28.961: ┣OBSBasic::InitHotkeys: 0.034 ms 07:31:28.962: ┣obs_load_all_modules2: 517.334 ms 07:31:28.962: ┃ ┣obs_init_module(decklink-captions.so): 0 ms 07:31:28.962: ┃ ┣obs_init_module(decklink-output-ui.so): 0 ms 07:31:28.962: ┃ ┣obs_init_module(decklink.so): 0.223 ms 07:31:28.962: ┃ ┣obs_init_module(frontend-tools.so): 118.077 ms 07:31:28.962: ┃ ┣obs_init_module(image-source.so): 0.011 ms 07:31:28.962: ┃ ┣obs_init_module(liblooking-glass-obs.so): 0.015 ms 07:31:28.962: ┃ ┣obs_init_module(linux-alsa.so): 0.003 ms 07:31:28.962: ┃ ┣obs_init_module(linux-capture.so): 0.647 ms 07:31:28.962: ┃ ┣obs_init_module(linux-jack.so): 0.004 ms 07:31:28.962: ┃ ┣obs_init_module(linux-pipewire.so): 1.774 ms 07:31:28.962: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.008 ms 07:31:28.962: ┃ ┣obs_init_module(linux-v4l2.so): 7.968 ms 07:31:28.962: ┃ ┣obs_init_module(obs-ffmpeg.so): 33.164 ms 07:31:28.962: ┃ ┃ ┗nvenc_check: 1.09 ms 07:31:28.962: ┃ ┣obs_init_module(obs-filters.so): 0.041 ms 07:31:28.962: ┃ ┣obs_init_module(obs-libfdk.so): 0.003 ms 07:31:28.962: ┃ ┣obs_init_module(obs-outputs.so): 0.005 ms 07:31:28.962: ┃ ┣obs_init_module(obs-transitions.so): 0.016 ms 07:31:28.962: ┃ ┣obs_init_module(obs-vst.so): 0.007 ms 07:31:28.962: ┃ ┣obs_init_module(obs-x264.so): 0.003 ms 07:31:28.962: ┃ ┣obs_init_module(rtmp-services.so): 1.056 ms 07:31:28.962: ┃ ┣obs_init_module(text-freetype2.so): 0.016 ms 07:31:28.962: ┃ ┗obs_init_module(obs-vaapi.so): 9.984 ms 07:31:28.962: ┣OBSBasic::InitService: 1.648 ms 07:31:28.962: ┣OBSBasic::ResetOutputs: 0.262 ms 07:31:28.962: ┣OBSBasic::CreateHotkeys: 0.027 ms 07:31:28.962: ┣OBSBasic::InitPrimitives: 0.113 ms 07:31:28.962: ┗OBSBasic::Load: 45.829 ms 07:31:28.962: obs_hotkey_thread(25 ms): min=0.092 ms, median=0.128 ms, max=36.238 ms, 99th percentile=0.381 ms, 99.9744% below 25 ms 07:31:28.962: audio_thread(Audio): min=0.012 ms, median=0.036 ms, max=0.367 ms, 99th percentile=0.053 ms 07:31:28.962: obs_graphics_thread(16.6667 ms): min=0.125 ms, median=0.538 ms, max=36.904 ms, 99th percentile=1.37 ms, 99.9268% below 16.667 ms 07:31:28.962: ┣tick_sources: min=0 ms, median=0.061 ms, max=31.115 ms, 99th percentile=0.856 ms 07:31:28.962: ┣output_frame: min=0.075 ms, median=0.126 ms, max=5.405 ms, 99th percentile=0.179 ms 07:31:28.962: ┃ ┗gs_context(video->graphics): min=0.074 ms, median=0.125 ms, max=5.396 ms, 99th percentile=0.178 ms 07:31:28.962: ┃ ┣render_video: min=0.011 ms, median=0.029 ms, max=0.095 ms, 99th percentile=0.039 ms 07:31:28.962: ┃ ┃ ┗render_main_texture: min=0.009 ms, median=0.025 ms, max=0.08 ms, 99th percentile=0.033 ms 07:31:28.962: ┃ ┗gs_flush: min=0.002 ms, median=0.003 ms, max=0.112 ms, 99th percentile=0.007 ms 07:31:28.962: ┗render_displays: min=0.003 ms, median=0.323 ms, max=35.395 ms, 99th percentile=0.562 ms 07:31:28.962: ================================================= 07:31:28.962: == Profiler Time Between Calls ================== 07:31:28.963: obs_hotkey_thread(25 ms): min=25.117 ms, median=25.194 ms, max=61.305 ms, 99.054% within ±2% of 25 ms (0% lower, 0.94605% higher) 07:31:28.963: obs_graphics_thread(16.6667 ms): min=1.018 ms, median=16.667 ms, max=36.916 ms, 99.7916% within ±2% of 16.667 ms (0.107018% lower, 0.101386% higher) 07:31:28.963: ================================================= 07:31:28.972: Number of memory leaks: 0 ```
wieto commented 10 months ago

I am stupid. My fix was to enable "Output Mode" > "Advanced".