An Overview of Shadow on Linux

By

Due to the coronavirus, hardware has been hard to come by, particularly for processors and graphics cards. A lot of the time, they’re outrageously expensive. As it stands right now, getting a full Valve Index kit on eBay costs around $1300 new, and $1,100 for used (how can a used VR kit cost more than getting a new one from Valve directly?) This, and also packages generally take longer than usual to arrive at our doorstep, since online shopping has rocketed. My heart goes out to the delivery drivers; thank you for your hard work.

Anyway, there’s a much cheaper and faster alternative to running a computer with high-end hardware. It’s a streaming service called Shadow. With this, you’re given instant access to a Windows 10 computer that you can remotely control with your Linux desktop. If you have a particular game that you want to run but doesn’t do the job well enough on your local machine, or you have a game that won’t work with Proton, Shadow is a great way to go. Shadow is also available on the following platforms:

  • Windows
  • Mac
  • iOS
  • Android
  • tvOS - similar to iOS but for TVs

Now, I know when I say the word “Windows,” the very thought of using Windows on Linux makes the hairs of your skin stand up. Hear me out, though. I only intend to use this service to stream the games that I can’t otherwise play on Linux, such as DIRT 5 and Worms Rumble - both of which are currently borked on Proton. That, and the fact that I don’t feel like buying a Windows license, burning a disc, setting up a dual-boot machine, and constantly have to go back and forth between operating systems just to play the games I want, makes Shadow an attractive alternative. Plus, you can run your Windows updates or benchmarks in the background while doing your day-to-day tasks on Linux.

While I would have included this in my overview of streaming services back in November, Shadow wasn’t available at the time. I just got access to it on Monday. Thanks again to podiki for bringing it to my attention.

Specs and Availability

Shadow offers different plans, depending on how much you’re willing to pay every month and what you need for hardware. As of the time of writing this, only the starting plan is available, Shadow Boost, for $15/month or $12/month for a yearly subscription. This gives you access to a Windows 10 Home Edition computer that has the following components:

  • NVIDIA Quadro P5000 (it’s marketed on the web site as “GTX 1080 or equivalent,” but this is what you actually get). Interestingly enough, NVIDIA discontinued the Quadro branding of graphics cards in October of 2020 in favor of the RTX A6000.
  • Intel Xeon E5-2667 quad-core, eight-threaded processor, clocked at 3.20GHz (again, marketed as “3.4 GHz or equivalent”)
  • 12 GB DDR4 RAM
  • 256 GB SSD
  • 1 Gb/s download speed, 100 Mb/s upload

As for the memory, I’m not sure what clock speed it’s set to. As for storage, 40 GB or so is already taken by the Windows installation, leaving you with around 216 GB for games. Storage can be upgraded for an extra $3/month for every 256 GB requested, though this is using HDD space rather than SSD. You can have as much as 2 TB.

Once the additional plans come around, customers will be able to upgrade the hardware for the computer they “rent.” They will be as follows:

  • Shadow Ultra
    • $25/month
    • RTX 2080
    • 4 GHz quad-core CPU with 8 threads
    • 16 GB RAM
    • 512 GB storage, half SSD, half HDD
  • Shadow Infinite
    • $40/month
    • Titan RTX
    • 4 GHz six-core CPU with 12 threads
    • 32 GB RAM
    • 1 TB storage
      • 256 GB SSD
      • 768 GB HDD

No release dates have been set for these plans yet. And be careful of the marketing labels they put here; for all we know the graphics cards or the CPUs might be slightly less powerful than what they actually advertise, just like with the Boost plan.

As far as availability is concerned, Shadow is currently available in the following countries:

  • France
  • Belgium
  • Luxembourg
  • Germany
  • UK
  • US
  • Switzerland
  • Netherlands

How It Works

The Linux version of the client uses an AppImage, allowing the client to be run across virtually any distro. Just log in to your account, let Shadow run a quick test of your Internet connection to configure the best streaming quality, wait a minute or two for the machine to boot, configure various streaming settings while you’re waiting, then start streaming. They recommend having a connection speed of at least 15 Mbps. As with any other streaming service, they also recommend you to have an Ethernet connection, and if you don’t have that, use the 5 GHz band of your wireless router and get as close to it as possible for the least amount of latency. During my time testing, my Ethernet connection speeds are as follows:

  • Ping: 12 ms
  • Download: 60 Mbps
  • Upload: 6 Mbps

Main Menu

Windows 10 Home Edition is installed out-of-the-box, and you will be taken to the desktop. By default, there’s no password to log in, but you can probably configure Windows to do this if you wanted the extra security. The installed software is pretty barebones; just the standard stuff that comes with Windows, as well as NVIDIA’s graphics drivers. I actually kind of like it being barebones; it means there isn’t any crap there that we don’t need to uninstall. I would have found it a plus to at least have Steam pre-installed, but it is what it is.

Desktop

When I ran my remote machine, I had to run some Windows updates and upgrade the graphics driver. No biggie, other than the long amount of time it takes to install updates on Windows. Yup, the good ‘ol joy of Windows again, though like I mentioned earlier, you’re not forced to sit around and wait for the updates to finish; you have your local machine to use in the meantime.

Average download speed for downloading Steam games was around 50 MB/s. That’s heck of a lot faster than my own speed! Downloading DIRT 5 maybe took all of 10 minutes; a game that takes 46 GB of space. I’ve run a speed test on the remote machine; results were as follows:

Internet speed results

What’s interesting is that, if you have remote streaming enabled in your Steam settings, your Linux machine will be able to stream games from your Windows machine and vice versa. I don’t recommend streaming games from your Windows machine to your local Steam client however, due to the fact that based on my testing, streaming quality was much worse.

With Shadow, you’re not just limited to streaming games. After all, you have full access to a Windows 10 PC. I don’t see any reason why you would, but you can check your email, browse the web, write up a document, run a proprietary program that isn’t available on Linux (think Adobe products), all that other jazz. Maybe even set it up for machine learning. You could probably do some video editing as well, but since the Linux client currently doesn’t support USB flash drives, I wouldn’t know how to transfer your files to the remote PC other than using a cloud storage medium. After contacting Shadow support, one of the staff members informed me that “We are still working on it at the moment, however, it is not yet ready.”

In Shadow’s settings menu, you can configure audio quality, prefer UDP or TCP for streaming, set a framerate limit, enable software decoding if your computer doesn’t support hardware encoding, among a few other things. Currently, dual-screen setup is not supported.

Main Settings Menu

You can also access the Quick Menu while streaming by pressing WIN + ALT + O or by clicking the Shadow icon on the top of the screen for additional settings, to see what gamepads are connected, or force PlayStation pads to use XInput.

Shadow Quick Menu

If after 30 minutes Shadow doesn’t detect any input from your pad, your mouse, or your keyboard, both your stream and the remote machine will automatically turn off, even if you have any programs or scripts running in the background. Per the support document:

Automatic shutdown helps our teams maintain our data centers, prevent hardware damages, conserve power, and uphold our Rules and Restrictions. It also helps dedicate our resources to users currently using their Shadows.

If you close the stream but not the Windows machine, you can safely resume your session any time within 30 minutes. After 30 minutes of inactivity, the remote machine will turn off.

Benchmarks

Based on the following games I benchmarked, if you’re looking to stream at 4K, you’re probably going to need to keep the graphics settings down to maintain a smooth framerate. Remember, the server’s specs are as follows:

  • NVIDIA Quadro P5000 (16 GB VRAM)
  • Intel Xeon E5-2667 v3 @ 3.2 GHz
  • 12 GB RAM

These benchmarks are recorded as minimum, average, and maximum FPS respectively, all made at 1080p.

DIRT 5:

  • Automatic: 31/72/90
  • Ultra Low: 9/87/108
  • Low: 9/86/105
  • Medium: 9/77/94
  • High: 9/69/85
  • Ultra High: 9/42/49

Immortals Fenyx Rising:

  • Ultra Low: 21/55/83
  • Low: 18/51/80
  • Medium: 24/51/78
  • High: 23/51/76
  • Very High: 17/49/68
  • Ultra High: 18/41/64

Shadow of the Tomb Raider, DX12, TAA anti-aliasing, going by “CPU Game” framerates:

  • Ultra Low: 40/56/83
  • Low: 40/56/82
  • Medium: 39/55/83
  • High: 38/55/81
  • Ultra High: 39/54/81

The Experience

Not going to lie, I’ve had a pretty good time using Shadow. As far as the human eye is concerned, I’ve noticed little to no latency during gameplay. Streaming quality is fantastic, though that’s probably due to the fact that I’ve got a connection speed of 60 Mbps via Ethernet. Looking up the public IP address of the server I’m streaming from, it appears the server is located somewhere in Roslyn Heights, New York. That’s only a few states away from where I live.

During my streaming sessions, both my Series X and DS4 pads worked, although the latter didn’t support vibration. As for the DualSense, this was not detected at all. Unfortunately, my Logitech G29 and Valve Index were not detected either. I recommend shutting down your local Steam client; if this is on and Steam is also running on the remote PC, Shadow will hang for a good 30 seconds or so whenever a gamepad is connected or disconnected.

DIRT 5

Being the Tony Hawk’s Pro Skater fan that I am, I downloaded the Epic Games Store client, downloaded the remake, and was able to play without any hiccups, including online multiplayer. As far as I’m aware, there’s no easy solution for getting this game to run on Linux.

I was hoping I could emulate a few Nintendo Switch games just to see how well they run, but again, because as far as the Linux client goes, USB support does not work, and I’d have no idea how to otherwise transfer my local files to the remote machine. I did try using Google Drive, but uploading a game that’s 14-15 GB would have taken over 5 hours to finish.

The 256 GB of space is pretty paltry, especially considering the large amount of space many modern games take. This is in addition to the fact 40 GB of that is already taken by Windows and NVIDIA’s graphics driver. Still, I see no reason to upgrade my storage, because honestly, there’s only a few games that I need to run outside of my local Linux machine.

Immortals

I think Shadow is worth it. I know the fact that it’s using Windows makes a lot of people reading this cringe, but I frankly don’t care. If you need to use Windows to do something you can’t on Linux, fine. I’m not going to judge. Windows still has it’s uses, despite it being an OS I don’t particularly like. I can keep Shadow minimized, do my day-to-day tasks on Linux, bring Shadow back up, and start playing, all without having to do a restart.

If in the event Windows crashes (which hasn’t happened to me yet, surprisingly), you can just close the stream and tell Shadow to shut off the computer. If that doesn’t work, Shadow recommends to contact customer support.

Since the price on the P5000 wildly varies, I’m going to go ahead and use the GTX 1080 as reference. The cheapest, renewed 1080 that I could find on Amazon is $750 (I know it’s cheaper in other places depending on where you’re getting it from, but let’s just assume in this instance that it’s $750). The Xeon processor, also wildly varying in price, seems to cost about $200. 12 GB DDR4 RAM is going to be about $60. A 256 GB SSD is around $30.

Worms

So, just those four components together, without the case, the power supply, a Windows license, etc. costs a total of $1,040. You could get over seven years of Shadow for the same price. To me, it makes a lot more sense saving both the money and the time by using Shadow instead. True, it does require a strong Internet connection, but again, hardware these days is hard to come by. Since you have full access to a Windows 10 computer, you have the ability to install mods to your games, unlike other streaming services, and you have access to your entire library of games, whether they’re old or just came out on the market, whether they’re on Steam or on the Epic Games Store. And once USB support gets integrated, transfering save files and the like will be possible if in case you decide to move on from Shadow or the service gets discontinued.

You could install all your games to your remote PC and not use Linux at all doing said activity, but you would more than likely have to upgrade your storage, therefore upping your bill. That, and the fact that if you don’t always have a stable Internet connection, Shadow can be a bit of a problem. So, having games installed locally is always the best way to go; this way you can play your games offline, have the least amount of latency, and have the best video quality. You might even have better hardware than what Shadow currently offers. Still, as the type of person who sacrifices security for convenience, it’s a lot easier, for instance, just to have separate launchers installed on Windows than having to use Lutris on Linux first before launching yet another launcher.

Will there be options to stream to an Ubuntu-based server in the future, or any other Linux distro? Who knows; I haven’t found anything in the support documentation that mentions this at all.

If you’re in need of a computer more powerful than what you already have, or want to play a game that you currently can’t with Proton, Shadow is a good way to go. As for ranking with the previous services that I’ve used, this is probably the best out of them all, despite it being the most expensive and not offering games you don’t own.