Steam Link

Steam Link

[solved] 1.1.80.197 seg fault in raspberry 3B+
Update: somehow libavcodec58 was broken in my raspberry. Reinstalling it (sudo apt install --reinstall libavcodec58) fixed everything.

Thanks to slouken for pointing me to gdb!

-------------------------------------

Hi all!

I have been using steamlink without problems in my raspberry pi 3B+ for a while, but yersterday I did an apt upgrade and now steamlink crashes and restarts immediately after it connects to the host.

Steamlink version is 1.1.80.197 and the info in the terminal is:

pi@raspberrypi:~ $ steamlink Added controller with mapping 030000005e0400008e02000072056800,*,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3, INFO: Connected to Remote Client service with session 441899258436381024 INFO: Starting Streaming INFO: Received authorization proof request, responding with encrypted challenge INFO: Received start streaming response k_ERemoteDeviceStreamingSuccess INFO: Initializing player INFO: Refresh rate: 60.00 INFO: Effective rate: 59.75 INFO: Video rect: 0x0 at 0,0 INFO: Texture rect: 1920x1080 at 0,0 INFO: Video size: 1920x1080, output size: 1920x1080, overlay size: 1280x256 INFO: Video rect: 1920x1080 at 0,0 INFO: Texture rect: 1920x1080 at 0,0 INFO: Video rect: 1920x1080 at 0,0 INFO: Texture rect: 1920x1080 at 0,0 INFO: Hardware: ARMv7 Processor rev 4 (v7l) INFO: Initialized player INFO: Server available at address: 192.168.1.63:27031 INFO: Connecting to server at 192.168.1.63:27031 using direct UDP INFO: Session state Idle -> Connecting INFO: CStreamTransportClient stopping Remote Client service connection INFO: Video size: 1920x1080, output size: 1920x1080, overlay size: 1280x256 INFO: Video rect: 1920x1080 at 0,0 INFO: Texture rect: 1920x1080 at 0,0 INFO: Video rect: 1920x1080 at 0,0 INFO: Texture rect: 1920x1080 at 0,0 INFO: Session state Connecting -> Handshake INFO: Session state Handshake -> Authenticating INFO: Got control packet k_EStreamControlServerHandshake INFO: Session state Authenticating -> Negotiating INFO: Got control packet k_EStreamControlAuthenticationResponse /home/pi/.local/share/SteamLink/steamlink.sh: line 149: 1337 Segmentation fault "streaming_client" "--settings" "/home/pi/.local/share/Valve Corporation/SteamLink/streaming_settings.bin" "--stats" "/home/pi/.local/share/Valve Corporation/SteamLink/streaming_stats.bin" "--sdr_config" "/home/pi/.local/share/Valve Corporation/SteamLink/sdr_config.txt" "--burst" "90000" "--captureres" "1920x1080" "--performance-icons" "--transport" "k_EStreamTransportUDP" "--steamid" "76561198006628214" "--server" "192.168.1.63:27031" "1bb284bd606aaca57e9345db0af8bc89" Added controller with mapping 030000005e0400008e02000072056800,*,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3, INFO: Connected to Remote Client service with session 9117573224798580487 Added controller with mapping 030000007e0500000920000000026800,*,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,misc1:b15,

All the packages in the raspberry are up to date, and I have tried connecting both via ethernet and wifi, and both with and without the controller plugged in. I have also increased the GPU memory from the 77MB default to 128MB.

Any help is appreciated!
< >
Showing 1-4 of 4 comments
What is the output of cat /etc/os-release ?

Can you run gdb on the streaming client to see where it's crashing?
It's a little tricky, you'll need to edit steamlink.sh so that it doesn't actually do eval $cmd, and instead prints it out so you can see what arguments to pass to the streaming client under the debugger.

I just tested under stretch and buster, both completely up to date and didn't have any issues.
Thanks for you help, slouken!

I don't see anything in the gdb output pasted below, but I'm not really familiar with gdb.

I think I'm having the same issue mentioned in https://steamcommunity.com/app/353380/discussions/10/3047230768362312428/

Just in case the problem was with the host, I have tried disabling the hardware encoding and the dynamic resolution, but no luck.

cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" NAME="Raspbian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

pi@raspberrypi:~/.local/share/SteamLink/bin $ export LD_LIBRARY_PATH="/home/pi/.local/share/SteamLink/lib:/home/pi/.local/share/SteamLink/Qt-5.14.1/lib" pi@raspberrypi:~/.local/share/SteamLink/bin $ gdb --args ./streaming_client "--settings" "/home/pi/.local/share/Valve Corporation/SteamLink/streaming_settings.bin" "--stats" "/home/pi/.local/share/Valve Corporation/SteamLink/streaming_stats.bin" "--sdr_config" "/home/pi/.local/share/Valve Corporation/SteamLink/sdr_config.txt" "--burst" "90000" "--captureres" "1920x1080" "--performance-icons" "--transport" "k_EStreamTransportUDP" "--steamid" "76561198006628214" "--server" "192.168.1.31:27031" "0700a8bec5da4331e5394f6618c4a714" (gdb) run Starting program: /home/pi/.local/share/SteamLink/bin/streaming_client --settings /home/pi/.local/share/Valve\ Corporation/SteamLink/streaming_settings.bin --stats /home/pi/.local/share/Valve\ Corporation/SteamLink/streaming_stats.bin --sdr_config /home/pi/.local/share/Valve\ Corporation/SteamLink/sdr_config.txt --burst 90000 --captureres 1920x1080 --performance-icons --transport k_EStreamTransportUDP --steamid 76561198006628214 --server 192.168.1.31:27031 0700a8bec5da4331e5394f6618c4a714 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". [New Thread 0x7622f430 (LWP 3086)] INFO: Initializing player [New Thread 0x75a1a430 (LWP 3087)] [New Thread 0x750ff430 (LWP 3088)] [New Thread 0x748fe430 (LWP 3089)] [New Thread 0x740fd430 (LWP 3090)] [New Thread 0x6e15b430 (LWP 3091)] [New Thread 0x6d95a430 (LWP 3092)] [New Thread 0x6cdff430 (LWP 3093)] [New Thread 0x6c5fe430 (LWP 3094)] [New Thread 0x6bbff430 (LWP 3095)] [New Thread 0x6b3fe430 (LWP 3096)] [New Thread 0x6abfd430 (LWP 3097)] [New Thread 0x69fff430 (LWP 3098)] [New Thread 0x5976c430 (LWP 3099)] INFO: Refresh rate: 60.00 INFO: Effective rate: 59.75 INFO: Video rect: 0x0 at 0,0 INFO: Texture rect: 1920x1080 at 0,0 INFO: Video size: 1920x1080, output size: 1920x1080, overlay size: 1280x256 INFO: Video rect: 1920x1080 at 0,0 INFO: Texture rect: 1920x1080 at 0,0 INFO: Video rect: 1920x1080 at 0,0 INFO: Texture rect: 1920x1080 at 0,0 INFO: Hardware: ARMv7 Processor rev 4 (v7l) INFO: Initialized player INFO: Server available at address: 192.168.1.31:27031 INFO: Connecting to server at 192.168.1.31:27031 using direct UDP [New Thread 0x59167430 (LWP 3100)] [New Thread 0x59066430 (LWP 3101)] INFO: Session state Idle -> Connecting INFO: CStreamTransportClient stopping Remote Client service connection INFO: Video size: 1920x1080, output size: 1920x1080, overlay size: 1280x256 INFO: Video rect: 1920x1080 at 0,0 INFO: Texture rect: 1920x1080 at 0,0 INFO: Video rect: 1920x1080 at 0,0 INFO: Texture rect: 1920x1080 at 0,0 [Detaching after fork from child process 3102] [Thread 0x59066430 (LWP 3101) exited] [Thread 0x59167430 (LWP 3100) exited] INFO: Session state Connecting -> Idle [Thread 0x5976c430 (LWP 3099) exited] [Thread 0x69fff430 (LWP 3098) exited] [Thread 0x6abfd430 (LWP 3097) exited] [Thread 0x6b3fe430 (LWP 3096) exited] [Thread 0x6bbff430 (LWP 3095) exited] [Thread 0x6c5fe430 (LWP 3094) exited] [Thread 0x6cdff430 (LWP 3093) exited] [Thread 0x6d95a430 (LWP 3092) exited] [Thread 0x6e15b430 (LWP 3091) exited] [Thread 0x7622f430 (LWP 3086) exited] [Thread 0x740fd430 (LWP 3090) exited] [Thread 0x748fe430 (LWP 3089) exited] [Thread 0x750ff430 (LWP 3088) exited] [Thread 0x75a1a430 (LWP 3087) exited] [Inferior 1 (process 3083) exited normally]
Fixed!

I noticed steamlink also crashed when I clicked on settings -> streaming -> more, so I run gdb and found

Thread 1 "shell" received signal SIGSEGV, Segmentation fault. 0x4c513408 in av_codec_is_decoder () from /lib/arm-linux-gnueabihf/neon/vfp/libavcodec.so.58

so I reinstalled the libavcodec58 package (sudo apt install --reinstall libavcodec58) and now everything seems to be working -- no clue how it broke, but at least it was easy to fix!

Thanks a lot for pointing me to gdb, slouken!
Great, I'm glad you figured it out!
< >
Showing 1-4 of 4 comments
Per page: 1530 50