Posts by bubuman

    Something is not building right...

    I went back to the original 2.2.2 package that comes from libreelec repository (moonlight-embedded-9301898) and added the following debug to platform.c:

    #ifdef HAVE_AML

    if (std|| strcmp(name, "aml") == 0) {

    void *handle = dlopen("libmoonlight-aml.so", RTLD_NOW | RTLD_GLOBAL);

    printf("Handle error: %s\n", dlerror());

    printf("Access /dev/amvideo: %i\n", access("/dev/amvideo", F_OK));

    if (handle != NULL && access("/dev/amvideo", F_OK) != -1)

    return AML;

    }

    Got this:

    LibreELEC:~/downloads # ./moonlight stream -p aml

    Moonlight Embedded 2.2.2 (SDL;VDPAU;EMBEDDED;PULSE;CEC;AML)

    Handle error: /usr/lib/libamcodec.so: undefined symbol: codec_sw_decoder_set_ratio

    Access /dev/amvideo: 0

    Platform 'aml' not found

    This happens even if I build the whole libreelec image from the same sources I compiled moonlight...

    If I copy libamcodec.so from S805, moonlight starts with amlogic platform but nothing gets displayed to the screen..

    Guess i can't just copy a library like that..

    kszaq if you have a minute your insight would be greatly appreciated

    I tried to add some basic debugging to moonlight-embedded src/platform.c

    #ifdef HAVE_AML

    if (std|| strcmp(name, "aml") == 0) {

    void *handle = dlopen("libmoonlight-aml.so", RTLD_NOW | RTLD_GLOBAL);

    printf(handle);

    if (handle != NULL && access("/dev/amvideo", F_OK) != -1) {

    printf("Returning AML\n");

    return AML;

    }

    }

    the moment i added "printf(handle);" everyting started working !!!

    ./moonlight --verbose stream 192.168.1.100 -mapping /storage/.kodi/addons/script.moonlight/share/moonlight/mappings/xbox360.conf

    Moonlight Embedded 2.4.0 (SDL;EMBEDDED;ALSA;PULSE;CEC;AML)

    Connect to 192.168.1.100...

    NVIDIA GeForce GTX 970, GFE 3.6.0.74 (gs_03_70_22061309, 7.1.370.0)

    Returning AML

    Platform AMLogic VPU

    No mapping available for /dev/input/event1

    No mapping available for /dev/input/event0

    No mapping available for /dev/input/event2

    Stream 1280 x 720, 60 fps, 10000 kbps

    Initializing platform...done

    Resolving host name...done

    Starting RTSP handshake...done

    Initializing control stream...done

    Initializing video stream...done

    Initializing audio stream...done

    Initializing input stream...done

    Starting control stream...done

    Starting video stream...done

    Starting audio stream...done

    Starting input stream...done

    Problem now is I am getting a black screen instead of a stream....

    Will continue to investigate.

    That's great news !!

    Did you try putting it in the same dir as the binary ?

    On my S805 it is sitting under: ./storage/.kodi/addons/script.moonlight/lib/libmoonlight-aml.so

    I already saw you asked irtimmer over at github.

    Let's hope for the best.

    I am not sure how to properly build the package... so did it in a very quick-and -dirty way...

    I fixed the pakage.mk to both moonlight-common-c & moonlight-embedded to download the latest:

    PKG_VERSION="master"

    PKG_URL="https://github.com/irtimmer/moonlight-embedded/archive/$PKG_VERSION.zip" (for common-c it's a different URL of course)

    Then i had to recreate the two moonlight-embedded patches to work with the updated CmakeLists.txt.

    After that I ran "PLATFORM=S905 ARCH=arm scripts/build moonlight-embedded"

    This created the compiled files inside a hidden directory under build-Libreeles..S905 / moonlight-embedded/.aml... (not at home so don't remember the exact names)

    I just copied all the contents to the "downloads" directory on my S905, moved the required libraries in the same directory as the executable and ran it.

    I need someone with some C knowledge to have a peek at moonlight sources and check if I had a build env problem (Amlogic platform was not included ?) and try to figure out why the resulting binary fails to detect any platform...

    If we can get moonlight (any version) to accept "-platform aml" and see the error we make progress...

    I managed (i think) to build the latest moonlight-common-c & moonlight-embedded from github-master

    Now, testing on my S905 I see the "-platform" option does exist:

    LibreELEC-LR:~/downloads # ./moonlight

    Moonlight Embedded 2.4.0

    Usage: moonlight [action] (options) [host]

    moonlight [configfile]

    Actions

    pair Pair device with computer

    unpair Unpair device with computer

    stream Stream computer to device

    list List available games and applications

    quit Quit the application or game being streamed

    help Show this help

    Global Options

    -config <config> Load configuration file

    -save <config> Save configuration file

    -verbose Enable verbose output

    -debug Enable verbose and debug output

    Streaming options

    -720 Use 1280x720 resolution [default]

    -1080 Use 1920x1080 resolution

    -4k Use 3840x2160 resolution

    -width <width> Horizontal resolution (default 1280)

    -height <height> Vertical resolution (default 720)

    -fps <fps> Specify the fps to use (default -1)

    -bitrate <bitrate> Specify the bitrate in Kbps

    -packetsize <size> Specify the maximum packetsize in bytes

    -codec <codec> Select used codec: auto/h264/h265 (default auto)

    -remote Enable remote optimizations

    -app <app> Name of app to stream

    -nosops Don't allow GFE to modify game settings

    -localaudio Play audio locally

    -surround Stream 5.1 surround sound (requires GFE 2.7)

    -keydir <directory> Load encryption keys from directory

    -mapping <file> Use <file> as gamepad mappings configuration file

    -platform <system> Specify system used for audio, video and input: pi/imx/aml/x11/x11_vdpau/sdl/fake (default auto)

    -unsupported Try streaming if GFE version is unsupported

    I/O options (Not for SDL)

    -input <device> Use <device> as input. Can be used multiple times

    -audio <device> Use <device> as audio output device

    Use Ctrl+Alt+Shift+Q or Play+Back+LeftShoulder+RightShoulder to exit streaming session


    But now moonlight does not seem to detect ANY platform:

    LibreELEC-LR:~/downloads # ./moonlight stream 192.168.1.100

    Connect to 192.168.1.100...

    Platform 'auto' not found

    LibreELEC-LR:~/downloads # ./moonlight stream -platform aml 192.168.1.100

    Connect to 192.168.1.100...

    Platform 'aml' not found

    It is maybe a problem with my build ?

    A obvious difference between the versions this:

    original:

    LibreELEC-LR:~/downloads # moonlight

    Moonlight Embedded 2.2.2 (SDL;EMBEDDED;PULSE;CEC;AML)


    latest:

    LibreELEC-LR:~/downloads # ./moonlight

    Moonlight Embedded 2.4.0

    Usage: moonlight [action] (options) [host]

    moonlight [configfile]

    You can see there is nothing printed here after the 2.4.0 version (EMEDDED;AML etc..)

    Since i am no developer, I need some help with this...

    It DOES indeed work on s805 MXQ

    Here it is running:

    LibreELEC (community) Version: 8.0.2a

    LibreELEC git: f70e3e1b5d7bec9e1a90c12c778a946db12063ff

    LibreELEC# uname -a

    Linux LibreELEC-BR 3.10.99 #1 SMP PREEMPT Sat May 27 00:33:14 CEST 2017 armv7l GNU/Linux

    LibreELEC-BR:~ # cat /proc/cpuinfo

    Processor : ARMv7 Processor rev 1 (v7l)

    processor : 0

    BogoMIPS : 7.52

    processor : 1

    BogoMIPS : 7.52

    processor : 2

    BogoMIPS : 7.52

    processor : 3

    BogoMIPS : 7.52

    Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4

    CPU implementer : 0x41

    CPU architecture: 7

    CPU variant : 0x0

    CPU part : 0xc05

    CPU revision : 1

    Hardware : Amlogic Meson8B

    Revision : 000a

    Serial : 1b00000000000000

    LibreELEC # moonlight stream 192.168.1.100

    Moonlight Embedded 2.2.2 (SDL;EMBEDDED;PULSE;CEC;AML)

    Connect to 192.168.1.100...

    NVIDIA GeForce GTX 970, GFE 3.6.0.74 (protocol version 7)

    Stream 1280 x 720, 60 fps, 10000 kbps

    Initializing platform...done

    Resolving host name...done

    Starting RTSP handshake...done

    Initializing control stream...done

    Initializing video stream...done

    Initializing audio stream...done

    Initializing input stream...done

    Starting control stream...done

    Starting video stream...OPEN es hevc

    done

    Starting audio stream...done

    Starting input stream...done

    So CvH - Amlogic S805 definetley works, and very well in fact. 1080@60 gaming over LAN is very smooth.

    It is really cool to be able to stream my games to the same box running Libreelec in my living room.

    Now, we just need to pass the love to S905 :)

    I opened an issue over at moonlight-embedded github and got this reply from irtimmer :

    "It looks like the S905 build can't get access to the video decoder. Try to run with the option -platform aml to force the correct video output instead of SDL and hopefully get some more meaningful error message."

    But when trying this on my S905 i get an error that "aml" is an unknown platform...

    But the moonlight version from kszaq repo is only 2.2.2 (I think latest is 2.4)

    I have now downloaded Libreelec sources and am trying to compile the latest moonlight-embedded code but i am no developer and it's my first time will take some time...

    Any help welcome. Thanks.

    Hi all.

    Struggling with the same issue myself...

    I have two amlogic boxes S805 and S905 both running kszaq krypton builds.

    On the S805 (latest 8.0.2a build, moonlight installed from kszaq repository) moonlight is working just fine.

    On the S905 (latest 8.0.2a build, moonlight installed from kszaq repository) I get the same annoying "Could not initialize SDL - SDL not built with video support"...

    Tried manually installing the S805 moonlight zip on the S905 but am getting the same error...

    From kszaq's reply on the main forum there should not be any significant difference between the builds:

    "S805 and S905 builds have pretty much the same config and they follow official LE builds."

    Can anyone suggest what can be the difference preventing moonlight from working on S905 ?

    Encountering the same issues trying to get moonlight running on my S905 box.

    The pairing seems to be a moonlight bug, but workaround using commandline is good enough (since it's a one time thing).

    I managed to get moonlight working on an S805 box since the compilation there seems to already include SDL video support !

    kszaq (Great work you are amazing !!!) is there any reason why the S905 builds are missing SDL video support by default ?

    kayman1021

    Did you manage to compile a version with SDL video support?

    Thanks !