moonlight-stream / moonlight-qt

GameStream client for PCs (Windows, Mac, Linux, and Steam Link)
GNU General Public License v3.0
10.47k stars 614 forks source link

App won't open on Arch without desktop environment and Nvidia proprietary drivers #1155

Open MwenDavo opened 9 months ago

MwenDavo commented 9 months ago

Describe the bug When starting the app through the console having the Nvidia drivers configured to support DRM (Direct rendering manager), the following output is produced, following a crash:

00:00:00 - Qt Info: Unable to detect Wayland or X11, so EGLFS will be used by default. Set QT_QPA_PLATFORM to override this.
00:00:00 - Qt Info: Setting display mode by default. Set QT_QPA_EGLFS_ALWAYS_SET_MODE=0 to override this.
00:00:00 - SDL Info (0): Compiled with SDL 2.26.2
00:00:00 - SDL Info (0): Running with SDL 2.26.2
00:00:00 - Qt Info: No translation available for "en_US"
00:00:00 - Qt Warning: qrc:/gui/main.qml:12:1: QML ApplicationWindow: ToolTip must be attached to an Item
00:00:01 - Qt Info: Found "gamecontrollerdb.txt" at "/home/administrador/.cache/Moonlight Game Streaming Project/Moonlight/gamecontrollerdb.txt"
00:00:01 - SDL Info (0): Loaded 193 new gamepad mappings
00:00:01 - SDL Warn (0): Failed to create test window with platform flags: Can't window GBM/EGL surfaces on window creation.
00:00:01 - SDL Error (0): Failed to create window for hardware decode test: Can't window GBM/EGL surfaces on window creation.
00:00:02 - Qt Info: Found "gamecontrollerdb.txt" at "/home/administrador/.cache/Moonlight Game Streaming Project/Moonlight/gamecontrollerdb.txt"
00:00:02 - SDL Info (0): Loaded 193 new gamepad mappings

When the open source nouveau drivers are used, the app manages to start, but without any text being displayed, making it impossible to know the pairing code.

Steps to reproduce Fresh install Arch, install Nvidia proprietary drivers, configure DRM as stated on the Arch wiki, install Moonlight and start it with the moonlight command

Client PC details

cgutman commented 6 months ago

Is this still happening with the latest Arch updates?

MwenDavo commented 4 months ago

Just tried it again, and it still happens. Seems like it is caused by a limitation in NVIDIA's proprietary drivers, as described here

The NVIDIA DRM KMS implementation does not yet register an overlay plane: only primary and cursor planes are currently provided.

Buffer allocation and submission to DRM KMS using gbm is not currently supported.

I tried to circumvent the second issue by specifying Moonlight-qt to use EGLStream instead of GBM (using the environment variable QT_QPA_EGLFS_INTEGRATION=eglfs_kms_egldevice but it didn't seem to work).

The first one should be automatically solved by Qt since it specifies here

By default the backend will automatically choose the correct EGL layer for the default plane of each output. When necessary, this can be overridden by setting the QT_QPA_EGLFS_LAYER_INDEX environment variable to the index of the desired layer.

MwenDavo commented 4 months ago

Also tried it with Moonlight 6.0, and the output was different:

[root@david-stream administrador]# QT_QPA_PLATFORM=eglfs QT_QPA_EGLFS_INTEGRATION=eglfs_kms_egldevice QT_QPA_EGLFS_DEBUG=1 moonlight error: XDG_RUNTIME_DIR is invalid or not set in the environment. 00:00:00 - Qt Warning: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' 00:00:00 - SDL Info (0): Compiled with SDL 2.30.3 00:00:00 - SDL Info (0): Running with SDL 2.30.3 00:00:00 - Qt Info: No translation available for "en_US" 00:00:00 - Qt Warning: qrc:/gui/main.qml:13:1: QML ApplicationWindow: ToolTip must be attached to an Item 00:00:01 - Qt Info: Found "gamecontrollerdb.txt" at "/root/.cache/Moonlight Game Streaming Project/Moonlight/gamecontrollerdb.txt" 00:00:01 - SDL Info (0): Loaded 322 new gamepad mappings 00:00:01 - SDL Info (0): V-sync disabled 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Info (0): Trying fallback VAAPI driver names 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Error (0): Failed to initialize VAAPI: 3 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Info (0): Trying fallback VAAPI driver names 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Error (0): Failed to initialize VAAPI: 3 00:00:01 - SDL Warn (0): Vulkan device 'NVIDIA GeForce GTX 1050 Ti' does not support HDR10 (ST.2084 PQ) 00:00:01 - SDL Error (0): No suitable Vulkan devices found! 00:00:01 - SDL Warn (0): Vulkan device 'NVIDIA GeForce GTX 1050 Ti' does not support HDR10 (ST.2084 PQ) 00:00:01 - SDL Error (0): No suitable Vulkan devices found! 00:00:01 - SDL Info (0): Trying SdlRenderer for codec hevc_cuvid due to preferred pixel format: 0x9f 00:00:01 - SDL Info (0): Trying DrmRenderer for codec hevc_cuvid due to compatible pixel format: 0x17 00:00:01 - SDL Info (0): Sharing DRM FD with SDL 00:00:01 - SDL Error (0): drmGetVersion() failed: 9 00:00:01 - SDL Info (0): Sharing DRM FD with SDL 00:00:01 - SDL Error (0): drmGetVersion() failed: 9 00:00:01 - SDL Info (0): Trying SdlRenderer for codec hevc_cuvid due to compatible pixel format: 0x17 00:00:01 - SDL Info (0): Trying DrmRenderer for codec hevc_cuvid due to compatible pixel format: 0x9f 00:00:01 - SDL Info (0): Sharing DRM FD with SDL 00:00:01 - SDL Error (0): drmGetVersion() failed: 9 00:00:01 - SDL Info (0): Sharing DRM FD with SDL 00:00:01 - SDL Error (0): drmGetVersion() failed: 9 00:00:01 - SDL Warn (0): No renderer can handle output from decoder: hevc_cuvid 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Info (0): Trying fallback VAAPI driver names 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Error (0): Failed to initialize VAAPI: 3 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Info (0): Trying fallback VAAPI driver names 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Error (0): Failed to initialize VAAPI: 3 00:00:01 - SDL Error (0): VDPAU is not supported on the current subsystem: 13 00:00:01 - SDL Error (0): VDPAU is not supported on the current subsystem: 13 00:00:01 - SDL Error (0): Unable to find working decoder for format: 200 00:00:01 - SDL Error (0): Unable to load FFmpeg decoder 00:00:01 - SDL Info (0): V-sync disabled 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Info (0): Trying fallback VAAPI driver names 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Error (0): Failed to initialize VAAPI: 3 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Info (0): Trying fallback VAAPI driver names 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:01 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:01 - SDL Error (0): Failed to initialize VAAPI: 3 00:00:02 - SDL Warn (0): Vulkan device 'NVIDIA GeForce GTX 1050 Ti' does not support VK_MESA_video_decode_av100:00:02 - SDL Error (0): No suitable Vulkan devices found! 00:00:02 - SDL Warn (0): Vulkan device 'NVIDIA GeForce GTX 1050 Ti' does not support VK_MESA_video_decode_av100:00:02 - SDL Error (0): No suitable Vulkan devices found! 00:00:02 - SDL Info (0): Trying SdlRenderer for codec av1_cuvid due to preferred pixel format: 0x9f 00:00:02 - SDL Info (0): Trying DrmRenderer for codec av1_cuvid due to compatible pixel format: 0x17 00:00:02 - SDL Info (0): Sharing DRM FD with SDL 00:00:02 - SDL Error (0): drmGetVersion() failed: 9 00:00:02 - SDL Info (0): Sharing DRM FD with SDL 00:00:02 - SDL Error (0): drmGetVersion() failed: 9 00:00:02 - SDL Info (0): Trying SdlRenderer for codec av1_cuvid due to compatible pixel format: 0x17 00:00:02 - SDL Info (0): Trying DrmRenderer for codec av1_cuvid due to compatible pixel format: 0x9f 00:00:02 - SDL Info (0): Sharing DRM FD with SDL 00:00:02 - SDL Error (0): drmGetVersion() failed: 9 00:00:02 - SDL Info (0): Sharing DRM FD with SDL 00:00:02 - SDL Error (0): drmGetVersion() failed: 9 00:00:02 - SDL Warn (0): No renderer can handle output from decoder: av1_cuvid 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Info (0): Trying fallback VAAPI driver names 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Error (0): Failed to initialize VAAPI: 3 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Info (0): Trying fallback VAAPI driver names 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Error (0): Failed to initialize VAAPI: 3 00:00:02 - SDL Error (0): VDPAU is not supported on the current subsystem: 13 00:00:02 - SDL Error (0): VDPAU is not supported on the current subsystem: 13 00:00:02 - SDL Error (0): Unable to find working decoder for format: 2000 00:00:02 - SDL Error (0): Unable to load FFmpeg decoder 00:00:02 - SDL Info (0): V-sync disabled 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Info (0): Trying fallback VAAPI driver names 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Error (0): Failed to initialize VAAPI: 3 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Info (0): Trying fallback VAAPI driver names 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Warn (0): Failed to get render node path. Using the SDL FD directly. 00:00:02 - SDL Error (0): Unable to open DRM display for VAAPI 00:00:02 - SDL Error (0): Failed to initialize VAAPI: 3 00:00:02 - SDL Error (0): VDPAU is not supported on the current subsystem: 13 00:00:02 - SDL Error (0): VDPAU is not supported on the current subsystem: 13 00:00:02 - SDL Info (0): Vulkan rendering device chosen: NVIDIA GeForce GTX 1050 Ti 00:00:02 - SDL Info (0): Using Immediate present mode with V-Sync disabled 00:00:02 - FFmpeg: [AVHWDeviceContext @ 0x5d8c09508580] Using device: NVIDIA GeForce GTX 1050 Ti 00:00:02 - FFmpeg: [AVHWDeviceContext @ 0x5d8c09508580] Alignments: 00:00:02 - FFmpeg: [AVHWDeviceContext @ 0x5d8c09508580] optimalBufferCopyRowPitchAlignment: 1 00:00:02 - FFmpeg: [AVHWDeviceContext @ 0x5d8c09508580] minMemoryMapAlignment: 64 00:00:02 - FFmpeg: [AVHWDeviceContext @ 0x5d8c09508580] nonCoherentAtomSize: 64 00:00:02 - FFmpeg: [AVHWDeviceContext @ 0x5d8c09508580] minImportedHostPointerAlignment: 4096 00:00:02 - FFmpeg: [AVHWDeviceContext @ 0x5d8c09508580] Using queue family 0 (queues: 1) for graphics 00:00:02 - FFmpeg: [AVHWDeviceContext @ 0x5d8c09508580] Using queue family 2 (queues: 1) for compute 00:00:02 - FFmpeg: [AVHWDeviceContext @ 0x5d8c09508580] Using queue family 1 (queues: 1) for transfers 00:00:02 - FFmpeg: [AVHWDeviceContext @ 0x5d8c09508580] Using queue family 3 (queues: 1) for decode 00:00:03 - SDL Info (0): Vulkan rendering device chosen: NVIDIA GeForce GTX 1050 Ti 00:00:03 - SDL Info (0): Using Immediate present mode with V-Sync disabled 00:00:03 - FFmpeg: [AVHWDeviceContext @ 0x5d8c0935b480] Using device: NVIDIA GeForce GTX 1050 Ti 00:00:03 - FFmpeg: [AVHWDeviceContext @ 0x5d8c0935b480] Alignments: 00:00:03 - FFmpeg: [AVHWDeviceContext @ 0x5d8c0935b480] optimalBufferCopyRowPitchAlignment: 1 00:00:03 - FFmpeg: [AVHWDeviceContext @ 0x5d8c0935b480] minMemoryMapAlignment: 64 00:00:03 - FFmpeg: [AVHWDeviceContext @ 0x5d8c0935b480] nonCoherentAtomSize: 64 00:00:03 - FFmpeg: [AVHWDeviceContext @ 0x5d8c0935b480] minImportedHostPointerAlignment: 4096 00:00:03 - FFmpeg: [AVHWDeviceContext @ 0x5d8c0935b480] Using queue family 0 (queues: 1) for graphics 00:00:03 - FFmpeg: [AVHWDeviceContext @ 0x5d8c0935b480] Using queue family 2 (queues: 1) for compute 00:00:03 - FFmpeg: [AVHWDeviceContext @ 0x5d8c0935b480] Using queue family 1 (queues: 1) for transfers 00:00:03 - FFmpeg: [AVHWDeviceContext @ 0x5d8c0935b480] Using queue family 3 (queues: 1) for decode 00:00:03 - SDL Info (0): Using Vulkan video decoding 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] nal_unit_type: 21(CRA_NUT), nuh_layer_id: 0, temporal_id: 0 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Decoding VPS 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Main profile bitstream 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Decoding SPS 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Main profile bitstream 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Decoding VUI 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Decoding PPS 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Format vulkan chosen by get_format(). 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Format vulkan requires hwaccel initialisation. 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Decoder capabilities for hevc profile "Main": 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Maximum level: 60 (stream 120) 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Width: from 144 to 8192 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Height: from 144 to 8192 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Width alignment: 16 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Height alignment: 16 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Bitstream offset alignment: 256 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Bitstream size alignment: 256 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Maximum references: 16 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Maximum active references: 16 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Codec header name: 'VK_STD_vulkan_video_codec_h265_decode' (driver), 'VK_STD_vulkan_video_codec_h265_decode' (compiled) 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Codec header version: 1.0.0 (driver), 1.0.0 (compiled) 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Decode modes: reuse_dst_dpb 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Capability flags: separate_references 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Choosing best pixel format for decoding from 1: 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] nv12* (Vulkan ID: 1000156003) 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Chosen frame pixfmt: nv12 (Vulkan ID: 1000156003) 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Allocating 4096 bytes in bind index 0 for video session 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Allocating 16384 bytes in bind index 1 for video session 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Allocating 71303168 bytes in bind index 2 for video session 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Allocating 47947776 bytes in bind index 3 for video session 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Vulkan decoder initialization sucessful 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Output frame with POC 3. 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Created frame parameters: 1 SPS 1 PPS 1 VPS 00:00:03 - FFmpeg: [hevc @ 0x5d8c0935d040] Decoding frame, 240 bytes, 1 slices 00:00:03 - SDL Info (0): FFmpeg-based video decoder chosen 00:00:04 - Qt Info: Found "gamecontrollerdb.txt" at "/root/.cache/Moonlight Game Streaming Project/Moonlight/gamecontrollerdb.txt" 00:00:04 - SDL Info (0): Loaded 322 new gamepad mappings 00:00:04 - Qt Warning: Failed to query EGL extensions 00:00:04 - Qt Fatal: Required extensions missing! Aborted (core dumped)

MwenDavo commented 4 months ago

I managed to make it work, but with its caveats. First I had to use QT_QPA_PLATFORM=linuxfb which greatly decreased performance on moonlight itself. Second, while VDPAU was correctly used, when VSync is turned on the decoding times get progressively worse over time (from 0.5ms to almost 250ms) and the returns to normal only to rise again.