veldenb / plugin.program.moonlight-qt

A launcher and updater for running Moonlight-qt on LibreELEC.
GNU General Public License v3.0
88 stars 12 forks source link

Raspberry Pi 3b crash #17

Closed Krypt0nC0R3 closed 1 year ago

Krypt0nC0R3 commented 2 years ago

Running on raspberry 3b causes gui to crash and web remote control to stop.

Kodi.log -> https://pastebin.com/CgejGvQC

Should this program run at all on other raspberry versions? If not, can you add support? And then moonlight-embedded is not supported from version Kodi 10.0, and there are no other ways to stream to raspberry 3

veldenb commented 2 years ago

moonlight-qt only supports the pi4 for now so there is currently no possibility for the plugin to support the pi3. If https://github.com/moonlight-stream/moonlight-qt/ adds support for the pi3 I would expect it to work out of the box.

Edit: Tested moonlight-qt on raspbian today (pi3), that works so the plugin should also work. Need to dig in to that, I think it misses a library.

veldenb commented 2 years ago

It looks like the rpi3 build from LibreELEC is currently not compatibel. Not sure if they applied some patches that breaks stuff. Might be worth trying again when they release a new build.

I was able to get moonlight-qt running on the pi3 using this guide for the pi4 on raspbian: https://github.com/moonlight-stream/moonlight-docs/wiki/Installing-Moonlight-Qt-on-Raspberry-Pi-4 Performance wasn't great though, 720p max.

Log from running on LibreELEC:

Platform 'rpi' running 'libreelec' detected...
Using Qt library from /storage/.kodi/userdata/addon_data/plugin.program.moonlight-qt/moonlight-qt/lib/qt5...
Running without window manager...
Detected resolution 1920,1200...
Using Qt scale factor 0.93...
Using Kodi hooks for libreelec...
--- Starting Moonlight ---
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.0.21
00:00:00 - SDL Info (0): Running with SDL 2.0.21
00:00:00 - Qt Info: No translation available for  "C"
00:00:00 - Qt Warning: qrc:/gui/main.qml:12:1: QML ApplicationWindow: ToolTip must be attached to an Item
00:00:00 - Qt Debug: "No carrier"
00:00:00 - Qt Info: Found "gamecontrollerdb.txt" at "/storage/.kodi/userdata/addon_data/plugin.program.moonlight-qt/moonlight-home/.cache/Moonlight Game Streaming Project/Moonlight/gamecontrollerdb.txt"
00:00:00 - SDL Info (0): Loaded 202 new gamepad mappings
00:00:00 - SDL Info (0): V-sync disabled
00:00:00 - SDL Info (0): Sharing DRM FD with SDL
00:00:00 - SDL Error (0): Failed to find suitable overlay plane!
00:00:00 - SDL Info (0): DRM backend supports exporting EGLImage
00:00:00 - SDL Error (0): EGLRenderer: SDL_CreateRenderer() failed: Could not create EGL context (call to eglCreateContext failed, reporting an error of EGL_BAD_CONFIG)
00:00:00 - SDL Info (0): Sharing DRM FD with SDL
00:00:00 - SDL Error (0): Failed to find suitable overlay plane!
00:00:00 - SDL Info (0): Sharing DRM FD with SDL
00:00:00 - SDL Error (0): Failed to find suitable overlay plane!
00:00:00 - SDL Info (0): DRM backend supports exporting EGLImage
00:00:00 - SDL Error (0): EGLRenderer: SDL_CreateRenderer() already failed on this window!
00:00:00 - SDL Info (0): Sharing DRM FD with SDL
00:00:00 - SDL Error (0): Failed to find suitable overlay plane!
00:00:00 - SDL Info (0): Sharing DRM FD with SDL
00:00:00 - SDL Error (0): Failed to find suitable overlay plane!
00:00:00 - SDL Info (0): DRM backend supports exporting EGLImage
00:00:00 - SDL Error (0): EGLRenderer: SDL_CreateRenderer() already failed on this window!
00:00:00 - SDL Info (0): Sharing DRM FD with SDL
00:00:00 - SDL Error (0): Failed to find suitable overlay plane!
00:00:00 - SDL Info (0): Sharing DRM FD with SDL
00:00:00 - SDL Error (0): Failed to find suitable overlay plane!
00:00:00 - SDL Info (0): DRM backend supports exporting EGLImage
00:00:00 - SDL Error (0): EGLRenderer: SDL_CreateRenderer() already failed on this window!
00:00:00 - SDL Info (0): Sharing DRM FD with SDL
00:00:00 - SDL Error (0): Failed to find suitable overlay plane!
00:00:00 - SDL Error (0): Unable to load FFmpeg decoder
00:00:00 - SDL Info (0): V-sync disabled
00:00:00 - SDL Info (0): Sharing DRM FD with SDL
00:00:01 - SDL Info (0): DRM backend supports exporting EGLImage
00:00:01 - SDL Error (0): EGLRenderer: SDL_CreateRenderer() failed: Could not create EGL context (call to eglCreateContext failed, reporting an error of EGL_BAD_CONFIG)
00:00:01 - SDL Info (0): Sharing DRM FD with SDL
00:00:01 - SDL Info (0): Using DRM renderer
00:00:01 - FFmpeg: [hevc @ 0x16b2290] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0
00:00:01 - FFmpeg: [hevc @ 0x16b2290] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0
00:00:01 - FFmpeg: [hevc @ 0x16b2290] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0
00:00:01 - FFmpeg: [hevc @ 0x16b2290] nal_unit_type: 21(CRA_NUT), nuh_layer_id: 0, temporal_id: 0
00:00:01 - FFmpeg: [hevc @ 0x16b2290] Decoding VPS
00:00:01 - FFmpeg: [hevc @ 0x16b2290] Main profile bitstream
00:00:01 - FFmpeg: [hevc @ 0x16b2290] Decoding SPS
00:00:01 - FFmpeg: [hevc @ 0x16b2290] Main profile bitstream
00:00:01 - FFmpeg: [hevc @ 0x16b2290] Decoding VUI
00:00:01 - FFmpeg: [hevc @ 0x16b2290] Decoding PPS
00:00:01 - FFmpeg: [hevc @ 0x16b2290] Format drm_prime chosen by get_format().
00:00:01 - FFmpeg: [hevc @ 0x16b2290] Format drm_prime requires hwaccel initialisation.
00:00:01 - FFmpeg: [hevc @ 0x16b2290] <<< v4l2_request_hevc_init
00:00:01 - FFmpeg: [hevc @ 0x16b2290] probe_video_device: path=/dev/video10 capabilities=0x4204000
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video10: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video10: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video10: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video10: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] probe_video_device: path=/dev/video11 capabilities=0x4204000
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video11: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video11: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video11: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video11: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video11: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video11: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video11: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video11: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video11: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video11: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video11: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video11: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] probe_video_device: path=/dev/video12 capabilities=0x4204000
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video12: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] probe_video_device: path=/dev/video18 capabilities=0x4204000
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video18: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] /dev/video18: Buf caps 0x15 insufficient
00:00:01 - FFmpeg: [hevc @ 0x16b2290] probe_video_device: path=/dev/video13 capabilities=0x4200002
00:00:01 - FFmpeg: [hevc @ 0x16b2290] probe_video_device: missing required mem2mem capability
00:00:01 - FFmpeg: [hevc @ 0x16b2290] probe_video_device: path=/dev/video20 capabilities=0x4200002
00:00:01 - FFmpeg: [hevc @ 0x16b2290] probe_video_device: missing required mem2mem capability
00:00:01 - FFmpeg: [hevc @ 0x16b2290] Failed to find a V4L2 device for H265
00:00:01 - FFmpeg: [hevc @ 0x16b2290] Failed setup for format drm_prime: hwaccel initialisation returned error.
00:00:01 - FFmpeg: [hevc @ 0x16b2290] Format drm_prime not usable, retrying get_format() without it.
00:00:01 - FFmpeg: [hevc @ 0x16b2290] Error parsing NAL unit #3.
00:00:01 - SDL Warn (0): Test decode failed (avcodec_send_packet): Operation not permitted
00:00:01 - SDL Info (0): Sharing DRM FD with SDL
00:00:01 - SDL Info (0): DRM backend supports exporting EGLImage
00:00:01 - SDL Error (0): EGLRenderer: SDL_CreateRenderer() already failed on this window!
00:00:01 - SDL Info (0): Sharing DRM FD with SDL
00:00:01 - SDL Info (0): Using DRM renderer
00:00:01 - FFmpeg: [hevc_mp4toannexb @ 0x16b7240] The input looks like it is Annex B already
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] level=-99
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] Format drm_prime chosen by get_format().
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] avctx requested=181 (drm_prime); get_format requested=181 (drm_prime)
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] probing device /dev/video18
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] driver 'bcm2835-codec' on card 'bcm2835-codec-image_fx' in mplane mode
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] v4l2 output format not supported
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] probing device /dev/video12
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] driver 'bcm2835-codec' on card 'bcm2835-codec-isp' in mplane mode
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] v4l2 output format not supported
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] probing device /dev/video23
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] driver 'bcm2835-isp' on card 'bcm2835-isp' in unknown mode
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] probing device /dev/video22
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] driver 'bcm2835-isp' on card 'bcm2835-isp' in splane mode
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] v4l2 output format not supported
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] probing device /dev/video21
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] driver 'bcm2835-isp' on card 'bcm2835-isp' in splane mode
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] v4l2 output format not supported
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] probing device /dev/video11
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] v4l2 output format not supported
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] probing device /dev/video10
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] driver 'bcm2835-codec' on card 'bcm2835-codec-decode' in mplane mode
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] v4l2 output format not supported
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] probing device /dev/video20
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] driver 'bcm2835-isp' on card 'bcm2835-isp' in splane mode
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] v4l2 output format not supported
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] probing device /dev/video16
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] driver 'bcm2835-isp' on card 'bcm2835-isp' in unknown mode
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] probing device /dev/video15
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] driver 'bcm2835-isp' on card 'bcm2835-isp' in splane mode
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] v4l2 output format not supported
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] probing device /dev/video14
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] driver 'bcm2835-isp' on card 'bcm2835-isp' in splane mode
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] v4l2 output format not supported
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] probing device /dev/video13
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] driver 'bcm2835-isp' on card 'bcm2835-isp' in splane mode
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] v4l2 output format not supported
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] Could not find a valid device
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] can't configure decoder
00:00:01 - FFmpeg: [hevc_v4l2m2m @ 0x16bae90] V4L2 Codec end
00:00:01 - FFmpeg: V4L2 Context destroyed
00:00:01 - SDL Error (0): Unable to open decoder for format: 100
Segmentation fault
blacklaboratory commented 2 years ago

I've got the same problem here, i think maybe the workarounds for incompatible software (Kodi v19+) found here could work

I just have no idea how to force libreelec to use another decoder specificaly for moonlight :/

veldenb commented 2 years ago

I tried enforcing some other decoders but it didn't work out very well.

blacklaboratory commented 2 years ago

I guess we can downgrade to LibreELEC 9.2 with kodi 18.9 to use this version :

https://github.com/clarkemw/script.moonlight-embedded-launcher

I'll try it as soon as i receive an other SD card (I don't want to erase or do the copy thing to work on with mine because i use my pi daily)

From my understanding if you want to downgrade you must use an older version of widevine for the media player to work. I found an older comment of mine were i wrote this code.

curl https://k.slyguy.xyz/.decryptmodules/widevine/4.10.2252.0-linux-armv7.so | tee ~/.kodi/cdm/libwidevinecdm.so >/dev/null

not quite sure of this command line as i found the original for osmc wich was

curl https://k.slyguy.xyz/.decryptmodules/widevine/4.10.2252.0-linux-armv7.so | sudo tee /home/osmc/.kodi/cdm/libwidevinecdm.so >/dev/null

I'm quit noobish on this things

veldenb commented 2 years ago

From what I've read moonlight-qt is more focused on the Pi4 and moonlight-embedded more on the Pi3. Drop a line if the embedded version works better.

cgutman commented 2 years ago

From what I've read moonlight-qt is more focused on the Pi4 and moonlight-embedded more on the Pi3.

Yep, that's correct

veldenb commented 1 year ago

@blacklaboratory @Krypt0nC0R3 I added instructions in the README.md for the Pi 3, it should work using the latest release (v0.1.7 and up).

blacklaboratory commented 1 year ago

@veldenb sorry for the late response I switched to Kodi 18.9 and moonlight embedded works just fine but maybe I will have to try your fix for moonlight-qt as Kodi 18 is less and less supported