Steam Link

Steam Link

Almost have a local terminal running on the Link
So I've started trying as many SDL2 examples/programs I can find to see what works/runs/or just refuses to do anything. The next task I gave myself was getting a local terminal running on the Link that I can use a keyboard with.

In comes EtherTerm https://github.com/M-griffin/EtherTerm

This is more of a traditional terminal emulator with some preset BBS sources but it let's you add any SSH/telnet connection.

cd steamlink-sdk/examples git clone https://github.com/M-griffin/EtherTerm cd EtherTerm source ../../setenv.sh

Now I start a compile.

make linux

And here's the first hurdle (but easily enough solved) It needs libssh which doesn't come as a prebuilt library on the Link. After a quick Google I have the sources downloaded and compiled and with one little trick injected into the Steam Link rootfs.

git clone git:/git.libssh.org/projects/libssh.git cd libssh/ mkdir build cd build cmake -DCMAKE_TOOLCHAIN_FILE=/home/parker/build/steamlink-sdk/toolchain/steamlink-toolchain.cmake ../ make -j4 make DESTDIR=/home/parker/build/steamlink-sdk/rootfs/usr/ install

This doesn't quite put the code in the right location but a simple copy fixes that.

cd /home/parker/build/steamlink-sdk/rootfs/usr/ cp -R usr/local/* .

Now we can compile EtherTerm

cd /home/parker/build/steamlink-sdk/examples/EtherTerm make linux

While you are here edit assets/dialdirectory.xml and add this line to the block

<BBS name="Local" ip="127.0.0.1" port="22" protocol="SSH" login="root" password="yourrootpassword" font="topazPlus-8x16.bmp" keyMap="VT100" />

Now we copy everything over

ssh root@link-ip mkdir /home/steam/EtherTerm scp -r assets/ root@link-ip:/home/steam/EtherTerm scp EtherTerm root@link-ip:/home/steam/EtherTerm

And we need not forget our libssh since that doesn't exist on the Link

scp -r /home/parker/build/steamlink-sdk/rootfs/usr/usr/local/lib/* root@link-ip:/home/steam/EtherTerm/

We can then SSH in and run the program

ssh root@link-ip cd EtherTerm LD_LIBRARY_PATH=./ ./EtherTerm

The LD variable is needed because we can't copy libs to the read-only root filesystem. That loads the libs from the same directory as the executable.

Here's a video of it in action https://www.youtube.com/watch?v=aw8LMEjaL6Q

So yeah runs and looks fine (albeit a bit oversized) but character input not as much. I tried ANSI and VT100 in the aforementioned config file with same result on both.
< >
Showing 1-1 of 1 comments
Yeah the application bundle would be easy to do. Just the icon and text file to point to the executable.
< >
Showing 1-1 of 1 comments
Per page: 1530 50