| Summary: | OBS shows an encoding error using NVENC with NVIDIA GTX 1060 under Wayland with pipewire | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Juan <juanrollgamer123456789> |
| Component: | screencasting | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | normal | CC: | nate, xaver.hugl |
| Priority: | NOR | ||
| Version First Reported In: | master | ||
| Target Milestone: | --- | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Nvidia bug report | ||
Also reported the bug on NVIDIA forums: https://forums.developer.nvidia.com/t/obs-doesnt-work-on-nvidia-drivers-555-using-a-gtx-1060-3gb-under-wayland/296529 Can you post the obs logs when running on plasma 6.0.5? (In reply to Vlad Zahorodnii from comment #2) > Can you post the obs logs when running on plasma 6.0.5? Sure thing https://drive.google.com/file/d/1icUyeadIURs-BnMbc9TyANr-W8yhGFh5/view?usp=sharing This is in 6.1.0
16:09:02.579: ---------------------------------
16:09:02.580: [FFmpeg NVENC encoder: 'simple_video_recording'] settings:
16:09:02.580: encoder: NVIDIA NVENC H.264 (FFmpeg)
16:09:02.580: rate_control: CQP
16:09:02.580: bitrate: 0
16:09:02.580: cqp: 23
16:09:02.580: keyint: -1
16:09:02.580: preset: p5
16:09:02.580: tuning: hq
16:09:02.580: multipass: qres
16:09:02.580: profile: high
16:09:02.580: width: 1920
16:09:02.580: height: 1080
16:09:02.580: b-frames: 2
16:09:02.580: psycho-aq: 1
16:09:02.580: GPU: 0
16:09:02.580:
16:09:02.967: [NVENC encoder] nvenc_create_internal failed, trying again without Psycho Visual Tuning
16:09:02.967: ---------------------------------
16:09:02.968: [FFmpeg NVENC encoder: 'simple_video_recording'] settings:
16:09:02.968: encoder: NVIDIA NVENC H.264 (FFmpeg)
16:09:02.968: rate_control: CQP
16:09:02.968: bitrate: 0
16:09:02.968: cqp: 23
16:09:02.968: keyint: -1
16:09:02.968: preset: p5
16:09:02.968: tuning: hq
16:09:02.968: multipass: qres
16:09:02.968: profile: high
16:09:02.968: width: 1920
16:09:02.968: height: 1080
16:09:02.968: b-frames: 2
16:09:02.968: psycho-aq: 0
16:09:02.968: GPU: 0
16:09:02.968:
16:09:03.094: libfdk_aac encoder created
16:09:03.094: libfdk_aac bitrate: 192, channels: 2
16:09:03.124: ==== Recording Start ===============================================
16:09:03.124: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/juan/Videos/OBS/2024-06-14_16-09-02.mkv'...
16:09:04.842: OpenType support missing for "Open Sans", script 11
16:09:04.852: OpenType support missing for "Open Sans", script 12
16:09:04.857: OpenType support missing for "Open Sans", script 16
16:09:04.861: OpenType support missing for "Open Sans", script 20
16:09:24.975: [NVIDIA NVENC H.264 (FFmpeg) encoder: 'simple_video_recording'] Encoding queue duration surpassed 5 seconds, terminating encoder
16:09:24.975: Error encoding with encoder 'simple_video_recording'
16:09:24.979: [ffmpeg muxer: 'simple_file_output'] Output of file '/home/juan/Videos/OBS/2024-06-14_16-09-02.mkv' stopped
This is in 6.0.5
info: [pipewire] Stream 0x5c4d3d65cea0 state: "streaming" (error: none)
info: ---------------------------------
info: [FFmpeg NVENC encoder: 'advanced_video_recording'] settings:
encoder: NVIDIA NVENC H.264 (FFmpeg)
rate_control: CBR
bitrate: 2500
cqp: 0
keyint: -1
preset: p5
tuning: hq
multipass: qres
profile: high
width: 1920
height: 1080
b-frames: 2
psycho-aq: 1
GPU: 0
info: ---------------------------------
info: [FFmpeg aac encoder: 'Track1'] bitrate: 160, channels: 2, channel_layout: stereo
info: ==== Recording Start ===============================================
info: [ffmpeg muxer: 'adv_file_output'] Writing file '/home/juan/Videos/OBS/2024-06-19 23-08-06.mp4'...
info: [ffmpeg muxer: 'adv_file_output'] Output of file '/home/juan/Videos/OBS/2024-06-19 23-08-06.mp4' stopped
info: Output 'adv_file_output': stopping
info: Output 'adv_file_output': Total frames output: 958
info: Output 'adv_file_output': Total drawn frames: 968
info: ==== Recording Stop ================================================
[aac @ 0x5c4d3d8a6bc0] Qavg: 65536.000
[aac @ 0x5c4d3d8a6bc0] 2 frames left in the queue on closing
it looks like different encoders are used, no idea why. The negotiated dmabuf modifier is the same in both cases.
i also didn't change any settings between the two. After getting errors on Plasma 6.0.90/6.1 i went directly downgraded Arch packages and went back to 6.0.5 to try again. I don't know the reason for this... Does this still happen for you with Plasma 6.4 and the latest NVidia drivers? ๐๐งน โ ๏ธ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME. For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging. Thank you for helping us make KDE software even better for everyone! ๐๐งน This bug has been in NEEDSINFO status with no change for at least 30 days. Closing as RESOLVED WORKSFORME. |
Created attachment 170541 [details] Nvidia bug report STEPS TO REPRODUCE 1. Use NVIDIA drivers 555 from the AUR 2. Use plasma 6.0.90 from the official Arch repositories 3. Use Arch extra repo's OBS package with all optional dependencies and try to record using NVENC as the preferred encoder OBSERVED RESULT When trying to record the full screen with NVIDIA graphics under wayland on Plasma 6.0.90 there is an error that happens when minimizing OBS to the background while recording, the logs of OBS when running through Konsole say: 16:06:56.608: Platform: Wayland 16:06:56.608: CPU Name: Intel(R) Core(TM) i5-4670K CPU @ 3.40GHz 16:06:56.608: CPU Speed: 3781.607MHz 16:06:56.608: Physical Cores: 4, Logical Cores: 4 16:06:56.608: Physical Memory: 11708MB Total, 3290MB Free 16:06:56.608: Kernel Version: Linux 6.9.3-273-tkg-bmq 16:06:56.608: Distribution: "Arch Linux" Unknown 16:06:56.608: Desktop Environment: KDE (KDE) 16:06:56.608: Session Type: wayland 16:06:56.611: Qt Version: 6.8.0 (runtime), 6.7.0 (compiled) 16:06:56.611: Portable mode: false 16:06:56.653: OBS 30.1.2-1 (linux) 16:06:56.653: --------------------------------- 16:06:56.653: --------------------------------- 16:06:56.653: audio settings reset: 16:06:56.653: samples per sec: 48000 16:06:56.653: speakers: 2 16:06:56.653: max buffering: 960 milliseconds 16:06:56.653: buffering type: dynamically increasing 16:06:56.655: --------------------------------- 16:06:56.655: Initializing OpenGL... 16:06:56.655: Using EGL/Wayland 16:06:56.655: Initialized EGL 1.5 16:06:56.661: Loading up OpenGL on adapter NVIDIA Corporation NVIDIA GeForce GTX 1060 3GB/PCIe/SSE2 16:06:56.661: OpenGL loaded successfully, version 3.3.0 NVIDIA 555.52.04, shading language 3.30 NVIDIA via Cg compiler 16:06:56.688: --------------------------------- 16:06:56.688: video settings reset: 16:06:56.688: base resolution: 1920x1080 16:06:56.688: output resolution: 1920x1080 16:06:56.688: downscale filter: Bicubic 16:06:56.688: fps: 60/1 16:06:56.688: format: NV12 16:06:56.688: YUV mode: sRGB/Full 16:06:56.689: NV12 texture support enabled 16:06:56.689: P010 texture support not available 16:06:56.690: Audio monitoring device: 16:06:56.690: name: Default 16:06:56.690: id: default 16:06:56.690: --------------------------------- 16:06:56.698: Failed to load 'en-US' text for module: 'decklink-captions.so' 16:06:56.706: Failed to load 'en-US' text for module: 'decklink-output-ui.so' 16:06:56.714: A DeckLink iterator could not be created. The DeckLink drivers may not be installed 16:06:56.714: Failed to initialize module 'decklink.so' 16:06:56.812: [pipewire] Available captures: 16:06:56.812: [pipewire] - Desktop capture 16:06:56.812: [pipewire] - Window capture 16:06:56.837: v4l2loopback not installed, virtual camera disabled 16:06:56.891: NVENC supported 16:06:56.993: VAAPI: API version 1.21 16:06:57.029: FFmpeg VAAPI H264 encoding supported 16:06:57.134: FFmpeg VAAPI AV1 encoding supported 16:06:57.237: FFmpeg VAAPI HEVC encoding supported 16:06:57.649: --------------------------------- 16:06:57.649: Loaded Modules: 16:06:57.649: text-freetype2.so 16:06:57.649: rtmp-services.so 16:06:57.649: obs-x264.so 16:06:57.649: obs-webrtc.so 16:06:57.650: obs-vst.so 16:06:57.650: obs-transitions.so 16:06:57.650: obs-qsv11.so 16:06:57.650: obs-outputs.so 16:06:57.650: obs-libfdk.so 16:06:57.650: obs-filters.so 16:06:57.650: obs-ffmpeg.so 16:06:57.650: linux-v4l2.so 16:06:57.650: linux-pulseaudio.so 16:06:57.650: linux-pipewire.so 16:06:57.650: linux-jack.so 16:06:57.650: linux-capture.so 16:06:57.650: linux-alsa.so 16:06:57.650: image-source.so 16:06:57.650: frontend-tools.so 16:06:57.650: decklink-output-ui.so 16:06:57.650: decklink-captions.so 16:06:57.650: --------------------------------- 16:06:57.650: ==== Startup complete =============================================== 16:06:57.678: All scene data cleared 16:06:57.678: ------------------------------------------------ 16:06:57.686: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.7) 15.0.0' 16:06:57.686: pulse-input: Audio format: s32le, 48000 Hz, 2 channels 16:06:57.686: pulse-input: Started recording from 'alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor' (default) 16:06:57.686: [Loaded global audio device]: 'Desktop Audio' 16:06:57.687: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.7) 15.0.0' 16:06:57.687: pulse-input: Audio format: s32le, 48000 Hz, 2 channels 16:06:57.687: pulse-input: Started recording from 'alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor' (default) 16:06:57.687: [Loaded global audio device]: 'Mic/Aux' 16:06:57.687: PipeWire initialized 16:06:57.689: Switched to scene 'Scene' 16:06:57.689: ------------------------------------------------ 16:06:57.689: Loaded scenes: 16:06:57.689: - scene 'Scene': 16:06:57.689: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) 16:06:57.689: ------------------------------------------------ 16:06:57.783: [pipewire] Screencast session created 16:06:57.831: [pipewire] Asking for desktop 16:06:58.254: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio) 16:06:58.254: 16:06:58.574: adding 64 milliseconds of audio buffering, total audio buffering is now 85 milliseconds (source: Mic/Aux) 16:06:58.574: 16:06:59.037: [pipewire] desktop selected, setting up screencast 16:06:59.041: [pipewire] Server version: 1.0.7 16:06:59.041: [pipewire] Library version: 1.0.7 16:06:59.041: [pipewire] Header version: 1.0.5 16:06:59.045: [pipewire] Created stream 0x63d00987f270 16:06:59.046: [pipewire] Stream 0x63d00987f270 state: "connecting" (error: none) 16:06:59.046: [pipewire] Playing stream 0x63d00987f270 16:06:59.047: [pipewire] Stream 0x63d00987f270 state: "paused" (error: none) 16:06:59.056: [pipewire] Negotiated format: 16:06:59.056: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA) 16:06:59.056: [pipewire] Modifier: 0x0 16:06:59.056: [pipewire] Size: 1920x1080 16:06:59.056: [pipewire] Framerate: 0/1 16:06:59.056: [pipewire] Negotiated format: 16:06:59.056: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA) 16:06:59.056: [pipewire] Modifier: 0x3000000004fe014 16:06:59.056: [pipewire] Size: 1920x1080 16:06:59.056: [pipewire] Framerate: 0/1 16:06:59.058: [pipewire] Stream 0x63d00987f270 state: "streaming" (error: none) 16:09:02.579: --------------------------------- 16:09:02.580: [FFmpeg NVENC encoder: 'simple_video_recording'] settings: 16:09:02.580: encoder: NVIDIA NVENC H.264 (FFmpeg) 16:09:02.580: rate_control: CQP 16:09:02.580: bitrate: 0 16:09:02.580: cqp: 23 16:09:02.580: keyint: -1 16:09:02.580: preset: p5 16:09:02.580: tuning: hq 16:09:02.580: multipass: qres 16:09:02.580: profile: high 16:09:02.580: width: 1920 16:09:02.580: height: 1080 16:09:02.580: b-frames: 2 16:09:02.580: psycho-aq: 1 16:09:02.580: GPU: 0 16:09:02.580: 16:09:02.967: [NVENC encoder] nvenc_create_internal failed, trying again without Psycho Visual Tuning 16:09:02.967: --------------------------------- 16:09:02.968: [FFmpeg NVENC encoder: 'simple_video_recording'] settings: 16:09:02.968: encoder: NVIDIA NVENC H.264 (FFmpeg) 16:09:02.968: rate_control: CQP 16:09:02.968: bitrate: 0 16:09:02.968: cqp: 23 16:09:02.968: keyint: -1 16:09:02.968: preset: p5 16:09:02.968: tuning: hq 16:09:02.968: multipass: qres 16:09:02.968: profile: high 16:09:02.968: width: 1920 16:09:02.968: height: 1080 16:09:02.968: b-frames: 2 16:09:02.968: psycho-aq: 0 16:09:02.968: GPU: 0 16:09:02.968: 16:09:03.094: libfdk_aac encoder created 16:09:03.094: libfdk_aac bitrate: 192, channels: 2 16:09:03.124: ==== Recording Start =============================================== 16:09:03.124: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/juan/Videos/OBS/2024-06-14_16-09-02.mkv'... 16:09:04.842: OpenType support missing for "Open Sans", script 11 16:09:04.852: OpenType support missing for "Open Sans", script 12 16:09:04.857: OpenType support missing for "Open Sans", script 16 16:09:04.861: OpenType support missing for "Open Sans", script 20 16:09:24.975: [NVIDIA NVENC H.264 (FFmpeg) encoder: 'simple_video_recording'] Encoding queue duration surpassed 5 seconds, terminating encoder 16:09:24.975: Error encoding with encoder 'simple_video_recording' 16:09:24.979: [ffmpeg muxer: 'simple_file_output'] Output of file '/home/juan/Videos/OBS/2024-06-14_16-09-02.mkv' stopped 16:09:24.979: Output 'simple_file_output': stopping 16:09:24.979: Output 'simple_file_output': Total frames output: 529 16:09:24.979: Output 'simple_file_output': Total drawn frames: 389 (1311 attempted) 16:09:24.979: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 922 (70.3%) 16:09:24.979: Video stopped, number of skipped frames due to encoding lag: 12/539 (2.2%) 16:09:24.979: ==== Recording Stop ================================================ 16:09:25.084: libfdk_aac encoder destroyed 16:09:37.560: --------------------------------- 16:09:37.561: [FFmpeg NVENC encoder: 'simple_video_recording'] settings: 16:09:37.561: encoder: NVIDIA NVENC H.264 (FFmpeg) 16:09:37.561: rate_control: CQP 16:09:37.561: bitrate: 0 16:09:37.561: cqp: 23 16:09:37.561: keyint: -1 16:09:37.561: preset: p5 16:09:37.561: tuning: hq 16:09:37.561: multipass: qres 16:09:37.561: profile: high 16:09:37.561: width: 1920 16:09:37.561: height: 1080 16:09:37.561: b-frames: 2 16:09:37.561: psycho-aq: 1 16:09:37.561: GPU: 0 16:09:37.561: 16:09:37.699: libfdk_aac encoder created 16:09:37.699: libfdk_aac bitrate: 192, channels: 2 16:09:37.701: ==== Recording Start =============================================== 16:09:37.701: [ffmpeg muxer: 'simple_file_output'] Writing file '/home/juan/Videos/OBS/2024-06-14_16-09-37.mkv'... 16:12:01.199: ==== Shutting down ================================================== 16:12:01.225: [pipewire] Stream 0x63d00987f270 state: "paused" (error: none) 16:12:01.226: pulse-input: Stopped recording from 'alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor' 16:12:01.226: pulse-input: Got 12141 packets with 14569200 frames 16:12:01.226: pulse-input: Stopped recording from 'alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor' 16:12:01.226: pulse-input: Got 12136 packets with 14563200 frames 16:12:01.226: [pipewire] Stream 0x63d00987f270 state: "unconnected" (error: none) 16:12:01.237: All scene data cleared 16:12:01.250: ------------------------------------------------ EXPECTED RESULT Proper functioning of OBS while recording full screen using Pipewire even though OBS is in the background/minimized SOFTWARE/OS VERSIONS Linux/KDE Plasma: Arch 6.9.3 (available in About System) KDE Plasma Version: 6.0.90 KDE Frameworks Version: 6.2.0 Qt Version: 6.7.0 ADDITIONAL INFORMATION Using plasma 6.0.5 doesn't give any errors and records normally I'll also attach the NVIDIA bug report if necessary