top | item 32490736

Putting Tailscale on the Steam Deck

179 points| geoffeg | 3 years ago |tailscale.com

84 comments

order
[+] mintplant|3 years ago|reply
Why not use systemd user units [0]? You can drop service files under `~/.config/systemd/user/` and enable them to be launched at login with `systemctl --user enable foo`. This is how the Crankshaft plugin loader autostarts itself on the Steam Deck [1]. It's published as a Flatpak [2] which you can install and update from SteamOS's built-in Discover software manager - on first run, the Flatpak drops the service file and enables it.

[0] https://wiki.archlinux.org/title/systemd/User

[1] https://crankshaft.space/docs/usage/autostart

[2] https://flathub.org/apps/details/space.crankshaft.Crankshaft

[+] zaarn|3 years ago|reply
Probably because Tailscale needs to manipulate networking hence needs root, so user units won't work easily.
[+] xena|3 years ago|reply
Tun devices need root.
[+] kixiQu|3 years ago|reply
Xe is a treasure. This whole piece is a treasure. I will never read timer job without thinking "spicy cronjob" ever again.

Anybody rig up anything weird on their deck yet?

[+] xena|3 years ago|reply
Xe here! Fun fact: the original draft of that article went on a slight diatribe on what "spicy" means in that context. I think it was something like this:

> When I add something to my daily notes, if it's most directly related to another thing then I will try to describe it as a "spicy" or "diet" version of that other thing. "Spicy" means that there were things added and "diet" means things were removed. A systemd timer is a spicy cronjob because you can do a lot more with it than cron can on its own. An OpenRC service is a diet systemd service because you can do a lot more with systemd than with OpenRC. Think about how to describe things you don't really understand like this in your notes. It will help you a lot.

[+] JamesSwift|3 years ago|reply
> Xe is a treasure

Its pretty crazy how frequently her personal blogs and company articles come up when I'm looking for answers the past several months. Sure, most of what I'm looking for is Nix related, but shes written (and recorded) a ton of useful material. Its saved me so much time / frustration. Thanks Xe!

[+] obowersa|3 years ago|reply
Not sure if it counts as weird, but I wrote some python code to use the steamdeck as a controller for my DJI Tello drone.

It's been fun and I feel like I'm just scratching the surface of it

[+] anaisbetts|3 years ago|reply
This article jumps through so many weird hoops to avoid reinstalling Tailscale on (relatively rare) system OS updates and while I appreciate the author's creativity and dedication to user experience - just write a script. Your actual _settings_ / config / user data doesn't get overwritten, it's just the stuff in /usr so reinstalling means everything is exactly back to where it was before

Every system update (which again, is rare, Steam Client updates are much more common and don't change the OS), I SSH in and run `sudo ./reinstall-software.sh`.

Example script:

https://gist.github.com/anaisbetts/194def8511823c2290dbb9ecf...

[+] rkangel|3 years ago|reply
I think the last point gives away the reason. He wants to make it a packaged thing that users can install with very little knowledge. The blog post is more as an insight into a dev process than it is a 'howto' for others - although obviously it's that as well!
[+] Goz3rr|3 years ago|reply
I've had my deck since launch and have gone through several OS updates, it's not super common but I wouldn't call it relatively rare.

The only reason I noticed every update is because it kept wiping the screen keyboard I installed, because I couldn't get the built in one working at first. It wasn't until later that I found out the actual steam client has to be running in the desktop environment for the built in keyboard to work.

[+] RosanaAnaDana|3 years ago|reply
I love that the steam deck appears to be the new hacker machine. This is literally the kind of computer I dreamed about having when I was a kid.
[+] matheusmoreira|3 years ago|reply
I didn't know about the Steam Deck. A sleek handheld gaming console with PC hardware running Arch Linux under the hood. Looks like it even supports multiple operating systems. Didn't think I'd ever see something like this. As expected, it's held back by the massive power consumption of PC hardware. Imagine an Apple M1 Steam Deck...

I'd really like a handheld programming device. I wonder how easy it is to write software with it.

[+] KingMachiavelli|3 years ago|reply
Oddly enough I was just talking to some friends about my plan for the Steam Deck and my confusion on its update process - since the source code showed both partition image updates and pacman updates.

My day 1 goal is to get the system working with tailscale and games over NFS. Second is getting that managed by home-manager as a OK workaround for the A/B update system.

The long term project is to get the stock OS recreated in NixOS. Testing the system using a newer kernel for better Btrfs and Zen performance and faster gamescope (Wayland micron compositor) updates seems like a really interesting project.

[+] jbverschoor|3 years ago|reply
With zerotier you can play multiplayer games over IPX/SPX. Read: Duke Nukem 3D
[+] dolmen|3 years ago|reply
This is a long post and I didn't notice while reading it that it was coming from Tailsacale itself.

But I wonder: if the best solution is to use a systemd-sysext image, why Tailscale doesn't just provide that kind of image as a download package?

https://pkgs.tailscale.com/stable/

[+] xena|3 years ago|reply
Every systemd-sysext image needs the OS and version hard coded in. In order to provide canned downloads, I'd need to make at least 4 images per release (one for every publicly available version of SteamOS) and it's honestly easier and arguably better to have the target device take what we already ship and make an image out of that on the heckin device.
[+] jannes|3 years ago|reply
Because it's not ready yet?
[+] vchuravy|3 years ago|reply
I did the manual setup the other day since I wanted to try using my steam deck as a Road-Warrior build server.

The whole systemd-sysext seems like a good way to make that happen.

[+] logistark|3 years ago|reply
About moonlight, there is server software project to run Gamestream host for AMD/Nvidia/Intel GPUs and Multiplatform Linux/Windows/MacOs

https://github.com/LizardByte/Sunshine

[+] geoffeg|3 years ago|reply
I don't quite understand what this project is. How does it work with Moonlight or is it a replacement for Moonlight? (The docs don't seem to explain why I'd want to use it.)
[+] aborsy|3 years ago|reply

[deleted]

[+] dang|3 years ago|reply
It's because they've achieved darling status on HN, which is what happens when a startup has founder/product/community/technical/intellectual fit and knows how to write.

I wrote a longer description of this phenomenon at https://news.ycombinator.com/item?id=30070287 (in the bottom third of the comment, starting with "Stripe succeeded on HN" - skip the tedious stuff before that).

There was also an entire thread about this a few weeks ago:

Ask HN: What's the Deal with Tailscale? - https://news.ycombinator.com/item?id=31957059 - July 2022 (47 comments)

[+] cweagans|3 years ago|reply
Have you used their product? It’s a gd joy to use. In casual use, I haven’t run into any bugs at all. It took me all of about ten minutes to get set up, it just works, and I didn’t have to think too hard about it.

What’s their secret? A great product that people want to talk about.

[+] ghuntley|3 years ago|reply
Through hard earned good will and creating a product that is loved. They build awesome shit.
[+] geoffeg|3 years ago|reply
The post from earlier today got me thinking about their blog post about the Steam Deck from last month. I was kinda surprised that someone hadn't already submitted it.
[+] risho|3 years ago|reply
for what its worth a lot of the stuff in this post can be applied to a lot of things that aren't tailscale. you can just consider tailscale an arbitrary example of something really cool that you can do with your steam deck.

that said tailscale is also just an awesome company with an awesome product

[+] imwillofficial|3 years ago|reply
Do stuff as interesting as them as often as them and you to will have geeks the world over reading what you write.
[+] fomine3|3 years ago|reply
both are what HN people love
[+] unknown|3 years ago|reply

[deleted]