Steam Link

Steam Link

Limer 15 Dec, 2017 @ 6:56pm
Free VirtualHere for SteamLink (USBIP)
Want to try VirtualHere before you buy the Steam version?
One transferred USB device is enough for you?
Then this maybe just for you.

I build a small SteamLink Native App which enables you to use free VirtualHere USB Clients[virtualhere.com] for one USB device at a time.

Be aware that someone (guess who) is deleting post concerning this topic/possibility in the VH for SL discussions.

A few details
  • The first time you start the VHUSB app it downloads the free VirtualHere USB Server[virtualhere.com] "vhusbdarm"[virtualhere.com] and starts it. To circumvent any potential license[virtualhere.com] issues I didn't included the binary, even though I don't see any.
  • The VirtualHere USB Server keeps running as long the SL is not power cycled. So you only need to start it once in while.
  • Starting the app while the daemon is already running is no problem (the new instance quits after it sees the already running one).
  • It contains a preconfigured config[virtualhere.com] (see below).
  • VH Clients can connect to the SL the whole time the SL is running. Not just when you stream from a PC.
  • The downloaded VH server binary on the SL is most likely less efficient than the integrated one.
    If you experience problems possibly related to this you can investigate by enabling SSH on the SL, connecting to the SSH an running "top" to monitor CPU usage.

DOWNLOAD
sha256 = 9aeff21f64fd6518ff4d4d8980d3f1b54cb813457d6e08a765d33cf614008f0f
from GitHub[github.com]

(old sha256 = fecd9fb73e83c14acc95ceb81f8561016b664ff053551fc4fccf8f185b4c6785)

How to install[github.com]



What's inside the vhusb.tgz
  1. ./vhusb/bin/config.ini
    ;see here for more infos: https://virtualhere.com/configuration_faq ;SrvName can be changed from the client - this is just a useful start. ServerName=$HOSTNAME$ ;UseAVAHI=0 ;IgnoredDevices= ;IgnoredBuses= ;AllowedDevice= <- only allow the keyboard you're using?! ;CompressionLimit=

  2. ./vhusb/icon.png
  3. ./vhusb/vhusb.sh
    #!/bin/sh cd ./bin executable=vhusbdarm if [ -f $executable ] then echo Run VHUSB Server in background mode. exec ./$executable -b else echo Downloading the VHUSB Server with WGET. wget https://virtualhere.com/sites/default/files/usbserver/vhusbdarm # MISSING! Check return code, file etc... chmod a+x ./$executable echo ... and running it in background mode. exec ./$executable -b fi #NOTES: # GUI Idea - enable user to edit the config.ini and (re)start the vhusbdarm daemon (automatically if config was modified). # Pid management? for later killing? # How to Verify integrity of the downloaded server? Show sha256s of binary on first install or sth? # If the "App" is removed while the daemon is still running, the files/dirs are removed but the daemon stays until the next powercycle. # ... don't know what happens if the daemon tries to use it's config.ini

  4. ./vhusb/toc.txt
    name=VHUSB icon=icon.png run=vhusb.sh

To modify it and/or integrate the vhusbdarm binary just unpack everything and repack it as a .tgz (.tar.gz).
NOTE: Keep in mind that the text files need the Linux EOL-character "LF". They won't work with Windows's "CR+LF".

I used PeaZip[www.peazip.org].


From the notes in some files you can gather that this is far from perfect, but it's a start.

Have fun!


Disclaimer - I was not the first one to think of this general possibility. I got the idea, searched a little bit and found this thread/post[steamcommunity.com].
Last edited by Limer; 18 Feb, 2020 @ 7:50am
< >
Showing 1-15 of 43 comments
Limer 15 Dec, 2017 @ 7:30pm 
With self written wrapper scripts it should be possible to
  1. start a vh-client on the PC.
  2. direct it to transfer a specific USB device required for the game from the SL to the PC.
  3. start the game and wait until it quits.
  4. close the vh-client client.

Take a look at the client api[virtualhere.com].


I'm using VHUSB with a heavily modified "AHK Desktop Streaming" script to stream my desktop without an restrictions on the keyboard.

Details will follow...



Last edited by Limer; 15 Dec, 2017 @ 7:31pm
ivibeade 16 Dec, 2017 @ 4:07am 
what do i do whit vhusb.tgz , where i install it
EdszxNeo 16 Dec, 2017 @ 11:15am 
Thank you very much for this, it'll come in handy specially because i was thinking in trying virtualhere soon with some devices, i really appreciate it.
Limer 16 Dec, 2017 @ 12:33pm 
Originally posted by IVIBeade:
what do i do whit vhusb.tgz , where i install it

Originally posted by https://github.com/ValveSoftware/steamlink-sdk#deploying:
Deploying

Put the files in a folder with the app name on a USB drive under \steamlink\apps, insert it into the Steam Link and power cycle the device.

The app will be copied onto the system at boot and can be launched from the menu.

  1. Create the directory structure "\steamlink\apps" on an FAT32(*) USB thumb drive
    (e.g. "F:\steamlink\apps" if your thumb drive got the drive letter "F").
  2. copy the vhusb.tgz in the apps directory (e.g. "F:\steamlink\apps\vhusb.tgz") and remove it safely from the PC (unmount).
  3. Power off your SteamLink (=SL) by disconnecting the power supply.
  4. Attach the thumb drive to your SL and power it on.
  5. When the SL is finished booting you should see a new icon (VH USB) next to your available Steam PCs.

If the new icon doesn't appear you can try other thumb drives and other USB ports on the SL.

(*) FAT16 and exFAT may work as well. Don't know about extN and NTFS
Last edited by Limer; 16 Dec, 2017 @ 2:44pm
Limer 17 Dec, 2017 @ 3:06pm 
OT UPDATE:

Update 2017-12-17 - I got banned on the VirtualHere for Steam Link Forum without any reason given.
To be fair, I re-posted some notes in relevant places pointing to this thread after the first few got deleted. Thus I technically violated one Discussions Rule, namely:
Post spam (i.e. +1, 10char, rickrolls) or Re-post Closed, Modified, Deleted Content
But the first posts did not violate any rules or guidelines.

... maybe keep that in mind if anyone wants to post there too.
Last edited by Limer; 17 Dec, 2017 @ 3:15pm
EdszxNeo 17 Dec, 2017 @ 3:42pm 
Originally posted by Limer:
... maybe keep that in mind if anyone wants to post there too.

I doubt anyone is willing to take the risk, most users that are interested in SL Development/Native Apps already know this subforum, so i think it's ok to just have it here, if anyone needs this they'll find it.
DirtyCamper 18 Dec, 2017 @ 1:59am 
Isn't it more easy to replace virtualhere with usbip, which linux already supports? I assume virtualhere does not have any relations with usbip, as usbip probably exists longer than virtualhere.
Virtualhere is only a solution for windows users, but we linux users should be able to set up usbip fairly easily.
I have never had a need to use it though.
Limer 18 Dec, 2017 @ 9:09am 
Originally posted by DirtyCamper:
Isn't it more easy to replace virtualhere with usbip, which linux already supports? I assume virtualhere does not have any relations with usbip, as usbip probably exists longer than virtualhere.
Virtualhere is only a solution for windows users, but we linux users should be able to set up usbip fairly easily.
I have never had a need to use it though.

For Linux users that is most likely true - not so much for Windows users because there is no client available (see this thread).
I'm pretty sure VH is based on USBIP (the VH Linux client[virtualhere.com] uses USBIP).
DirtyCamper 19 Dec, 2017 @ 3:52am 
Originally posted by Limer:
I'm pretty sure VH is based on USBIP (the VH Linux client[virtualhere.com] uses USBIP).
Ah, right!
It is just a (g)ui for linux users. Hmmm, then why not configure it by default on steamos, or the steam client.
Oh, no, I remember now I think:
virtualhere uses the usbip driver as a hook into the usb subsystem but still uses it's own proprietary protocol if I recall correctly.
https://steamcommunity.com/app/353380/discussions/0/142260895146829697/
shows that they are not the same protocol.
So I think virtualhere on linux is just a proxy between two protocols, using the already available usbip protocol to connect to the linux kernel.
Ice 27 Jan, 2018 @ 5:38am 
Hello, do you mind sharing a mirror link? The one you posted is expired. TY
Originally posted by Ice RO:
Hello, do you mind sharing a mirror link? The one you posted is expired. TY
Just run the VirtualHere trial server on SteamLink.

Steps:

Make this file with random text on FAT32 USB and plug into SteamLink:
\steamlink\config\system\enable_ssh.txt

Use SSH client (maybe PuTTY: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html ) and get SteamLink's IP from router. The default SSH user and password are root /// steamlink123

Once you're on SteamLink's SSH, run these commands:
wget https://virtualhere.com/sites/default/files/usbserver/vhusbdarm
chmod a+x ./vhusbdarm
exec ./vhusbdarm -b

Then download the VirtualHere client ( https://virtualhere.com/usb_client_software ) onto your PC, run it and add the SteamLink's IP to the VirtualHere client, connect SteamLink to your PC, minimize Steam big picture, and then attach the USB device you want.

If you aren't running Windows, you could always try USBIP instead of VirtualHere. The Windows client isn't very stable and was abandoned, but this guy ( https://github.com/Oxalin/usbip_windows ) might fix it up.

Note: if you intend to keep SteamLink's SSH enabled, you might want to change the password using passwd.
Last edited by Brawl Bashin’ Bison; 5 Feb, 2018 @ 6:10pm
Limer 5 Feb, 2018 @ 8:35am 
Originally posted by Brawl Bashin’ Bison:
Just run the VirtualHere trial server on SteamLink.
What exactly do you think 'my' native app is doing? It downloads the same VHusbdarm binary and starts it if and when the user wishes to.
It does not require SSH access to start the VH-USB-Deamon after rebooting the SLink.

Originally posted by Ice RO:
Hello, do you mind sharing a mirror link? The one you posted is expired. TY
Sorry i forgot to do that - can you point me to a better (free + without registration) file hosting service?
Would you be willing to reupload it to better service(s) after you get the file? I'd add the links to my orignal post (if the checksumm still checks out).
Originally posted by Limer:
Originally posted by Brawl Bashin’ Bison:
Just run the VirtualHere trial server on SteamLink.
What exactly do you think 'my' native app is doing? It downloads the same VHusbdarm binary and starts it if and when the user wishes to.
The app is definitely more convienent, but it's been somewhat unavailable for 2+ weeks (unless they tried manually recreating it with a different icon). My instructions were for people who wanted a solution that is guaranteed to work *now* :steammocking:

Originally posted by Limer:
Originally posted by Ice RO:
Hello, do you mind sharing a mirror link? The one you posted is expired. TY
Sorry i forgot to do that - can you point me to a better (free + without registration) file hosting service?
Would you be willing to reupload it to better service(s) after you get the file? I'd add the links to my orignal post (if the checksumm still checks out).
I'd suggest setting up a github and uploading the individual sources along with the complete package there. That way there's less of a likelihood of it getting lost (and leaves users with a convenient avenue for extending functionality or fixing any breakage).
Last edited by Brawl Bashin’ Bison; 5 Feb, 2018 @ 6:13pm
Limer 8 Feb, 2018 @ 4:07pm 
I didn't even consider GitHub despite me already having an account there....
Guess I need to 'learn' how to upload sth. there.
ikki69 10 Feb, 2018 @ 4:54pm 
Mirror to the file?
The original download is not available for free user..
< >
Showing 1-15 of 43 comments
Per page: 1530 50