Content embedded from external sources will not be displayed without your consent.
Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
this is for rpi3 and (currently) libreelec 9.2.8. everything else previously in this thread is the same. enjoy.
Here is the current steamlink.sh. I see the newest official steamlink.sh uses uinput now but since libreelec has it compiled in everything is still good.
Content embedded from external sources will not be displayed without your consent.
Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
Wanted to play something on the tv again so decided to update this. The new steamlink is quite slick now. So anyway some updates to this.
Grabbed the newest steamlink steamlink-rpi3-1.1.61.156.tar.gz and the newest raspbian 2020-02-13-raspbian-buster-full.img . Installed steamlink the usual way, no real change there. Here are the newest libs required (md5 76ad404d0165fa2a8d84e831b43de39a).
And I added this change to my steamlink.sh script.
Code
# changed cleanup() to
pulseaudio -k
kill $CEC_PID 2>/dev/null
screenblank -k
# and added after line -- pulseaudio -D -n -F "$TOP/pulse_default.pa"
echo 'starting cec'
cec-client </dev/null | steamlink-cec &
CEC_PID="$(jobs -p) $!"
there are probably more changes I should make but this worked.
For the handful of people that care, here are the changes to grab everything.
Code
mount -o loop,ro,offset=272629760 -t ext4 2020-02-13-raspbian-buster-full.img x
# and
for i in libpng16.so.16 libjpeg.so.62 libicui18n.so.63 libicuuc.so.63 libicudata.so.63 libX11-xcb.so.1 libX11.so.6 libXext.so.6 libxcb.so.1 libxkbcommon-x11.so.0 libXau.so.6 libXdmcp.so.6 libxcb-xkb.so.1 libbsd.so.0; do cp "$(find -name $i)" .. ; done
and also for the people that want to install everything from within their rpi and don't run linux desktop/vm, here is a way to grab all the libs from the raspbian image without mounting it (as you can't from within libreelec). I got all the file positions from the img from a little script I wrote. so the results of that are (filename size position [size2 position2])
you could just dd if=2020-02-13-raspbian-buster-full.img of=FILENAME bs=1 count=SIZE skip=POSITION . in the case of libicudata.so.63 just append the second dd.
Haven't fired this up in a while and decided to give it a try. Downloaded the newest steamlink-rpi3-1.1.38.90.tar.gz and installed it to a new directory. Also downloaded the newest raspbian 2019-07-10-raspbian-buster-full.img and grabbed the newest libs. For those that care here are the changes for extracting them
Code
mount -o loop,ro,offset=276824064 -t ext4 2019-07-10-raspbian-buster-full.img x
#
for i in libicui18n.so.63 libicuuc.so.63 libicudata.so.63 libpng16.so.16 libjpeg.so.62 libX11-xcb.so.1 libX11.so.6 libXext.so.6 libxcb.so.1 libxkbcommon-x11.so.0 libXau.so.6 libXdmcp.so.6 libxcb-xkb.so.1 libbsd.so.0; do cp "$(find -name $i)" .. ; done
for everyone else here are the libs you can simply download and install libs.tar (link is only good for 14 days so someone else mirror it.) md5 is 40cf74d9c93e7e10844616e81fbca391.
And steamlink.sh needs one trivial change to work again
Code
# add this
export HOME="/storage"
# above this
export PATH="$TOP/bin:$PATH"
Content embedded from external sources will not be displayed without your consent.
Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
But I'm still facing the same problem that it won't connect when started from the addon. Starting from ssh works however as you mentioned. As you can see in the monitor script the output is saved to a logfile but I have no idea what's going wrong.
Content embedded from external sources will not be displayed without your consent.
Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
Content embedded from external sources will not be displayed without your consent.
Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
Content embedded from external sources will not be displayed without your consent.
Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
then run this from the rpi
Code
cd /storage
wget https://github.com/swetoast/steamlink-launcher/releases/download/0.0.4/plugin.program.steamlink-v.0.0.4a.zip
# install in kodi, disable updating
# copy addon.py script.steamlink.service steamlink_monitor.sh to /storage/steamlink/
mv /storage/steamlink/addon.py /storage/.kodi/addons/plugin.program.steamlink/
chmod +x /storage/steamlink/steamlink_monitor.sh
ln -s /storage/steamlink/script.steamlink.service /storage/.config/system.d/
systemctl enable script.steamlink.service
# reboot and test
Content embedded from external sources will not be displayed without your consent.
Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
I wanted to try steamlink without reinstalling anything, so after about an hour of screwing around here is how I got it working.
This only makes changes within /storage/steamlink , nothing else is touched. If you do not have at least a novice understanding of linux shell or don't fully understand the commands here DO NOT ATTEMPT.
First thing we download the newest Steamlink and extract it (run on rpi)
Code
cd /storage
wget "$(wget -q -O - http://media.steampowered.com/steamlink/rpi/public_build.txt)"
tar -zxf steamlink-rpi3-1.1.28.72.tar.gz
Next we need to download the missing libs that aren't included in this or libreelec itself. These commands might work within the rpi itself but I did them on my desktop.
Code
curl --header 'Host: director.downloads.raspberrypi.org' --user-agent 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0' --header 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' --header 'Accept-Language: en-US,en;q=0.5' --header 'DNT: 1' --header 'Upgrade-Insecure-Requests: 1' 'http://director.downloads.raspberrypi.org/raspbian_full/images/raspbian_full-2018-11-15/2018-11-13-raspbian-stretch-full.zip' --output '2018-11-13-raspbian-stretch-full.zip'
unzip 2018-11-13-raspbian-stretch-full.zip
rm -f 2018-11-13-raspbian-stretch-full.zip
mkdir x
mount -o loop,ro,offset=50331648 -t ext4 2018-11-13-raspbian-stretch-full.img x
cd x
for i in libpng16.so.16 libicui18n.so.57 libicuuc.so.57 libicudata.so.57 libX11-xcb.so.1 libX11.so.6 libXext.so.6 libxcb.so.1 libxkbcommon-x11.so.0 libXau.so.6 libXdmcp.so.6 libxcb-xkb.so.1 libbsd.so.0; do cp "$(find -name $i)" .. ; done
cd ..
umount x
rmdir x
Now we have extracted all the libs we need from raspbian, next step is to transfer them into steamlink's /lib folder (the hostname will be different for your setup)
Code
scp lib* root@rpi3:/storage/steamlink/lib/
Next we need to install the steamlink udev rules, but udev is readonly, so we just overlay it (run from rpi)
Content embedded from external sources will not be displayed without your consent.
Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
Now the final step is to stop kodi and start steamlink (run on rpi)
Code
systemctl stop kodi
cd /storage/steamlink && ./steamlink.sh
and when your done just restart kodi or "reboot"
Code
systemctl start kodi
I am quite impressed how well this works, everything ran smooth as silk. gj Valve!
I have this working just fine. I'm on here just to vent that updating to version 9.0.110 essentially disables the plugin then I have to manually roll back to 109. I say just put a note when you go into settings stating the newest version doesn't work with the latest GFE.
And to make this post not useless garbage here is what I did to make it work (going from memory a bit).
On Windows:
use DDU to completely uninstall nvidia.
reinstall the latest drivers but no GFE (in my case 416.64-desktop-notebook-win8-win7-64bit-international-whql.hf.exe)
installed NVIDIA_GeForce_Experience_v3.12.0.84.exe (possibly v3.14.1.48, will have to check later)
enable shield, do PIN etc
disabled GFE auto-updating on boot by adding to the hosts file
On Libreelec (RPI3B+ wired)
running "Moonlight Embedded 2.4.6" (don't remember if I manually updated it)
FPS : 60
bitrate : 20000
packet size : 1024
remote opt. : on
don't allow gfe : on
play audio locally : on
stream 5.1 : off
audio device : sysdefault
had to manually change some files so my wireless ps3 controllers would work