• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login

SteamLink for Raspberry Pi Released

Scheduled Pinned Locked Moved General Discussion and Gaming
steamstreamingmoonlightsteamlink
75 Posts 23 Posters 30.2k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H
    hhromic
    last edited by 3 Dec 2018, 23:52

    Hi all, I just stumbled into this: https://steamcommunity.com/app/353380/discussions/0/1743353164093954254/

    The Steam Link app is now available in beta on the Raspberry Pi 3 and 3 B+ running Raspbian Stretch

    I just quickly tried it and works pretty decently on my stock non-overclocked RPI3B+. Looks like moonlight has a competitor on the RPI devices!

    Testers welcomed, this is not opensource (yet?) but maybe we can craft a scriptmodule if enough people is interested.

    M M 2 Replies Last reply 4 Dec 2018, 14:23 Reply Quote 7
    • M
      MisterMints @hhromic
      last edited by 4 Dec 2018, 14:23

      @hhromic If I install this using the script in the Steam Community link, would it show up as a system on the Emulation Station/RetroPie menu?

      H 1 Reply Last reply 4 Dec 2018, 14:26 Reply Quote 0
      • H
        hhromic @MisterMints
        last edited by 4 Dec 2018, 14:26

        @MisterMints no, but @psyke83 already sent a PR for a scriptmodule here https://github.com/RetroPie/RetroPie-Setup/pull/2550

        Should be accepted soon, so stay tuned for that PR to be merged, then update your RetroPie-Setup script and should work from ES as a port.

        M 1 Reply Last reply 4 Dec 2018, 14:41 Reply Quote 1
        • M
          MisterMints @hhromic
          last edited by 4 Dec 2018, 14:41

          @hhromic said in SteamLink for Raspberry Pi Released:

          @MisterMints no, but @psyke83 already sent a PR for a scriptmodule here https://github.com/RetroPie/RetroPie-Setup/pull/2550

          Should be accepted soon, so stay tuned for that PR to be merged, then update your RetroPie-Setup script and should work from ES as a port.

          GREAT! :)

          1 Reply Last reply Reply Quote 0
          • H
            hhromic
            last edited by 4 Dec 2018, 15:04

            Update

            The PR from @psyke83 has been accepted in RetroPie now. Update your RetroPie-Setup script and Steam Link should be available in the Experimental section. After installing, Steam Link should be visible as a port in EmulationStation (after restarting).

            Testers please let know of your experience!

            1 Reply Last reply Reply Quote 0
            • P
              psyke83 Global Moderator
              last edited by psyke83 12 Apr 2018, 16:32 4 Dec 2018, 16:29

              It seems that Valve modified their script to detect and block execution when overscan_scale is enabled (which it is in our RetroPie image), but provide a means to ignore it. Supposedly this setting can cause a black screen when streaming begins, but I haven't noticed any issues on my Pi 3B.

              It won't work until this PR is also merged: https://github.com/RetroPie/RetroPie-Setup/pull/2552

              1 Reply Last reply Reply Quote 0
              • P
                psyke83 Global Moderator
                last edited by psyke83 12 Apr 2018, 17:52 4 Dec 2018, 17:14

                I also noticed this in the same script:

                # Check to make sure the hardware is capable of streaming at 1080p60
                # Model code information from:
                # https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md
                if [ ! -f "$TOP/.ignore_cpuinfo" ]; then
                revision=$(cat /proc/cpuinfo | fgrep "Revision" | sed 's/.*: //')
                revision=$((16#$revision))
                processor=$(($(($revision >> 12)) & 0xf)) # 0: BCM2835, 1: BCM2836, 2: BCM2837
                if [ $processor -lt 2 ]; then
                show_message --error "You need to run on a Raspberry Pi 3 or newer - aborting."
                exit 1
                fi
                fi

                I wonder if this can launch on a Pi Zero/2/1, albeit with reduced streaming quality?

                It's possible to enforce a framerate limit by creating the file ~.local/share/Valve Software/Streaming Client/streaming_args.txt and adding this:

                --framerate 30

                Edit: no, it wouldn't be possible as the binary is definitely compiled for ARMv8:

                readelf -A ~/.local/share/SteamLink/bin/streaming_client
                Attribute Section: aeabi
                File Attributes
                  Tag_CPU_name: "8-A"
                  Tag_CPU_arch: v8
                  Tag_CPU_arch_profile: Application
                  Tag_ARM_ISA_use: Yes
                  Tag_THUMB_ISA_use: Thumb-2
                  Tag_FP_arch: FP for ARMv8
                  Tag_Advanced_SIMD_arch: NEON for ARMv8
                  Tag_ABI_PCS_wchar_t: 4
                  Tag_ABI_FP_rounding: Needed
                  Tag_ABI_FP_denormal: Needed
                  Tag_ABI_FP_exceptions: Needed
                  Tag_ABI_FP_number_model: IEEE 754
                  Tag_ABI_align_needed: 8-byte
                  Tag_ABI_enum_size: int
                  Tag_ABI_VFP_args: VFP registers
                  Tag_CPU_unaligned_access: v6
                  Tag_MPextension_use: Allowed
                  Tag_Virtualization_use: TrustZone and Virtualization Extensions
                

                Seems odd that they'd bother to implement a CPU override in the scripts; perhaps they might recompile for ARMv6 at a later time, but it's doubtful.

                H 1 Reply Last reply 4 Dec 2018, 18:25 Reply Quote 0
                • L
                  LeSabotageur
                  last edited by LeSabotageur 12 Apr 2018, 18:16 4 Dec 2018, 18:14

                  I've tested it on my Pi 3, yet I'm stuck when launching, the splash screen won't go away unless I kill it.

                  How can I show the output log, so I can see what's wrong ?

                  EDIT : no log in /dev/shm :(

                  1 Reply Last reply Reply Quote 1
                  • H
                    hhromic @psyke83
                    last edited by hhromic 12 Apr 2018, 18:33 4 Dec 2018, 18:25

                    @psyke83 , the RPI 2 revision 1.2 have the same CPU as the RPI3, as described in https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md

                    a22042	2B (with BCM2837)	1.2	1 GB	Embest
                    

                    the binary should work on these boards too, but definitively not on RPI 0/1.

                    Edit: funny enough, their script seems to actually check on the processor information itself, not the board nor revisions, which should pass on an RPI2 with a BCM2837 processor, so their error message is not fully true either.

                    1 Reply Last reply Reply Quote 0
                    • T
                      thezoof
                      last edited by 4 Dec 2018, 18:40

                      This is amazing. I have never played around with experimental additions for pi. Can someone provide the steps on how to achieve this from start to finish(tutorial)?

                      Thanks.

                      M 1 Reply Last reply 4 Dec 2018, 18:46 Reply Quote 0
                      • M
                        mitu Global Moderator @thezoof
                        last edited by 4 Dec 2018, 18:46

                        @thezoof You just install it as any other package - update your RetroPie-Setup script, then go into the experimental packages section, find steamlink and then install it - as @hhromic said in a previous post.

                        P 1 Reply Last reply 4 Dec 2018, 19:01 Reply Quote 1
                        • P
                          psyke83 Global Moderator @mitu
                          last edited by 4 Dec 2018, 19:01

                          @mitu said in SteamLink for Raspberry Pi Released:

                          @thezoof You just install it as any other package - update your RetroPie-Setup script, then go into the experimental packages section, find steamlink and then install it - as @hhromic said in a previous post.

                          As I mentioned earlier, it won't yet work until the second PR is merged. A temporary fix would be to manually create the override yourself:

                          mkdir -p "~/.local/share/SteamLink/"
                          touch "~/.local/share/SteamLink/.ignore_overscan"

                          @hhromic said in SteamLink for Raspberry Pi Released:

                          @psyke83 , the RPI 2 revision 1.2 have the same CPU as the RPI3, as described in https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md

                          a22042	2B (with BCM2837)	1.2	1 GB	Embest
                          

                          the binary should work on these boards too, but definitively not on RPI 0/1.

                          Edit: funny enough, their script seems to actually check on the processor information itself, not the board nor revisions, which should pass on an RPI2 with a BCM2837 processor, so their error message is not fully true either.

                          That's interesting - I wasn't aware there was a Pi 2 with ARMv8 cores.

                          On my Pi3B (revision a02082), I'm having difficulty getting a smooth streaming experience with any of the preset bitrate/quality settings for 60fps at 1360x768. I keep getting a spike in the decoder (light blue and red lines in the streaming OSD statistics). It might be possible to get a better result via the advanced parameters that can be added to streaming_args.txt such as --burst or --hardwarebitratelimit, but I haven't had time to test properly.

                          H 1 Reply Last reply 5 Dec 2018, 10:31 Reply Quote 0
                          • M
                            Mick2K @hhromic
                            last edited by 5 Dec 2018, 00:17

                            Played for a few hours and it seems pretty stable for me but I think original steam link hardware has little bit less lag.
                            Performance monitor says ~20ms but I measured around 100ms (not scientifically accurate) for the video stream.
                            Can't say something about additional controler lag cause gamepad was connected directly to PC.

                            D 1 Reply Last reply 5 Dec 2018, 02:56 Reply Quote 0
                            • D
                              Darksavior @Mick2K
                              last edited by Darksavior 12 May 2018, 03:01 5 Dec 2018, 02:56

                              @Mick2K I think it's the app. I tried both pi3b+ and firestick 4k with the steamlink app on each one right next to the router. They performed rather poorly wirelessly with wifi AC. With my real steamlink I can stream with no noticeable lag across walls. Moonlight is a crude alternative and the bitrate quality was much less (I don't remember what it uses), but the input lag was decent enough. It also detected my pad. Steamlink app doesn't on my 3b+.

                              1 Reply Last reply Reply Quote 0
                              • H
                                hhromic @psyke83
                                last edited by 5 Dec 2018, 10:31

                                @psyke83 said in SteamLink for Raspberry Pi Released:

                                That's interesting - I wasn't aware there was a Pi 2 with ARMv8 cores.

                                I only learned of it some months ago, the foundation doesn't seem to have announced it very loudly.

                                On my Pi3B (revision a02082), I'm having difficulty getting a smooth streaming experience with any of the preset bitrate/quality settings for 60fps at 1360x768. I keep getting a spike in the decoder (light blue and red lines in the streaming OSD statistics). It might be possible to get a better result via the advanced parameters that can be added to streaming_args.txt such as --burst or --hardwarebitratelimit, but I haven't had time to test properly.

                                On my Pi3B+ (plus), Steam Link seems to be running quite smoothly. I also have a 1360x768 TV but I output at 720p to take advantage of game mode (only works on CEA resolutions). Are you using ethernet or wifi to your gaming computer? The non-plus Pi3B has a very weak Wifi module and at 2.4ghz I don't think its suitable for game streaming. A realistic minimum is 5Ghz AC wireless IMHO. Moonlight also performs poorly with 2.4ghz Wifi.

                                Speaking of which, I do notice more random stutters using Steam Link compared to Moonlight, so I guess Steam Link still has some way to go to catch up. Also I don't like the packaging they chose for Steam Link. I understand is meant for novice users but their scripts are a bit cringy xD

                                1 Reply Last reply Reply Quote 0
                                • P
                                  psyke83 Global Moderator
                                  last edited by psyke83 12 May 2018, 21:11 5 Dec 2018, 20:58

                                  The required changes have been merged, so it should be safe to test the module as long as your RP script is updated. Just keep in mind that you may need to disable overscan_scale in /boot/config.txt if you experience a black screen on startup.

                                  I've also exposed the streaming_args.txt configuration to configs/ports/steamlink so that advanced tweaks are a bit easier to test. I need to set --framerate 60 in this file or else I get heavy tearing in 2D games (not related to vsync, which the client seems to have enabled).

                                  @hhromic said in SteamLink for Raspberry Pi Released:

                                  On my Pi3B+ (plus), Steam Link seems to be running quite smoothly. I also have a 1360x768 TV but I output at 720p to take advantage of game mode (only works on CEA resolutions). Are you using ethernet or wifi to your gaming computer? The non-plus Pi3B has a very weak Wifi module and at 2.4ghz I don't think its suitable for game streaming. A realistic minimum is 5Ghz AC wireless IMHO. Moonlight also performs poorly with 2.4ghz Wifi.

                                  Speaking of which, I do notice more random stutters using Steam Link compared to Moonlight, so I guess Steam Link still has some way to go to catch up. Also I don't like the packaging they chose for Steam Link. I understand is meant for novice users but their scripts are a bit cringy xD

                                  My host PC and Pi are both connected via Ethernet; the streaming statistics showed 0 packet loss and low ping, so I think it was an issue with the decoder not keeping up due to excessive bitrate.

                                  However, from some quick tests today I didn't notice those spikes (which were accompanied by audio underruns). Perhaps they improved something in the 1.03 -> 1.05 bump, but it's still not perfect, as I can notice stutter especially in a 2D game like Sonic Mania.

                                  I also tested over wireless and yes, latency was terrible. I've only got a Pi3B, so it's limited to my 2.4Ghz wireless network (in a fairly congested area).

                                  L P 2 Replies Last reply 6 Dec 2018, 17:39 Reply Quote 2
                                  • L
                                    LineOf7s
                                    last edited by 6 Dec 2018, 06:15

                                    So far it seems to work great, but using a standard wired Xbox 360 controller (userspace driver, apparently) the default mapping is... odd. Like, the left and right triggers are Select (aka Back) and Start respectively (among other things).

                                    Remapping the controller in Steam Link seems to complete successfully, but Testing Controller immediately after shows that it doesn't "take".

                                    Doing some research now to see if I can find a config file somewhere I need to tweak, but I thought I'd provide the data point in the meantime.

                                    L 1 Reply Last reply 8 Dec 2018, 13:32 Reply Quote 1
                                    • L
                                      LeSabotageur @psyke83
                                      last edited by LeSabotageur 12 Jun 2018, 17:58 6 Dec 2018, 17:39

                                      @psyke83 said in SteamLink for Raspberry Pi Released:

                                      The required changes have been merged, so it should be safe to test the module as long as your RP script is updated. Just keep in mind that you may need to disable overscan_scale in /boot/config.txt if you experience a black screen on startup.

                                      Thanks, I should've paid more attention earlier, that was my problem. Now the interface loads nicely !

                                      EDIT : Bit of feedback : I'm using VirtualHere for my input, and while on moonlight everything goes quite smoothly, with the Steam Link the input lag is a bit more noticeable. However, Helldivers, which didn't work in Big Picture in moonlight, does work here, and I'm guessing that's the case for other games like those.
                                      So all in all, I'll be sticking to moonlight for now but I'll keep an eye on the progress for this port.

                                      1 Reply Last reply Reply Quote 1
                                      • S
                                        StarshipKnight
                                        last edited by 6 Dec 2018, 21:57

                                        I am also trying it but I am struggling because my ipega 9055 controller doesn't get detected. Any suggestions??

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          thezoof
                                          last edited by 7 Dec 2018, 04:14

                                          Hey all. I was able to add steamlink as instructed via experimental package. I updated the overscan as instructed but I am still getting a black screen.

                                          I notice that in the runcommand.log I am seeing this:

                                          Executing: /usr/bin/steamlink
                                          Steam needs to install these additional packages:
                                          libgudev-1.0-0:armhf, libinput10:armhf, libmtdev1:armhf, libwacom2:armhf, libxcb-xkb1:armhf, libxkbcommon-x11-0:armhf
                                          ..Package libgudev-1.0-0:armhf needs to be installed
                                          Package libinput10:armhf needs to be installed
                                          Package libmtdev1:armhf needs to be installed
                                          Package libwacom2:armhf needs to be installed
                                          Package libxcb-xkb1:armhf needs to be installed
                                          Package libxkbcommon-x11-0:armhf needs to be installed
                                          This application failed to start because it could not find or load the Qt platform plugin "eglfs"
                                          in "".

                                          Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

                                          Reinstalling the application may fix this problem.

                                          Any ideas how to proceed?

                                          1 Reply Last reply Reply Quote 0
                                          20 out of 75
                                          • First post
                                            20/75
                                            Last post

                                          Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                          Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.

                                            This community forum collects and processes your personal information.
                                            consent.not_received