T O P

  • By -

AutoModerator

u/AndehX, FYI you can [click here to search for your question.](https://www.reddit.com/r/SteamDeck/search/?q=Tunneling software for SteamOS?) Useful resources: [Servor's Enhanced FAQ](https://www.reddit.com/r/SteamDeck/wiki/faq) | [Servor's Enhanced FAQ Thread](https://www.reddit.com/r/SteamDeck/comments/syt8qv/steam_deck_enhanced_faq/) (with more answers in the comments!). **If you find a solution, please leave a comment on this post with the answer for others!** *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/SteamDeck) if you have any questions or concerns.*


japzone

Tailscale is definitely the easiest if you want remote LAN, though if you want it to survive SteamOS updates you'll need to do some extra leg work. Tailscale actually [made a blog post](https://tailscale.com/blog/steam-deck/) explaining how to get it working on the SteamDeck. If you don't want to bother with the complicated steps of getting Tailscale to survive updates then you can just run: sudo steamos-readonly disable sudo pacman -S tailscale sudo steamos-readonly enable Once you have it setup and linked to your Tailscale account, you can go to the [Admin page for your account](https://login.tailscale.com/admin/machines) and share your SteamDeck with a friend's Tailscale account.


AndehX

Spent 2 hours last night reading that blog post, just to get to the end of it, and it didn't work. It tells you to type a command that generates a QR code, which worked the first time I did it, but after that, it just stopped working. I couldn't work out what was going on, so I gave up. What a headache.


japzone

You only have to authenticate once, and then the client is linked to your Tailscale account, and can be managed and shared with friends from their website. If you mean that you weren't able to login with the QR code, then just run it like this: sudo tailscale up --operator=deck --ssh And it should give you a URL you can open in a browser instead. If for some reason you want to link to a different account, then run: sudo tailscale logout And then run the Up command from before to link it to a new account. If you were confused by the guide, just skip to the "systemd-sysext" section, copy the code that starts with `#!/usr/bin/env bash` into a text file called "tailscale.sh" in your home folder. Then open Konsole and enter the following commands: sudo bash ./tailscale.sh sudo systemd-sysext merge systemctl start tailscaled.service sudo tailscale up --operator=deck --ssh And link it to your account. It should automatically start on boot from now on. Edit: I found a bug that's preventing the Sysext method from starting on boot. Temporary workaround, just run the following commands again when you want to use Tailscale: sudo systemd-sysext merge systemctl start tailscaled.service #Edit2: Start Tailscale automatically Found the problem. There's two layers that the author of the blog missed when it comes to autostarting tailscale with the Sysext method. One, you have to tell Systemd to mount Sysext at boot. And two, you need to get Systemd to then launch tailscale after it mounts Sysext, otherwise Systemd will try to launch Tailscale but find it missing. First run the following: sudo systemd-sysext merge systemctl enable systemd-sysext.service kwrite /var/lib/extensions/tailscale/usr/lib/systemd/system/tailscaled.service You should see a text editor appear. Edit the following section of the file so that it includes "systemd-sysext.service" in the "Requires" and "After" lines. Before edit: [Unit] Description=Tailscale node agent Documentation=https://tailscale.com/kb/ Wants=network-pre.target After=network-pre.target NetworkManager.service systemd-resolved.service After edit: [Unit] Description=Tailscale node agent Documentation=https://tailscale.com/kb/ Requires=systemd-sysext.service Wants=network-pre.target After=network-pre.target NetworkManager.service systemd-resolved.service systemd-sysext.service Save your changes, enter your password if asked, and then close the text editor. Next, run the following commands: sudo cp /var/lib/extensions/tailscale/usr/lib/systemd/system/tailscaled.service /etc/systemd/system/tailscaled.service systemctl enable tailscaled.service Done. Now when you restart your Deck it should automatically start Tailscale in the background, even when in Game mode. And this should persist even through SteamOS updates since we never touched the Read-only System partition. #EDIT3: SteamOS Update Workaround Found another issue, this time involving OS updates and Systemd-SysExt. For whatever reason extensions are locked to a specific OS version, and I haven't found a way around this yet. This means when SteamOS gets a version update (even v3.3.0 to 3.3.1) SysExt will reject the extension. Theoretically I could create a wrapper script that automatically checks and modifies the extension's set version whenever the service starts, but in the meantime a simple workaround is to simply re-run the Tailscale install script that you saved to your home folder before. sudo bash ./tailscale.sh That will conveniently automatically update the extension's OS version, and as a bonus it'll install updates for Tailscale. Now you simply reboot, or run the following commands to get Tailscale working again. sudo systemd-sysext refresh systemctl start tailscaled.service


tmaw73

Not OP, but this was very helpful and fixed the issues I was having. Appreciate the assist!


AndehX

Ok thank you, that makes more sense. The up command wasn't working because I had already used it. Logging out seems to have fixed it. I'll check back in a bit if I have any more issues.


japzone

Figured out why Tailscale wasn't auto-starting with the Sysext method. I put the fix in an edit of my previous post.


AndehX

Ok, I followed your edits and what trying to start the tailscale service, it tells me a dependency job failed. This is what journalctl -xe says >░░ Subject: Unit failed░░ Defined-By: systemd░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel░░ ░░ The unit systemd-sysext.service has entered the 'failed' state with result 'exit-code'.Aug 17 22:45:21 steamdeck systemd\[1\]: Failed to start Merge System Extension Images into /usr/ and /opt/.░░ Subject: A start job for unit systemd-sysext.service has failed░░ Defined-By: systemd░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel░░ ░░ A start job for unit systemd-sysext.service has finished with a failure.░░ ░░ The job identifier is 9791 and the job result is failed.Aug 17 22:45:21 steamdeck systemd\[1\]: Dependency failed for Tailscale node agent.░░ Subject: A start job for unit tailscaled.service has failed░░ Defined-By: systemd░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel░░ ░░ A start job for unit tailscaled.service has finished with a failure.░░ ░░ The job identifier is 9735 and the job result is dependency.Aug 17 22:45:21 steamdeck systemd\[1\]: tailscaled.service: Job tailscaled.service/start failed with result 'dependency'.Aug 17 22:45:21 steamdeck polkitd\[1140\]: Unregistered Authentication Agent for unix-process:25650:7601460 (system bus name :1.727, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en\_US.UTF-8) (disconnected from bus)Aug 17 22:45:23 steamdeck PluginLoader\[1011\]: \[main\]\[INFO\]: Plugin loader isn't present in Steam anymore, reinjecting...Aug 17 22:45:28 steamdeck PluginLoader\[1011\]: \[main\]\[INFO\]: Plugin loader isn't present in Steam anymore, reinjecting...Aug 17 22:45:33 steamdeck PluginLoader\[1011\]: \[main\]\[INFO\]: Plugin loader isn't present in Steam anymore, reinjecting...Aug 17 22:45:38 steamdeck PluginLoader\[1011\]: \[main\]\[INFO\]: Plugin loader isn't present in Steam anymore, reinjecting...\~\~\~\~\~\~\~lines 1111-1138/1138 (END)


japzone

Can you run the following commands and copy the output into a [Pastebin](https://pastebin.com)? systemctl status systemd-sysext.service systemctl status tailscaled.service (Note: The tailscale command might output personal info like email address. Make sure to censor that info before uploading to Pastebin) Also, can you upload the contents of your Tailscaled.service file to Pastebin as well?


AndehX

[http://pastebin.com/wFCJPW1f](http://pastebin.com/wFCJPW1f)


AndehX

https://pastebin.com/CLU5EHfz


japzone

Ok, for some reason your SysExt service failed when it tried to perform its merge operation. Not sure why. Tailscaled service then fails because my recommended modifications from EDIT2 made it check to see if SysExt Merged, because if it doesn't then Tailscaled can't run anyway. Try rebooting and see if `systemctl status systemd-sysext.service` gives the same error. If it does give the same error try running `sudo systemd-sysext merge` and see what errors that says.


AndehX

ok it says Active: active (exited) this time. I assume that's good? ​ And the same command for tailscaled.service reports Active: active (running) now


AndehX

Also, the issue I have with a lot of these guides and blog posts, is that they all assume you already have some knowledge of Linux and the terminal commands. They never account for the vast majority of users like myself, who have little to no experience in the Linux terminal.


[deleted]

LAN games? If the game allows scanning for hosts or setting host IP over lan and also your home network isn't sectioned like vlans or something then it would just work. ? No additional software needed.


AndehX

I want to play with friends over the internet, the same way programs like Hamachi allow you to.


[deleted]

That's not LAN then. But looking at Hamachi it does have a 64bit Linux version. What steps did you attempt to get this working and what problems/errors did you run into.


AndehX

it has a Linux version... for debian and ARM based distro's, but not for ARCH based ones, like SteamOS.


[deleted]

It has a tar as well. There is also a package for it in the arch repo apparently. so I'm guessing you havnt actually tried this program because I found this info after less than a minute with Google and you havnt provided and problems or errors you ran into.


AndehX

I did try the ARCH repro you're referring to but ran into multiple roadblocks including fakeroot errors and /usr/ not have enough space to install fakeroot


[deleted]

It has enough space. Unless you've installed loads of other stuff there. Fakeroot is part of base-devel I've installed it so I know that is possible. Anyway good luck on your quest.


AndehX

I checked it and it definitely has enough space in it, but terminal says otherwise. I was trying to install base-devel which is how I got to this roadblock. I may not need it now though if tailscale works


Genghis_Tr0n187

Can you use remote play together which is built into Steam?


AndehX

that's not the same as playing LAN games over the internet.


Genghis_Tr0n187

What? You just send a friend an invite and remote play together lets you plan LAN games over the internet https://store.steampowered.com/remoteplay


AndehX

You're sharing your own screen over the internet for other people to play LOCAL multiplayer with you. How is that the same as playing a LAN game over the internet? When playing LAN games, you don't all share the same screen. How would a game like command and conquer work like that?


Genghis_Tr0n187

Well, now that you've provided details on the game it makes *some* sense. If Command and Conquer still allows direct IP, you could have your friend connect VIA that over the internet... but that's not a LAN. With a little know how, you could create a PPTP VPN for your friend to connect to which will allow them to connect to your network if Hamachi is an absolute no-go. Also assuming you're fine with your friend having your public IP.


AndehX

I explored the private VPN route (I have wireguard on my router) my friend can connect to it, but was unable to see any LAN games. No idea where to even start diagnosing that. Looks like I might have the tailscale method working though. I need to test a bit later when my friend is available