[Bug Report] Disconnects when Frame Pacing enabled on Flatpak with NVIDIA

Author: MkeefeusCreated Dec 30, 2025Updated Sep 1, 2026

Describe the bug When streaming from a Windows Host using Apollo or Sunshine to a Fedora Linux machine running Flatpak moonlight with Frame Pacing enabled, the stream randomly disconnects.

Upon some investigation, I found this error in the terminal output "wp_linux_drm_syncobj_surface_v1#55: error 5: explicit sync is used, but no release point is set"

A bit of googling points to this being specifically an issue relating to the proprietary NVIDIA driver and Wayland, and I see some reports of a similar bug in other projects.

https://github.com/wezterm/wezterm/issues/6645 https://github.com/NVIDIA/egl-wayland/issues/149

It seems to be a bug being tracked internally by NVIDIA (assuming this person actually works there), but felt it warranted reporting.

Steps to reproduce Enable Frame Pacing on Flatpak version using NVIDIA GPU

Client PC details (please complete the following information)

  • OS: Fedora 43
  • Moonlight Version: 6.1.0
  • GPU: NVIDIA GTX 1660 6GB
  • GPU Driver: 580.119.02
  • Linux package type (if applicable): Flatpak

Server PC details (please complete the following information)

  • OS: Windows 11 25H2
  • Sunshine or GeForce Experience version: Apollo 0.4.6, also experienced on Sunshine 2025.924.154138
  • GPU: AMD Radeon 9070 XT
  • GPU driver: 25.12.1

Moonlight Logs (please attach) 00:11:30 - Qt Info: Found matching interface: "enp0s31f6" "4C:CC:6A:BB:98:99" QFlagsQNetworkInterface::InterfaceFlag(IsUp|IsRunning|CanBroadcast|CanMulticast) 00:11:30 - Qt Info: Interface Type: QNetworkInterface::Ethernet 00:11:30 - Qt Info: Interface MTU: 1500 00:11:30 - SDL Info (0): RTSP port: 48010 00:11:30 - SDL Info (0): Initializing platform... 00:11:30 - SDL Info (0): done 00:11:30 - SDL Info (0): Resolving host name... 00:11:30 - SDL Info (0): done 00:11:30 - SDL Info (0): Initializing audio stream... 00:11:30 - SDL Info (0): done 00:11:30 - SDL Info (0): Starting RTSP handshake... 00:11:30 - SDL Info (0): Reference frame invalidation is not supported by this host 00:11:30 - SDL Info (0): Audio port: 48000 00:11:30 - SDL Info (0): Video port: 47998 00:11:30 - SDL Info (0): Control port: 47999 00:11:30 - SDL Info (0): done 00:11:30 - SDL Info (0): Initializing control stream... 00:11:30 - SDL Info (0): done 00:11:30 - SDL Info (0): Initializing video stream... 00:11:30 - SDL Info (0): done 00:11:30 - SDL Info (0): Initializing input stream... 00:11:30 - SDL Info (0): done 00:11:30 - SDL Info (0): Starting control stream... 00:11:30 - SDL Info (0): done 00:11:30 - SDL Info (0): Starting video stream... 00:11:30 - SDL Info (0): Video stream is 2560x1440x144 (format 0x100) 00:11:30 - SDL Info (0): done 00:11:30 - SDL Info (0): Starting audio stream... 00:11:30 - SDL Info (0): Desired audio buffer: 720 samples (5760 bytes) 00:11:30 - SDL Info (0): Obtained audio buffer: 720 samples (5760 bytes) 00:11:30 - SDL Info (0): SDL audio driver: pulseaudio 00:11:30 - SDL Info (0): Audio stream has 2 channels 00:11:30 - SDL Info (0): done 00:11:30 - SDL Info (0): Starting input stream... 00:11:30 - SDL Info (0): done 00:11:30 - SDL Info (0): Qt UI screen is at (1920,0) 00:11:30 - SDL Info (0): SDL found matching display 2 00:11:30 - SDL Warn (0): No matching display mode found; using desktop mode 00:11:30 - SDL Warn (0): Joystick discovered with no mapping: Keychron Link 03001eea3434000030d0000011010000 00:11:30 - SDL Info (0): Received first video packet after 100 ms 00:11:30 - SDL Warn (0): Number of axes: 6 | Number of buttons: 16 | Number of hats: 0 00:11:30 - SDL Info (0): Recreating renderer for window event: 1 (0 0) 00:11:30 - SDL Info (0): V-sync enabled libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/intel-vaapi-driver/nvidia_drv_video.so libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia-vaapi-driver/nvidia_drv_video.so libva info: Found init function __vaDriverInit_1_0 00:11:30 - SDL Info (0): Video decode unit queue overflow 00:11:30 - SDL Info (0): IDR frame request sent 00:11:30 - SDL Info (0): Waiting for IDR frame 00:11:30 - SDL Info (0): Video decode unit queue overflow 00:11:30 - SDL Info (0): IDR frame request sent 00:11:30 - SDL Info (0): Waiting for IDR frame libva info: va_openDriver() returns 0 00:11:30 - SDL Info (0): Initialized VAAPI 1.22 00:11:30 - SDL Info (0): Driver: VA-API NVDEC driver [direct backend] 00:11:30 - FFmpeg: [VAAPI @ 0x7f0de58b46c0] Format 0x3231564e -> nv12. 00:11:30 - FFmpeg: [VAAPI @ 0x7f0de58b46c0] Format 0x30313050 -> p010le. 00:11:30 - FFmpeg: [VAAPI @ 0x7f0de58b46c0] Format 0x32313050 -> p012le. 00:11:30 - FFmpeg: [VAAPI @ 0x7f0de58b46c0] Format 0x36313050 -> unknown. 00:11:30 - FFmpeg: [VAAPI @ 0x7f0de58b46c0] Format 0x50343434 -> yuv444p. 00:11:30 - FFmpeg: [VAAPI @ 0x7f0de58b46c0] Format 0x36313451 -> unknown. 00:11:30 - FFmpeg: [VAAPI @ 0x7f0de58b46c0] VAAPI driver: VA-API NVDEC driver [direct backend]. 00:11:30 - FFmpeg: [VAAPI @ 0x7f0de58b46c0] Driver not found in known nonstandard list, using standard behaviour. 00:11:30 - SDL Error (0): vaExportSurfaceHandle() failed: 6 00:11:30 - SDL Info (0): VAAPI driver supports exporting DRM PRIME surface handles with separate layers 00:11:30 - SDL Info (0): Color buffer is: R8G8B8A0 00:11:30 - SDL Error (0): vaExportSurfaceHandle() failed: 6 00:11:30 - SDL Info (0): Exporting separate layers due to lack of support for VA_EXPORT_SURFACE_COMPOSED_LAYERS 00:11:30 - SDL Info (0): VAAPI driver supports exporting DRM PRIME surface handles with separate layers 00:11:30 - SDL Info (0): EGL passed preflight checks. Using EGL for GL context creation. 00:11:30 - SDL Info (0): Using VAAPI accelerated renderer on wayland 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] nal_unit_type: 21(CRA_NUT), nuh_layer_id: 0, temporal_id: 0 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Decoding VPS 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Main profile bitstream 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Decoding SPS 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Main profile bitstream 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Decoding VUI 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Decoding PPS 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Format vaapi chosen by get_format(). 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Format vaapi requires hwaccel hevc_vaapi initialisation. 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Considering format 0x3231564e -> nv12. 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Considering format 0x30313050 -> p010le. 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Considering format 0x32313050 -> p012le. 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Ignoring unknown format 0x36313050. 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Picked nv12 (0x3231564e) as best match for yuv420p. 00:11:30 - FFmpeg: [AVHWFramesContext @ 0x7f0de4246000] Created surface 0x6. 00:11:30 - FFmpeg: [AVHWFramesContext @ 0x7f0de4246000] Direct mapping disabled: deriving image does not work: 1 (operation failed). 00:11:30 - SDL Info (0): Video decode unit queue overflow 00:11:30 - SDL Info (0): IDR frame request sent 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Decode context initialised: 0x7/0x8. 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Output frame with POC 0/3. 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Param buffer (type 0, 604 bytes) is 0x9. 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Slice 0 param buffer (264 bytes) is 0xa. 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Slice 0 data buffer (237 bytes) is 0xb. 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Decode to surface 0x6. 00:11:30 - FFmpeg: [hevc @ 0x7f0de4247e80] Decoded frame with POC 0/3. 00:11:30 - SDL Info (0): Waiting for IDR frame 00:11:31 - SDL Info (0): Received first audio packet after 400 ms 00:11:31 - SDL Info (0): Initial audio resync period: 500 milliseconds 00:11:31 - SDL Info (0): Video decode unit queue overflow 00:11:31 - SDL Info (0): IDR frame request sent 00:11:31 - SDL Info (0): Waiting for IDR frame 00:11:31 - SDL Info (0): Video decode unit queue overflow 00:11:31 - SDL Info (0): IDR frame request sent 00:11:31 - SDL Info (0): Waiting for IDR frame libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/intel-vaapi-driver/nvidia_drv_video.so libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia-vaapi-driver/nvidia_drv_video.so libva info: Found init function __vaDriverInit_1_0 00:11:31 - SDL Info (0): Video decode unit queue overflow 00:11:31 - SDL Info (0): IDR frame request sent 00:11:31 - SDL Info (0): Waiting for IDR frame 00:11:31 - SDL Info (0): Video decode unit queue overflow 00:11:31 - SDL Info (0): IDR frame request sent 00:11:31 - SDL Info (0): Waiting for IDR frame libva info: va_openDriver() returns 0 00:11:31 - SDL Info (0): Initialized VAAPI 1.22 00:11:31 - SDL Info (0): Driver: VA-API NVDEC driver [direct backend] 00:11:31 - FFmpeg: [VAAPI @ 0x7f0de4800dc0] Format 0x3231564e -> nv12. 00:11:31 - FFmpeg: [VAAPI @ 0x7f0de4800dc0] Format 0x30313050 -> p010le. 00:11:31 - FFmpeg: [VAAPI @ 0x7f0de4800dc0] Format 0x32313050 -> p012le. 00:11:31 - FFmpeg: [VAAPI @ 0x7f0de4800dc0] Format 0x36313050 -> unknown. 00:11:31 - FFmpeg: [VAAPI @ 0x7f0de4800dc0] Format 0x50343434 -> yuv444p. 00:11:31 - FFmpeg: [VAAPI @ 0x7f0de4800dc0] Format 0x36313451 -> unknown. 00:11:31 - FFmpeg: [VAAPI @ 0x7f0de4800dc0] VAAPI driver: VA-API NVDEC driver [direct backend]. 00:11:31 - FFmpeg: [VAAPI @ 0x7f0de4800dc0] Driver not found in known nonstandard list, using standard behaviour. 00:11:31 - SDL Error (0): vaExportSurfaceHandle() failed: 6 00:11:31 - SDL Info (0): VAAPI driver supports exporting DRM PRIME surface handles with separate layers 00:11:31 - SDL Info (0): Color buffer is: R8G8B8A0 00:11:31 - SDL Error (0): vaExportSurfaceHandle() failed: 6 00:11:31 - SDL Info (0): Exporting separate layers due to lack of support for VA_EXPORT_SURFACE_COMPOSED_LAYERS 00:11:31 - SDL Info (0): VAAPI driver supports exporting DRM PRIME surface handles with separate layers 00:11:31 - SDL Info (0): EGL passed preflight checks. Using EGL for GL context creation. 00:11:31 - SDL Info (0): Frame pacing: target 165 Hz with 144 FPS stream 00:11:31 - SDL Info (0): Using VAAPI accelerated renderer on wayland 00:11:31 - SDL Info (0): FFmpeg-based video decoder chosen 00:11:31 - SDL Info (0): IDR frame request sent 00:11:31 - SDL Info (0): Dropping window event during flush: 6 (2560 1440) 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] nal_unit_type: 20(IDR_N_LP), nuh_layer_id: 0, temporal_id: 0 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Decoding VPS 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Main profile bitstream 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Decoding SPS 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Main profile bitstream 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Decoding VUI 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Decoding PPS 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Format vaapi chosen by get_format(). 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Format vaapi requires hwaccel hevc_vaapi initialisation. 00:11:31 - SDL Info (0): Video decode unit queue overflow 00:11:31 - SDL Info (0): IDR frame request sent 00:11:31 - SDL Info (0): Waiting for IDR frame 00:11:31 - SDL Info (0): Waiting for IDR frame 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Considering format 0x3231564e -> nv12. 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Considering format 0x30313050 -> p010le. 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Considering format 0x32313050 -> p012le. 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Ignoring unknown format 0x36313050. 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Picked nv12 (0x3231564e) as best match for yuv420p. 00:11:31 - FFmpeg: [AVHWFramesContext @ 0x7f0e040b3680] Created surface 0x6. 00:11:31 - FFmpeg: [AVHWFramesContext @ 0x7f0e040b3680] Direct mapping disabled: deriving image does not work: 1 (operation failed). 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Decode context initialised: 0x7/0x8. 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Output frame with POC 0/0. 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Param buffer (type 0, 604 bytes) is 0x9. 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Slice 0 param buffer (264 bytes) is 0xa. 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Slice 0 data buffer (352144 bytes) is 0xb. 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Decode to surface 0x6. 00:11:31 - FFmpeg: [hevc @ 0x7f0de4247e80] Decoded frame with POC 0/0. 00:11:31 - SDL Info (0): EGLRenderer: EGLImage pixel format: 23 00:11:31 - Qt Info: Found "egl_nv12.vert" at ":/data/egl_nv12.vert" 00:11:31 - Qt Info: Found "egl_nv12.frag" at ":/data/egl_nv12.frag" 00:11:31 - Qt Info: Found "egl_overlay.vert" at ":/data/egl_overlay.vert" 00:11:31 - Qt Info: Found "egl_overlay.frag" at ":/data/egl_overlay.frag" 00:11:33 - SDL Info (0): Unrecoverable frame 363: 2+0=2 received < 15 needed 00:11:33 - SDL Info (0): Network dropped 1 frame (frame 363) 00:11:33 - SDL Info (0): Waiting for IDR frame 00:11:33 - SDL Info (0): IDR frame request sent 00:11:33 - SDL Info (0): Waiting for IDR frame wp_linux_drm_syncobj_surface_v1#55: error 5: explicit sync is used, but no release point is set 00:11:34 - SDL Info (0): Quit event received 00:11:34 - SDL Info (0): Video decode unit queue overflow 00:11:34 - SDL Info (0): IDR frame request sent 00:11:34 - SDL Info (0): Waiting for IDR frame 00:11:34 - SDL Info (0): Waiting for IDR frame 00:11:34 - SDL Info (0): Video decode unit queue overflow 00:11:34 - SDL Info (0): IDR frame request sent 00:11:34 - SDL Info (0): Waiting for IDR frame 00:11:34 - SDL Info (0): Waiting for IDR frame 00:11:34 - SDL Info (0): Video decode unit queue overflow 00:11:34 - SDL Info (0): IDR frame request sent 00:11:34 - SDL Info (0): Waiting for IDR frame 00:11:34 - SDL Info (0): Video decode unit queue overflow 00:11:34 - SDL Info (0): IDR frame request sent 00:11:34 - SDL Info (0): Waiting for IDR frame 00:11:34 - SDL Info (0): Global video stats 00:11:34 - SDL Info (0): ---------------------------------------------------------- Incoming frame rate from network: 141.87 FPS Decoding frame rate: 141.87 FPS Rendering frame rate: 119.54 FPS Host processing latency min/max/average: 4.4/13.7/6.4 ms Frames dropped by your network connection: 6.84% Frames dropped due to network jitter: 15.38% Average network latency: 1 ms (variance: 0 ms) Average decoding time: 1.95 ms Average frame queue delay: 2.30 ms Average rendering time (including monitor V-sync latency): 4.78 ms

Source: moonlight-stream/moonlight-qt