moonlight-stream / moonlight-embedded

Gamestream client for embedded systems
https://github.com/moonlight-stream/moonlight-embedded/wiki
GNU General Public License v3.0
1.5k stars 325 forks source link

2.4.8 release? #716

Closed kurac338 closed 5 years ago

kurac338 commented 5 years ago

Hi, when could we expect the new package to be released? As I dont have an option to downgrade GFE, not can I compile the source.

posti85 commented 5 years ago

A 2.4.8 release would be great. Anyway, I could help you compiling it with detailed instructions:

Based on https://github.com/irtimmer/moonlight-embedded/wiki/Compilation instructions. You have to:

sudo apt-get update
sudo apt-get install git libopus0 libexpat1 libasound2 libudev1 libavahi-client3 libcurl3 libevdev2 libenet7 libssl-dev libopus-dev libasound2-dev libudev-dev libavahi-client-dev libcurl4-openssl-dev libevdev-dev libexpat1-dev libpulse-dev uuid-dev libenet-dev cmake gcc g++ fakeroot debhelper

Also, if you have OSMC:

sudo apt-get install rbp-userland-dev-osmc

Or if you have Raspbian:

sudo apt-get install libraspberrypi-dev

Make sure you uninstall previous moonlight-embedded version installed:

sudo apt-get purge moonlight-embedded

Then donwload the moonlight-embedded sources, compile and insall it:

git clone https://github.com/irtimmer/moonlight-embedded.git
cd moonlight-embedded
git submodule update --init
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig

Lastly, reboot:

sudo shutdown -r now
Rubikaz commented 5 years ago

I get the following error (I have raspbian)

pi@raspberrypi:~/moonlight-embedded/build $ cmake ../ -- The C compiler identification is GNU 4.9.2 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Found ALSA: /usr/lib/arm-linux-gnueabihf/libasound.so (found version "1.0.28") -- Found Opus: /usr/lib/arm-linux-gnueabihf/libopus.so
-- Found Broadcom: /opt/vc/include
-- Could NOT find Freescale (missing: FREESCALE_INCLUDE_DIR KERNEL_INCLUDE_DIR VPU_LIBRARY) -- Could NOT find Amlogic (missing: AMLOGIC_INCLUDE_DIR AMCODEC_LIBRARY AMADEC_LIBRARY AMAVUTILS_LIBRARY) -- Could NOT find Rockchip (missing: ROCKCHIP_INCLUDE_DIR ROCKCHIP_LIBRARY) -- Found PkgConfig: /usr/bin/pkg-config (found version "0.28") -- Checking for module 'libevdev' -- Found libevdev, version 1.3 -- Checking for module 'libudev' -- Found libudev, version 215 -- Checking for module 'sdl2>=2.0.4' --
-- Checking for module 'libavcodec' -- No package 'libavcodec' found -- Checking for module 'libavutil' -- No package 'libavutil' found -- Checking for module 'x11' -- No package 'x11' found -- Checking for module 'vdpau' -- No package 'vdpau' found -- Checking for module 'libva' -- No package 'libva' found -- Checking for module 'libva-x11' -- No package 'libva-x11' found -- Checking for module 'libpulse-simple' -- Found libpulse-simple, version 5.0 -- Checking for module 'libcec>=4' --
-- Checking for module 'egl' -- No package 'egl' found -- Checking for module 'glesv2' -- No package 'glesv2' found -- Checking for one of the modules 'uuid' -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
-- Found CURL: /usr/lib/arm-linux-gnueabihf/libcurl.so (found version "7.38.0") CMake Error at /usr/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake:148 (message): Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR: Found unsuitable version "1.0.1t", but required is at least "1.0.2" (found /usr/lib/arm-linux-gnueabihf/libssl.so;/usr/lib/arm-linux-gnueabihf/libcrypto.so) Call Stack (most recent call first): /usr/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake:386 (_FPHSA_FAILURE_MESSAGE) /usr/share/cmake-3.6/Modules/FindOpenSSL.cmake:370 (find_package_handle_standard_args) libgamestream/CMakeLists.txt:6 (find_package)

-- Configuring incomplete, errors occurred! See also "/home/pi/moonlight-embedded/build/CMakeFiles/CMakeOutput.log". See also "/home/pi/moonlight-embedded/build/CMakeFiles/CMakeError.log". CMakeError.log CMakeOutput.log

posti85 commented 5 years ago

Yesterday I have achieved it with a clean Raspbian installation. I wanted to document the whole process somewhere (It has been here). It worked like a charm. Make a SD backup and try it.

seriously24 commented 5 years ago

Worked well on a clean Retropie v4. 4 installation too. Thanks!

hhromic commented 5 years ago

@seriously24 if you are using RetroPie, give it a try to the upcoming scriptmodule for moonlight here https://retropie.org.uk/forum/topic/19872/moonlight-request-for-comments-and-testing. Your feedback would be highly appreciated :)

Nitrus commented 5 years ago

@posti85 @seriously24 are you compiling the master branch or one of the Raspbian branches? They seem to be outdated

posti85 commented 5 years ago

I compiled the code from master and it worked without any problems. Tested in OSMC and Raspbian.

Nitrus commented 5 years ago

The minimum required OpenSSL version is listed as 1.0.2. Raspbian Jessie is stuck on 1.0.1, so I compiled 1.0.2 (stable) from the OpenSSL repository, and I got the following error when making moonlight: libgamestream/libgamestream.so.2.4.7: undefined reference to OPENSSL_init_crypto OPENSSL_init_crypto is introduced in OpenSSL 1.1.0. I think the 1.0.2 requirement is inaccurate. (@irtimmer tagging for awareness)

The most recent Raspbian (stretch) would most likely have everything required, since Debian stretch already has 1.1.0: https://packages.debian.org/stretch/openssl

RetroPie being Raspbian under the surface, would clearly work. Older distros however, will not work out of the box.

Nitrus commented 5 years ago

The good news is, the OpenSSL 1.1.1 branch works okay. (on jessie, Linux raspberrypi 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux) This is a log of what I did, this is not the best way to do this. I needed to keep my existing OpenSSL configuration, so I installed this elsewhere:

$ cd ~
$ git clone https://github.com/openssl/openssl.git
$ cd openssl
$ git checkout OpenSSL_1_1_1-stable
$ ./config --prefix=/usr/local/openssl11
$ make
$ sudo make install

$ cd ~
$ git clone https://github.com/irtimmer/moonlight-embedded.git
$ cd moonlight-embedded
$ mkdir build && cd build
$ export OPENSSL_ROOT_DIR=/usr/local/openssl11 && export OPENSSL_INCLUDE_DIR=/usr/local/openssl11/include && export OPENSSL_CRYPTO_LIBRARY=/usr/local/openssl11/lib && cmake -DOPENSSL_ROOT_DIR=/usr/local/openssl11 ../
$ make
$ sudo make install

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl11/lib
$ moonlight stream
lukamilosevic commented 5 years ago

A 2.4.8 release would be great. Anyway, I could help you compiling it with detailed instructions:

Based on https://github.com/irtimmer/moonlight-embedded/wiki/Compilation instructions. You have to:

sudo apt-get update
sudo apt-get install git libopus0 libexpat1 libasound2 libudev1 libavahi-client3 libcurl3 libevdev2 libenet7 libssl-dev libopus-dev libasound2-dev libudev-dev libavahi-client-dev libcurl4-openssl-dev libevdev-dev libexpat1-dev libpulse-dev uuid-dev libenet-dev cmake gcc g++ fakeroot debhelper

Also, if you have OSMC:

sudo apt-get install rbp-userland-dev-osmc

Or if you have Raspbian:

sudo apt-get install libraspberrypi-dev

Make sure you uninstall previous moonlight-embedded version installed:

sudo apt-get purge moonlight-embedded

Then donwload the moonlight-embedded sources, compile and insall it:

git clone https://github.com/irtimmer/moonlight-embedded.git
cd moonlight-embedded
git submodule update --init
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig

Lastly, reboot:

sudo shutdown -r now

works perfectly on OSMC

Haris1977 commented 5 years ago

The previous post was very detailed and works as expected (in Raspbian image). I think it is more straight forward than the one in here:

https://github.com/irtimmer/moonlight-embedded/wiki/Compilation

I have added it in the wiki section here for anyone interested:

https://github.com/irtimmer/moonlight-embedded/wiki/Full-details-for-Compilation-and-Installation-in-Raspbian-OSMC

posti85 commented 5 years ago

@Haris1977, I recommend you to have a look to my original post since @lukamilosevic is just and old quote copy of it and may change...

Haris1977 commented 5 years ago

Ok @posti85 mea culpa. I just wanted to help here. Should i remove the page then?

posti85 commented 5 years ago

No problem. I'm just editing the wiki you created to make it more readable :)

Haris1977 commented 5 years ago

Nice work man :) Hope this is helpful to other ppl too (as it was for me) đź‘Ť

mike855 commented 5 years ago

Thank you for the tutorial. If I compile from source, will it work with last version of GFE? I'm on an old version of GFE (3.13) and it's working but can't open it anymore as it want to update. Last time I tried with GFE 3.16, controllers was not working

mike855 commented 5 years ago

Nice work man :) Hope this is helpful to other ppl too (as it was for me) +1

Thank you for the tutorial. If I compile from source, will it work with last version of GFE? I'm on an old version of GFE (3.13) and it's working but can't open it anymore as it want to update. Last time I tried with GFE 3.16, controllers was not working

posti85 commented 5 years ago

Yep, confirmed is working for me in current GE version

mike855 commented 5 years ago

Yep, confirmed is working for me in current GE version

Thanks you!

buekera commented 5 years ago

The comment https://github.com/irtimmer/moonlight-embedded/issues/716#issuecomment-445205242 helped! It's working now as expected, thanks.

stasberkov commented 5 years ago

Why don’t you publish a new release? It will save a lot of time of others.

posti85 commented 5 years ago

Now it is avaiable: https://github.com/irtimmer/moonlight-embedded/releases/tag/v2.4.8

And the detailed documentation about compiling (https://github.com/irtimmer/moonlight-embedded/issues/716#issuecomment-445205242) is also documented in the Wiki: https://github.com/irtimmer/moonlight-embedded/wiki/Full-details-for-Compilation-and-Installation-in-Raspbian-Or-OSMC

Nitrus commented 5 years ago

I think this issue is due for closing

kurac338 commented 5 years ago

A 2.4.8 release would be great. Anyway, I could help you compiling it with detailed instructions:

Based on https://github.com/irtimmer/moonlight-embedded/wiki/Compilation instructions. You have to:

sudo apt-get update
sudo apt-get install git libopus0 libexpat1 libasound2 libudev1 libavahi-client3 libcurl3 libevdev2 libenet7 libssl-dev libopus-dev libasound2-dev libudev-dev libavahi-client-dev libcurl4-openssl-dev libevdev-dev libexpat1-dev libpulse-dev uuid-dev libenet-dev cmake gcc g++ fakeroot debhelper

Also, if you have OSMC:

sudo apt-get install rbp-userland-dev-osmc

Or if you have Raspbian:

sudo apt-get install libraspberrypi-dev

Make sure you uninstall previous moonlight-embedded version installed:

sudo apt-get purge moonlight-embedded

Then donwload the moonlight-embedded sources, compile and insall it:

git clone https://github.com/irtimmer/moonlight-embedded.git
cd moonlight-embedded
git submodule update --init
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig

Lastly, reboot:

sudo shutdown -r now

How do I revert this procedure? Now that the package has been released, I want to use it. I did manage to update it, but running the moonlight command, it still shows version 2.4.7.

irtimmer commented 5 years ago

2.4.8 is released

ProDigit commented 5 years ago

all installed, save for libcurl3 needs to be libcurl4 on Buster.