8 votes

Sanity check - always-on machine + laptop with remote desktop

I'm looking for a new laptop as my current one is falling apart, and one option that seems quite tempting at the moment is getting a desktop machine, leaving it running away in the background, and then accessing it using remote desktop software from a laptop (or even tablet) most of the time. My logic is that I want a fairly decent device for programming on and occasional games, but I also want something portable that I can carry into every room of my flat. I've also been experimenting more with Tailscale and using my laptop as a remote development machine and my phone as a dumb terminal while traveling abroad, and that's worked fairly well, so I'm interested in how far I can take this concept. Plus the idea of also being able to use my main device as a small homelab is kind of appealing as well.

The plan would be:

  • Framework Desktop sits somewhere at home and is on all the time. My wife has a Framework laptop that she's quite impressed with, I realise the value proposition for desktop computers is less given there's already so much possibility to configure and upgrade, but I've never built a PC myself before and I don't want to complicate this setup too much.
    '* A dumb terminal device that I can carry around with me. For now, that'll probably be my current laptop as long as it lasts, but in the future maybe a cheap Chromebook or even a tablet that I can connect a keyboard and mouse to.
  • Moonlight/Sunshine setup for the remote desktop side of things. From what I can tell, this can stream both individual applications but also the whole desktop, and works with various clients.
  • Tailscale to access all of this outside the home. This is less important but it would be convenient. And if I go down the homelab direction, also for being able to access my self-hosted services remotely or running my personal website off my own hardware.

Things I'm concerned about:

  • German connection speeds are, broadly speaking, poor, especially with upload speeds. I'm looking at maybe 300M down, 50M up. Inside my local network that won't affect me, but if I did want to take my laptop with me, I don't have a good sense of whether the remote desktop aspect is really feasible.
  • The Framework desktop - I like the company, and I like the idea of a repairable desktop that's still sold as a single unit and not something where I need to buy everything myself. But I also don't have a good sense of how much of a premium I'd be paying here, vs either building something completely from scratch or buying a more typical desktop
  • The laptop would probably live in the living room because that's where all the other technology (in particular the modem) in our house lives. It's fine if it makes a noise while I'm actively using it to watch things, but I'd need it to be very quiet the rest of the time. Framework does sell a fan that is specifically designed to be quiet, but I'm not sure if this is "it's quiet compared to having a normal computer fan on" or "it's quiet compared to having turned all my devices off for the night".

Does anyone have any experience with this kind of setup, and is this something that would reasonably work, or am I completely missing something obvious that makes this a terrible awful idea that nobody should do?

Thanks in advance!

7 comments

  1. JCAPER
    Link
    I have a pretty similar setup at home, and it works really well despite some caveats. I have a desktop with nvidia, running Fedora and I use it as my gaming machine. It’s connected to both a...

    I have a pretty similar setup at home, and it works really well despite some caveats.

    I have a desktop with nvidia, running Fedora and I use it as my gaming machine. It’s connected to both a monitor and a TV, but when I prefer to be in bed or in another room, I stream games with my Steam Deck. I use moonlight/sunshine for that, which so far has been the pair that has given me fewer issues.

    I also could stream from outside, but I never really tried it. I have a raspberry pi working as a tailscale node exit and running pi hole as well.

    Your plan will work, but there are some things to keep in mind:

    • it’s a nitpick - as I stream games often, so emphasis on this being a nitpick - but I can always tell that I’m streaming, which makes it a bit less enjoyable than just being physically at the PC. There’s virtually no latency and you could play fighting games if you wanted (while on LAN), but there’s always some blurriness in the image. You can crank up the quality of the image at the cost using more bandwidth, but in my experience there’s always a bit of blurriness.

    • make sure your desktop is plugged with ethernet. Don’t even bother trying wifi, trust me

    • I don’t remember if it’s the same with windows, but with linux, you need to give it a monitor or a dummy HDMI in order for sunshine to work. This wasn’t an issue for me, but I remember reading about this. In your case a dummy HDMI should work and trick linux into thinking you have a monitor connected.

    • another issue with linux is that at startup, you need to make it log into your user account without password, as otherwise sunshine won’t run (on Windows this isn’t an issue, sunshine runs while at login screen)

    • ideally, your desktop should render the display at the same resolution as your laptop, else the quality will suffer - I despise streaming in my macbook air, as its resolution is higher than what my desktop outputs (1080p)

    • there are a few games that refuse to recognize your controller. Kingdom Come 2 for example. If I use a controller with the desktop, no issues. If I try using while streaming (be it with my steam deck builtin buttons or a ds4 controller), no dice.

    • You can use moonlight to wake your desktop via LAN - which is what I do. But this won’t work with Tailscale. I don’t remember the technical reasons, it’s something you can’t do (or easily do) with Tailscale. What I ended up doing was building a terminal command on my raspberry, which when triggered, makes my raspberry wake up my desktop.

    • If that’s a dealbreaker, you can use OpenVPN instead of Tailscale. That one works.

    • You will need to open an UDP port for tailscale. The guides I followed focused so much on the idea that you can use Tailscale without opening ports, that they failed to mention that without it your connection suffers. Your phone uses a lot more battery and the connection is really slow without it.

    These are some things off the top of my head. But feel free to ask me anything

    All of this is to say: there will be some caveats, but generally speaking, your plan will work

    5 votes
  2. nacho
    Link
    I guess I'm a snob. Unlike others in this thread, the latency gets to me. 50-100ms is frustrating when I do stuff where there's a lot of clicking or jumping between interfaces. I'm blessed with...

    I guess I'm a snob.

    Unlike others in this thread, the latency gets to me. 50-100ms is frustrating when I do stuff where there's a lot of clicking or jumping between interfaces.

    I'm blessed with extremely generous wireless networking speeds due to work, so I've tried running games in high resolutions with high graphics settings and sending the stream to a remote device. That works well, but drains battery rapidly due to the volume of traffic sent (and receiving a large signal. Especially sending high quality sound seems to tax my "dumb" endpoint device).

    Consequently, I have a powerful laptop.


    However, for compiling, doing math, rendering, exporting files etc, what you outline is amazing and works terrifically, even just being on 4G/5G network out in the field.

    But if you need to do those things, I'd maybe expect terminal access to a much stronger machine/environment from work anyway?

    2 votes
  3. [3]
    creesch
    (edited )
    Link
    That should be possible. For the remote desktop part I'd recommend using Moonlight in combination with Sunshine. A bit of history there, Moonlight is a client originally written to act with...

    That should be possible. For the remote desktop part I'd recommend using Moonlight in combination with Sunshine. A bit of history there, Moonlight is a client originally written to act with Nvidia's remote desktop thing for gaming. Nvidia announced it would no longer be available and Sunshine basically stepped in to replace the Nvidia part.

    I have used basically the setup you describe in the past. But mostly just in the house, not remotely.

    But, 50mbs up should be enough when on the road for most things, though it will likely add more latency. Something to keep in mind for gaming.

    Edit:
    Heh, did gloss over the fact that you also mentioned moonlight and sunshine. So yeah. No notes :P

    1 vote
    1. [2]
      Johz
      Link Parent
      I'll treat that as independent confirmation that Moonlight/Sunshine isn't a bad choice then! :D Out of interest, why did you stop using this setup? And what was the biggest nuisance you found with it?

      I'll treat that as independent confirmation that Moonlight/Sunshine isn't a bad choice then! :D

      Out of interest, why did you stop using this setup? And what was the biggest nuisance you found with it?

      1. creesch
        Link Parent
        I never used it as a permanent setup. Mostly in cases where I want to sit outside and do some stuff I can't do otherwise and a few times when I have been sick where I use a light portable monitor...

        Out of interest, why did you stop using this setup?

        I never used it as a permanent setup. Mostly in cases where I want to sit outside and do some stuff I can't do otherwise and a few times when I have been sick where I use a light portable monitor and my phone in dex mode to basically have my desktop in bed without all the weight and heat production that comes from a laptop.

        So I might use it again in the future.

        Last year I also recommended it to @kfwyre who was so happy with it that I received multiple follow up pings about it.

        And what was the biggest nuisance you found with it?

        Resolution can be a bit annoying to deal with and you do need to have a display plugged in or do something with a virtual display if I remember correctly.

        Other than that it isn't difficult to set up.

        2 votes
  4. skybrian
    Link
    For programming (but not games), Linux VM’s in the cloud are quite a nice alternative. I’m very happy with exe.dev’s $20/month plan. At least, for web development.

    For programming (but not games), Linux VM’s in the cloud are quite a nice alternative. I’m very happy with exe.dev’s $20/month plan. At least, for web development.

    1 vote
  5. Omnicrola
    Link
    I've used a similar setup with Parsec for the last few years and like it. I leave it running on my home desktop machine and connect from my laptop whenever I want to work on something but don't...

    I've used a similar setup with Parsec for the last few years and like it. I leave it running on my home desktop machine and connect from my laptop whenever I want to work on something but don't want/need the full dual screen setup (or the room is too hot, the AC isn't good in that room). It's really nice to be able to leave half a dozen windows open while I'm in the middle of something, and then come back later without having to actually close and reopen or restart anything.

    1 vote