Hi,
I’m running BredOs, arch based distro on x11. It comes pre-packaged with ffmpeg. When building moonlight-qt, ffmpeg is included as a dependency. Does anyone know why it doesn’t detect an encoder? It runs good under software.
Encoder not found moonlight-qt (arch)
I realised that the ffmpeg packages are incorrect on my device. I had to replace with the packages below:
ffmpeg-mpp from Aur also.
mpp-git from Aur.
ffmpeg4.4-mpp
mesa-panfork-git from Aur.
There appears to be a latency issue. Does anyone know how to correct it?
I have been able to fix latency issue on kodi. For kodi, I have to run Wayland to get DRM to show up as an option in accelerated hardware performance option in kodi settings. Now I’m trying to get moonlight fixed as well. Is there a way to set a different encoder?
On the pi4 there’s an line that can be added to hint a codec and force DRM. Would this work?
H264_DECODER_HINT=h264_v4l2m2m DRM_FORCE_DIRECT=1 moonlight-qt
i never thought of a workflow including moonlight since i dont do gaming at all, but good news is i can easily bring some acceleration to moonlight with ffmpeg, let me work on it may be ill have an update today.
Hi,
This is my log after trying to run with DRM forced on:
> 00:00:27 - Qt Info: Found "ModeSeven.ttf" at ":/data/ModeSeven.ttf"
> 00:00:28 - Qt Info: Server GPU: ""
> 00:00:28 - Qt Info: Server GFE version: "3.23.0.74"
> 00:00:28 - SDL Info (0): Video bitrate: 20000 kbps
> 00:00:28 - SDL Info (0): Desired audio buffer: 720 samples (2880 bytes)
> 00:00:28 - SDL Info (0): Obtained audio buffer: 720 samples (2880 bytes)
> 00:00:28 - SDL Info (0): SDL audio driver: pulseaudio
> 00:00:28 - SDL Info (0): Audio channel count: 2
> 00:00:28 - SDL Info (0): Audio channel mask: 3
> 00:00:28 - SDL Info (0): V-sync disabled
> 00:00:28 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:28 - SDL Info (0): Trying fallback VAAPI driver paths
> 00:00:28 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:28 - SDL Error (0): Failed to initialize VAAPI: -1
> 00:00:28 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:28 - SDL Info (0): Trying fallback VAAPI driver paths
> 00:00:28 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:28 - SDL Error (0): Failed to initialize VAAPI: -1
> 00:00:28 - SDL Warn (0): VDPAU is not supported on Wayland
> 00:00:28 - SDL Warn (0): VDPAU is not supported on Wayland
> 00:00:28 - SDL Info (0): Trying DrmRenderer for codec hevc_rkmpp_decoder due to preferred pixel format: 0xb3
> 00:00:28 - SDL Info (0): Opened DRM render node: /dev/dri/renderD128
> 00:00:28 - SDL Info (0): GPU driver: rockchip
> 00:00:28 - SDL Info (0): Direct rendering via DRM is disabled
> 00:00:28 - SDL Info (0): Using direct rendering due to environment variable
> 00:00:28 - SDL Info (0): Opened DRM render node: /dev/dri/renderD128
> 00:00:28 - SDL Info (0): GPU driver: rockchip
> 00:00:28 - SDL Info (0): Direct rendering via DRM is disabled
> 00:00:28 - SDL Info (0): Using DRM renderer
> 00:00:28 - FFmpeg: [hevc_mp4toannexb @ 0x7f147d2d50] The input looks like it is Annex B already
> 00:00:28 - FFmpeg: [hevc_rkmpp_decoder @ 0x7f140b5f40] Initializing RKMPP Codec.
> 00:00:28 - FFmpeg: [hevc_rkmpp_decoder @ 0x7f140b5f40] Format nv12 chosen by get_format().
> 00:00:28 - FFmpeg: [hevc_rkmpp_decoder @ 0x7f140b5f40] Picture format is nv12.
> 00:00:28 - FFmpeg: [hevc_rkmpp_decoder @ 0x7f140b5f40] Wrote 335 bytes to decoder
> 00:00:28 - FFmpeg: [hevc_rkmpp_decoder @ 0x7f140b5f40] Wrote 335 bytes to decoder
> 00:00:28 - FFmpeg: [hevc_rkmpp_decoder @ 0x7f140b5f40] Wrote 335 bytes to decoder
> 00:00:28 - FFmpeg: [hevc_rkmpp_decoder @ 0x7f140b5f40] Wrote 335 bytes to decoder
> 00:00:29 - FFmpeg: [hevc_rkmpp_decoder @ 0x7f140b5f40] Decoder noticed an info change
> 00:00:29 - FFmpeg: [hevc_rkmpp_decoder @ 0x7f140b5f40] Received a frame.
> 00:00:29 - SDL Info (0): Chose DrmRenderer for codec hevc_rkmpp_decoder due to preferred pixel format: 0xb3
> 00:00:29 - SDL Info (0): FFmpeg-based video decoder chosen
> 00:00:29 - SDL Info (0): Desired audio buffer: 720 samples (2880 bytes)
> 00:00:29 - SDL Info (0): Obtained audio buffer: 720 samples (2880 bytes)
> 00:00:29 - SDL Info (0): SDL audio driver: pulseaudio
> 00:00:29 - Qt Info: Found "gamecontrollerdb.txt" at "/home/danr5b/.cache/Moonlight Game Streaming Project/Moonlight/gamecontrollerdb.txt"
> 00:00:29 - SDL Info (0): Loaded 296 new gamepad mappings
> 00:00:29 - SDL Info (0): V-sync disabled
> 00:00:29 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:29 - SDL Info (0): Trying fallback VAAPI driver paths
> 00:00:29 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:29 - SDL Error (0): Failed to initialize VAAPI: -1
> 00:00:29 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:29 - SDL Info (0): Trying fallback VAAPI driver paths
> 00:00:29 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:29 - SDL Error (0): Failed to initialize VAAPI: -1
> 00:00:29 - SDL Warn (0): VDPAU is not supported on Wayland
> 00:00:29 - SDL Warn (0): VDPAU is not supported on Wayland
> 00:00:29 - SDL Info (0): Trying DrmRenderer for codec h264_rkmpp_decoder due to preferred pixel format: 0xb3
> 00:00:29 - SDL Info (0): Opened DRM render node: /dev/dri/renderD128
> 00:00:29 - SDL Info (0): GPU driver: rockchip
> 00:00:29 - SDL Info (0): Direct rendering via DRM is disabled
> 00:00:29 - SDL Info (0): Using direct rendering due to environment variable
> 00:00:29 - SDL Info (0): Opened DRM render node: /dev/dri/renderD128
> 00:00:29 - SDL Info (0): GPU driver: rockchip
> 00:00:29 - SDL Info (0): Direct rendering via DRM is disabled
> 00:00:29 - SDL Info (0): Using DRM renderer
> 00:00:29 - FFmpeg: [h264_mp4toannexb @ 0x7f1422cae0] The input looks like it is Annex B already
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Initializing RKMPP Codec.
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Format nv12 chosen by get_format().
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Picture format is nv12.
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Wrote 390 bytes to decoder
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Wrote 390 bytes to decoder
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Wrote 390 bytes to decoder
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Wrote 390 bytes to decoder
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Decoder noticed an info change
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Received a frame.
> 00:00:29 - SDL Info (0): Chose DrmRenderer for codec h264_rkmpp_decoder due to preferred pixel format: 0xb3
> 00:00:29 - SDL Info (0): FFmpeg-based video decoder chosen
> 00:00:29 - SDL Info (0): V-sync disabled
> 00:00:29 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:29 - SDL Info (0): Trying fallback VAAPI driver paths
> 00:00:29 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:29 - SDL Error (0): Failed to initialize VAAPI: -1
> 00:00:29 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:29 - SDL Info (0): Trying fallback VAAPI driver paths
> 00:00:29 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:29 - SDL Error (0): Failed to initialize VAAPI: -1
> 00:00:29 - SDL Warn (0): VDPAU is not supported on Wayland
> 00:00:29 - SDL Warn (0): VDPAU is not supported on Wayland
> 00:00:29 - SDL Info (0): Trying DrmRenderer for codec h264_rkmpp_decoder due to preferred pixel format: 0xb3
> 00:00:29 - SDL Info (0): Opened DRM render node: /dev/dri/renderD128
> 00:00:29 - SDL Info (0): GPU driver: rockchip
> 00:00:29 - SDL Info (0): Direct rendering via DRM is disabled
> 00:00:29 - SDL Info (0): Using direct rendering due to environment variable
> 00:00:29 - SDL Info (0): Opened DRM render node: /dev/dri/renderD128
> 00:00:29 - SDL Info (0): GPU driver: rockchip
> 00:00:29 - SDL Info (0): Direct rendering via DRM is disabled
> 00:00:29 - SDL Info (0): Using DRM renderer
> 00:00:29 - FFmpeg: [h264_mp4toannexb @ 0x7f1459c430] The input looks like it is Annex B already
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Initializing RKMPP Codec.
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Format nv12 chosen by get_format().
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Picture format is nv12.
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Wrote 390 bytes to decoder
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Wrote 390 bytes to decoder
> 00:00:29 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Wrote 390 bytes to decoder
> 00:00:30 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Wrote 390 bytes to decoder
> 00:00:30 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Decoder noticed an info change
> 00:00:30 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Received a frame.
> 00:00:30 - SDL Info (0): Chose DrmRenderer for codec h264_rkmpp_decoder due to preferred pixel format: 0xb3
> 00:00:30 - SDL Info (0): FFmpeg-based video decoder chosen
> 00:00:30 - SDL Info (0): Using capabilities table for decoder: h264_rkmpp_decoder -> 0
> 00:00:30 - Qt Info: Found "gamecontrollerdb.txt" at "/home/danr5b/.cache/Moonlight Game Streaming Project/Moonlight/gamecontrollerdb.txt"
> 00:00:30 - SDL Info (0): Loaded 296 new gamepad mappings
> 00:00:31 - Qt Info: Executing request: "https://192.168.0.102:47984/launch?uniqueid=0123456789ABCDEF&uuid=e7320297df4848af9b0b879857767f88&appid=881448767&mode=1920x1080x60&additionalStates=1&sops=1&rikey=963e499984522ec0b0c406c88ac13414&rikeyid=2131754997&localAudioPlayMode=0&surroundAudioInfo=196610&remoteControllersBitmap=0&gcmap=0&gcpersist=0"
> 00:00:32 - Qt Info: Launch response: "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root status_code=\"200\"><sessionUrl0>rtsp://192.168.0.102:48010</sessionUrl0><gamesession>1</gamesession></root>"
> 00:00:32 - Qt Info: Found matching interface: "enP4p65s0" "00:E0:4C:68:00:FD" QFlags<QNetworkInterface::InterfaceFlag>(IsUp|IsRunning|CanBroadcast|CanMulticast)
> 00:00:32 - Qt Info: Interface Type: QNetworkInterface::Ethernet
> 00:00:32 - Qt Info: Interface MTU: 1500
> 00:00:32 - SDL Info (0): RTSP port: 48010
> 00:00:32 - SDL Info (0): Initializing platform...
> 00:00:32 - SDL Info (0): done
> 00:00:32 - SDL Info (0): Resolving host name...
> 00:00:32 - SDL Info (0): done
> 00:00:32 - SDL Info (0): Initializing audio stream...
> 00:00:32 - SDL Info (0): done
> 00:00:32 - SDL Info (0): Starting RTSP handshake...
> 00:00:32 - SDL Info (0): Reference frame invalidation is not supported by this host
> 00:00:32 - SDL Info (0): Audio port: 48000
> 00:00:32 - SDL Info (0): Video port: 47998
> 00:00:32 - SDL Info (0): Control port: 47999
> 00:00:32 - SDL Info (0): done
> 00:00:32 - SDL Info (0): Initializing control stream...
> 00:00:32 - SDL Info (0): done
> 00:00:32 - SDL Info (0): Initializing video stream...
> 00:00:32 - SDL Info (0): done
> 00:00:32 - SDL Info (0): Initializing input stream...
> 00:00:32 - SDL Info (0): done
> 00:00:32 - SDL Info (0): Starting control stream...
> 00:00:32 - SDL Info (0): done
> 00:00:32 - SDL Info (0): Starting video stream...
> 00:00:32 - SDL Info (0): Video stream is 1920x1080x60 (format 0x1)
> 00:00:32 - SDL Info (0): done
> 00:00:32 - SDL Info (0): Starting audio stream...
> 00:00:32 - SDL Info (0): Desired audio buffer: 720 samples (2880 bytes)
> 00:00:32 - SDL Info (0): Obtained audio buffer: 720 samples (2880 bytes)
> 00:00:32 - SDL Info (0): SDL audio driver: pulseaudio
> 00:00:32 - SDL Info (0): Audio stream has 2 channels
> 00:00:32 - SDL Info (0): done
> 00:00:32 - SDL Info (0): Starting input stream...
> 00:00:32 - SDL Info (0): done
> 00:00:32 - SDL Info (0): Qt UI screen is at (0,0)
> 00:00:32 - SDL Info (0): SDL found matching display 0
> 00:00:32 - SDL Info (0): Received first video packet after 100 ms
> 00:00:32 - SDL Info (0): Found display mode with desktop resolution: 1920x1080x60
> 00:00:32 - SDL Info (0): Recreating renderer for window event: 1 (0 0)
> 00:00:32 - SDL Info (0): V-sync enabled
> 00:00:32 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:32 - SDL Info (0): Trying fallback VAAPI driver paths
> 00:00:32 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:32 - SDL Error (0): Failed to initialize VAAPI: -1
> 00:00:32 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:32 - SDL Info (0): Trying fallback VAAPI driver paths
> 00:00:32 - SDL Info (0): Trying fallback VAAPI driver names
> kmsro: driver missing
> libva error: /usr/lib/dri/radeonsi_drv_video.so init failed
> libva error: /usr/lib/dri/nvidia_drv_video.so init failed
> 00:00:32 - SDL Error (0): Failed to initialize VAAPI: -1
> 00:00:32 - SDL Warn (0): VDPAU is not supported on Wayland
> 00:00:32 - SDL Warn (0): VDPAU is not supported on Wayland
> 00:00:32 - SDL Info (0): Trying DrmRenderer for codec h264_rkmpp_decoder due to preferred pixel format: 0xb3
> 00:00:32 - SDL Info (0): Opened DRM render node: /dev/dri/renderD128
> 00:00:32 - SDL Info (0): GPU driver: rockchip
> 00:00:32 - SDL Info (0): Direct rendering via DRM is disabled
> 00:00:32 - SDL Info (0): Using direct rendering due to environment variable
> 00:00:32 - SDL Info (0): Opened DRM render node: /dev/dri/renderD128
> 00:00:32 - SDL Info (0): GPU driver: rockchip
> 00:00:32 - SDL Info (0): Direct rendering via DRM is disabled
> 00:00:32 - SDL Info (0): Using DRM renderer
> 00:00:32 - FFmpeg: [h264_mp4toannexb @ 0x7f14275330] The input looks like it is Annex B already
> 00:00:32 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Initializing RKMPP Codec.
> 00:00:32 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Format nv12 chosen by get_format().
> 00:00:32 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Picture format is nv12.
> 00:00:32 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Wrote 390 bytes to decoder
> 00:00:32 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Wrote 390 bytes to decoder
> 00:00:32 - SDL Info (0): Video decode unit queue overflow
> 00:00:32 - SDL Info (0): IDR frame request sent
> 00:00:32 - SDL Info (0): Waiting for IDR frame
> 00:00:32 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Wrote 390 bytes to decoder
> 00:00:32 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Wrote 390 bytes to decoder
> 00:00:32 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Decoder noticed an info change
> 00:00:33 - FFmpeg: [h264_rkmpp_decoder @ 0x7f140b5f40] Received a frame.
> 00:00:33 - SDL Info (0): Opened DRM render node: /dev/dri/renderD128
> 00:00:33 - SDL Info (0): GPU driver: rockchip
> 00:00:33 - SDL Info (0): Direct rendering via DRM is disabled
> 00:00:33 - SDL Info (0): Frame pacing: target 60 Hz with 60 FPS stream
> 00:00:33 - SDL Info (0): SDL renderer backend: opengl
> 00:00:33 - SDL Info (0): SDL renderer backend requires main thread rendering
> 00:00:33 - SDL Info (0): Using DRM renderer
> 00:00:33 - FFmpeg: [h264_mp4toannexb @ 0x7f1460c6e0] The input looks like it is Annex B already
> 00:00:33 - FFmpeg: [h264_rkmpp_decoder @ 0x7f1424d320] Initializing RKMPP Codec.
> 00:00:33 - FFmpeg: [h264_rkmpp_decoder @ 0x7f1424d320] Format nv12 chosen by get_format().
> 00:00:33 - FFmpeg: [h264_rkmpp_decoder @ 0x7f1424d320] Picture format is nv12.
> 00:00:33 - SDL Info (0): Using H.264 SPS fixup
> 00:00:33 - SDL Info (0): Chose DrmRenderer for codec h264_rkmpp_decoder due to preferred pixel format: 0xb3
> 00:00:33 - SDL Info (0): FFmpeg-based video decoder chosen
> 00:00:33 - SDL Info (0): Dropping window event during flush: 6 (1920 1080)
> 00:00:33 - SDL Info (0): IDR frame request sent
> 00:00:33 - FFmpeg: [h264_rkmpp_decoder @ 0x7f1424d320] Wrote 38520 bytes to decoder
> 00:00:33 - FFmpeg: [h264_rkmpp_decoder @ 0x7f1424d320] Wrote 35768 bytes to decoder
> 00:00:33 - FFmpeg: [h264_rkmpp_decoder @ 0x7f1424d320] Wrote 37144 bytes to decoder
> 00:00:33 - FFmpeg: [h264_rkmpp_decoder @ 0x7f1424d320] Wrote 38520 bytes to decoder
> 00:00:33 - FFmpeg: [h264_rkmpp_decoder @ 0x7f1424d320] Decoder noticed an info change
> 00:00:33 - FFmpeg: [h264_rkmpp_decoder @ 0x7f1424d320] Received a frame.
> 00:00:34 - SDL Info (0): Received first audio packet after 2300 ms
> 00:00:34 - SDL Info (0): Initial audio resync period: 500 milliseco
i dont think you can force drm on X but not sure, best bet is EGL with x otherwise it should fallback to SDL which is crap, i think to force DRM DE must be stopped, but i debug building this moonlight thing and will attach a debugger to see exactly whats going on.
ok found the bug with moonlight-qt, i just got 4k@60fps rendering, let me push some commits
UPDATE: Done.
-
You need to change ffmpeg-mpp with ffmpeg-rockchip, this is the successor of it and has lots of improvements inlcuding speed and latency. Here is a PKGBUILD for it.
-
Moonlight needs to be fixed with this fix. If the PR i sent, is merged to master branch you should be able to use moonlight-qt-git aur package, until then you need to manually patch to make it work.
Improtant note: Moonlight must be rebuilt after the ffmpeg is switched the -rockchip variant, the old -mpp and the new -rockchip ffmpegs have different API versions so the app depending on it need to be rebuilt.
For the new ffmpeg, please refer to the wiki for how to get rendering properly.
PS: I have briefly looked but it seems that moonlight is capabale of drawing over to KMS which is a better rendering path, but i got segfaults. If thats the case there might be further patches needed for direct KMS rendering.
Wow thank you so much! I will try this tonight. On the side, bare with me as im still a newb, when I install pkgbuild for ffmpeg-rockchip, will that be added as a repo on pacman or would I have rebuild every time there’s an update to the ffmpeg-rockchip PKG?
I currently have 7ji repo added. Should I remove it?
Sorry how did you manually apply the fix to moonlight? Can you provide a pkgbuild?
In another post you mentioned the patch had merged with the AUR PKG moonlight-qt-git and it has been removed from AGR. However I noticed on the AUR repository website, it appears the package hasn’t been updated since November last year. Would it still install the new patch or would there be a specific way of doing it?
it is a vcs or git package, its version is dynamically calculated, maintainers only update the repo version when they want users to update, but when you install explicitly it is updated to latest version
yay -S moonlight-qt-git
make sure you do a clean build
latest system updates have caused errors. Does anyone know how to fix this?
moonlight: error while loading shared libraries: libjxl.so.0.10: cannot open shared object file: No such file or directory
rebuild it from aur, it should fix it.
yay -S moonlight-qt-git
When I attempt a rebuild, I get this error:
/usr/bin/ld: warning: libjxl.so.0.10, needed by /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libjxl_threads.so.0.10, needed by /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlEncoderDestroy@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlDecoderGetFrameHeader@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlDecoderGetColorAsICCProfile@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlDecoderGetBasicInfo@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlDecoderSubscribeEvents@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlDecoderGetColorAsEncodedProfile@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlEncoderSetParallelRunner@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlThreadParallelRunnerDestroy@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlDecoderDestroy@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlDecoderProcessInput@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlDecoderSetImageOutBuffer@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlDecoderReset@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlDecoderReleaseInput@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlEncoderSetCodestreamLevel@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlEncoderProcessOutput@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlEncoderSetICCProfile@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlEncoderSetFrameBitDepth@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlEncoderInitBasicInfo@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlEncoderAddImageFrame@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlDecoderSetPreferredColorProfile@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlEncoderCloseInput@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlEncoderSetBasicInfo@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlDecoderSetParallelRunner@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlDecoderCreate@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlEncoderSetColorEncoding@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlEncoderFrameSettingsCreate@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlEncoderCreate@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlDecoderSetInput@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlThreadParallelRunnerCreate@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlEncoderSetFrameDistance@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlEncoderReset@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlEncoderGetRequiredCodestreamLevel@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlThreadParallelRunner@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlDecoderGetICCProfileSize@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlEncoderFrameSettingsSetOption@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlDecoderSetImageOutBitDepth@JXL_0’
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile.Release:298: moonlight] Error 1
make[2]: Leaving directory ‘/home/media/.cache/yay/moonlight-qt-git/src/moonlight-qt-git/app’
make[1]: *** [Makefile:42: release] Error 2
make[1]: Leaving directory ‘/home/media/.cache/yay/moonlight-qt-git/src/moonlight-qt-git/app’
make: *** [Makefile:102: sub-app-make_first] Error 2
==> ERROR: A failure occurred in build().
Aborting…
-> error making: moonlight-qt-git-exit status 4
-> Failed to install the following packages. Manual intervention is required:
moonlight-qt-git - exit status 4
Basically libjxl.so.0.10 appears to be a problem.
You need to softlink /lib/libjxl.so.0.11.0 to /lib/libjxl.so.0.10 and also /lib/libjxl_theads.so.0.11.0 to
/lib/libjxl_threads.so.0.10 .
This solved my problem with mpv and libjxl.so.0.10 .
hi,
thank you! i created the symlinks and that somewhat worked. It reduced the amount of build errors.
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to JxlThreadParallelRunnerDestroy@JXL_0' /usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/../../../../lib/libavcodec.so: undefined reference to
JxlThreadParallelRunnerCreate@JXL_0’
/usr/bin/ld: /usr/lib/gcc/aarch64-unknown-linux-gnu/14.1.1/…/…/…/…/lib/libavcodec.so: undefined reference to `JxlThreadParallelRunner@JXL_0’
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile.Release:298: moonlight] Error 1
make[2]: Leaving directory ‘/home/media/.cache/yay/moonlight-qt-git/src/moonlight-qt-git/app’
make[1]: *** [Makefile:42: release] Error 2
make[1]: Leaving directory ‘/home/media/.cache/yay/moonlight-qt-git/src/moonlight-qt-git/app’
make: *** [Makefile:102: sub-app-make_first] Error 2
==> ERROR: A failure occurred in build().
Aborting…
-> error making: moonlight-qt-git-exit status 4
-> Failed to install the following packages. Manual intervention is required:
moonlight-qt-git - exit status 4
i got it working! I had to clear cache in pacman and reinstall two packages.
sudo pacman -Scc
sudo pacman -S libjxl ffmpeg-mpp-git
then i rebuilt moonlight-qt-git package on yay. Thank you everyone for your help!