Cloud Streaming on Steam Deck

Destiny on the Steam Deck running under Stadia

Yesterday I set a list of things that I wanted to do in pretty short order in order to get things that are not steam up and running on my new deck. Yesterday I managed to accomplish four of them, and this morning I am going to walk you through the process of getting things up and running. This will not necessarily be a straightforward tutorial, because there are a few tools along the way that makes the entire process much easier. However as you can see in the above screenshot I have Cyberpunk 2077 installed from GOG, Ooblets installed from the Epic Game Store, Stadia streaming configured, and Xbox Cloud Gaming configured. This morning I am going to talk you through how to do each of them.

Using Steam Link for Remote Desktop

First things first, I highly suggest you grab the stand-alone Steam Link application. While under normal circumstances, this would allow you to play your steam games on another machine. In this specific case, we are going to use it as a remote desktop application. You can connect to your Steam Deck while in desktop mode, and gain access to the keyboard and mouse from your computer which will greatly speed up data input. The only thing that does not work is cut and paste… and I have been using a Google Doc as swap space that I can have open both on the Steam Deck and my Desktop as a way of passing inputs back and forth. This video covers the mobile steam link setup, but it is going to function much the same way and should help you through the pairing process if you have never completed it.

Once you have set up Steam link, you should be able to flip your device into Desktop Mode through the power menu and then connect to it like a Linux desktop. In theory, you should now see a screen something similar to the above with some icons in the taskbar. The first thing we are going to need to do is to launch the discover app. It should be the third icon from the left that looks like a blue shopping bag. This application is essentially a Linux app store and allows you to very easily download and install applications. We are essentially going to grab two things… Microsoft Edge and a piece of software called Boiler.

Downloading Edge and Boilr

Once in the discover app you can either type “Edge” into the search bar or filter down by application type and Edge will be located under Applications > Internet > Web Browsers. Please note the very first time you load Discover, it will take a very long time for the applications to show up. It seems to be downloading some databases in the background. If you get to a screen that says something to the effect of no applications found, close the app and relaunch it. We are specifically downloading Edge as our web browser because Microsoft did a really cool thing and added native support for the Steam Deck as a controller, which means we won’t have to manually map inputs as though we were using a keyboard.

While we are in Discover, go ahead and download an app called “Boilr”. I found out about this application through this video, but essentially it is a helper application that assists in registering games with the Steam Deck and adding custom artwork. It will automagically import games that were installed through Heroic Games Launcher, which I will talk about a little bit later but also be extremely helpful in making our cloud streaming links look reasonable. It has a database of artwork that you can search through and pick which image you want to use for the games on your deck.

Configuring Xbox Cloud Gaming

Now that we have Microsoft Edge and Boilr installed, we are going to begin the process of setting up Xbox Cloud Gaming first. While still in the desktop mode we are going to need to do a few things to make sure that Microsoft Edge has access to your controller. This is going to require you to input some console commands, which is in part why I suggested configuring Steam Link so you had access to a keyboard. This is all going to use an application that can be found in the System menu called Konsole, which is the KDE Shell application. The very first thing we have to do is set a password for our steam deck account. This process is initiated with the following command:

passwd

When you type that in and hit enter, it will prompt you to submit a new password. You will not be able to see your key input, this is normal. Hit enter and it will prompt you to verify the password you just input, which again will not echo your keypresses to the screen by default. If you successfully typed the same password twice you should now have your password configured. Remember this, you will need to use it any time you issue a command that requires elevated access.

Next up we are going to have to give the Microsoft Edge browser permission to use the controller. Thankfully Microsoft is being awesome in this case and has given us a guide that we can follow to do this entire process. While still in the console application you need to type the following, or open the web article above and paste it into the command line:

flatpak --user override --filesystem=/run/udev:ro com.microsoft.Edge

If you are in the console session that you just opened and set your password, it should execute without issue. If you are in a new session it will prompt you to enter your password. When you do so it should execute and then we are ready to start setting up the shortcuts.

Now we are going to launch Steam while still in Desktop Mode, and add a “Non-Steam Game to My Library”. In the dialogs that follow, choose Microsoft Edge, and this instance of Edge is where we are going to configure Xbox Cloud Gaming. Once you’ve successfully added Edge to your library, find it on the lefthand side menu of your games, and choose properties.

The first thing we want to do is change the name from Microsoft Edge to something like “Xbox Cloud Gaming (Beta)”. This naming is largely so that we will have an easier time finding images for it later in boilr. The final step before being able to test this is to configure the launch options. By default the launch parameters for Microsoft Edge looks like this:

run --branch=stable --arch=x86_64 --command=/app/bin/edge --file-forwarding com.microsoft.Edge @@u @@

We need to append this string:

 --window-size=1024,640 --force-device-scale-factor=1.25 --device-scale-factor=1.25 --kiosk "https://www.xbox.com/play"

So that the final combined string looks like this:

run --branch=stable --arch=x86_64 --command=/app/bin/edge --file-forwarding com.microsoft.Edge @@u @@ --window-size=1024,640 --force-device-scale-factor=1.25 --device-scale-factor=1.25 --kiosk "https://www.xbox.com/play"

This will launch the browser directly into XCloud and allow you to begin streaming. Now while still in Steam Desktop Mode, we want to test this out. Essentially everything that you do in Desktop mode, you are going to need to launch it at least once to make sure it is working as expected. Close out of any existing copies of Edge and give the new shortcut you just created a spin.

If done correctly you will get the Xbox Cloud Gaming website launched full screen. It is likely going to require you to log into it the first time but should remember your information each time you launch it from that point forward. Before we go back to game mode, there is one last thing we want to do in order to make the experience slightly better.

Now you want to launch Boiler, and if you click on the images tab you should see a section stubbed out for “Xbox Cloud Gaming (Beta)”. If you click into that section it should allow you to configure an image for each of the display areas within Steam aka the Hero, Grid, Big Picture, etc images. When you are finished setting everything up there is an icon that the bottom that shows a Controller with an arrow pointing at the Steam logo. This will import your changes into the steam database on the local machine, and when you flip back to game mode, it will now show all of those images correctly.

While it was a lot of steps… you have not configured XCloud streaming on your steam deck.

Configuring Stadia

The steps for configuring Stadia for the most part follow the same sequence as configuring XCloud, but having done several of them you can simply start at the adding a Non-Steam game to your library step. Once again you want to find Microsoft Edge in your list and add it to your library, and then view properties on that game. In the shortcut, we want to rename this one from Edge to Stadia, and again we are going to have to change some of the launch options. The default launch should look like this:

run --branch=stable --arch=x86_64 --command=/app/bin/edge --file-forwarding com.microsoft.Edge @@u @@

Once again we are appending a chunk of text to the end of those launch parameters that will configure the window size, kiosk mode, and launch the stadia website:

--window-size=1024,640 --force-device-scale-factor=1.25 --device-scale-factor=1.25 --kiosk "https://www.stadia.com"

The final launch string should look like this:

run --branch=stable --arch=x86_64 --command=/app/bin/edge --file-forwarding com.microsoft.Edge @@u @@  --window-size=1024,640 --force-device-scale-factor=1.25 --device-scale-factor=1.25 --kiosk "https://www.stadia.com"

Once again you want to close out any Edge windows that you have open and launch your shortcut. In theory, if everything worked as expected you should see a full-screen session of the Stadia website. You will need to log in with your google account, but once done you should have full access to stadia. Your final step would be to launch boilr again and configure the images so that it has something other than an ugly grey square when in game mode.

Configuring Epic Game Store and GOG

This process is going to be considerably easier than everything you have just gone through. It will still require you to be in Desktop Mode, however. Launch Discover again and this time type in “Heroic” which should bring up the Heroic Games Launcher. This application is an open-source installer that currently covers both Epic Games Store and GOG. It does a few other things that I will talk about later, but the first step is installing it. Click install and once finished launch the application while in Desktop Mode.

When you first open the application it will prompt you to log into your Epic Games account and your GOG account. Doing each will allow the application to access the games you have access to on your account. Once you have completed each, those games should now show up in your library as something you have the ability to download and install.

For GOG I chose to install Cyberpunk 2077, since that is ultimately where I own my copy of that game. It took forever to install and just so you are aware it goes through a process. The first bit is to download the game, then it goes through a configuring files step, then finally it installs the game and does some cleanup before the game is ready to play. Given that I was installing an over 60GB game to an SD card… this all took a very long time. Unfortunately, the Heroic Game Launcher only allows you to download a single game at a time, and things cannot be queued up.

Once finished I launched the game the first time in the Desktop Mode to make sure it was working as expected. Then I hopped into Boilr to make sure the images were correctly set. Then from that point forward I could launch the game happily in game mode. Effectively everything you do in Desktop Mode at least once in order to make sure it will run when you flip back into Game Mode. Essentially Game Mode masks a lot of processes so if something goes wrong, you won’t be able to see why.

I used Ooblets as my test case for Epic Game Store and again the same process followed. I started the download, and thankfully this one went much faster considering it is only around 800MB for the entire game. I let it finish, then launched it to test that everything worked as expected. Finally, I hopped over into Boilr to configure the images. Since then I have launched both Cyberpunk 2077 and Ooblets a few times while in game mode and everything worked flawlessly.

So in theory, if you have been following along to this point you should now have easy access to Xbox Cloud Gaming, Stadia, Epic Games Store, and Cyberpunk 2077 on your Steam Deck. Next up I think I am going to start playing around with emulation. There is something called EmuDeck that acts as a launcher for a whole slew of emulators and handles their configuration.

One last bonus benefit of the Heroic Games Launcher is it also serves as a really straightforward way to download and install a large number of Proton compatibility versions. As you follow specific guides they might recommend that you use a specific version of the proton drivers in order to get the best performance. Inside the HGS, there is a whole section labeled the “Wine Manager” that allows you to quickly install every Wine-GE, Wine-Lutris, and Proton-GE driver that you could want. So far the Steam Deck feels like the handheld I have always wanted, that I can basically configure to do anything that I could ever want to do with it.

6 thoughts on “Cloud Streaming on Steam Deck”

  1. I find having an dock helps with this but I wasn’t sure about epic.. I’ll be trying that idea. The idea of moding and being able to play your favorite games is a great way to make the steam deck more fun.

  2. Just fyi, the correct command for configuring Xbox Cloud Gaming is:

    flatpak –user override –filesystem=/run/udev:ro com.microsoft.Edge

    You lost a dash before user. The command does not work as you wrote it.

    But thank you for the guide! I found these to be helpful.

Comments are closed.