Skip to main content
  1. Posts/

Using Greenlight to Stream Your Xbox and xCloud to Steamdeck

·884 words·5 mins
muffin
Author
muffin
🐶
Table of Contents

✏️ Intro #

When I got my Steamdeck in mid-2022, I couldn’t find a way to stream my Xbox to my Steamdeck locally which sucks because I use my Xbox far less than I should.

Microsoft did release a tutorial early on for streaming xCloud to the Steamdeck which uses Edge and works just fine but is only for xCloud.

I recently stumbled on a GitHub project which allows both xCloud and local Xbox streaming. This is an amazing addition to a Steamdeck if you own an Xbox or gamepass subscription. Here’s how to use it…

📑 The Apps #

At the time of posting there is no flatpak available. Once there is this post will still work, but will be redundant.

The projects that will be used are the following:

TheAssassin/AppImageLauncher

Helper application for Linux distributions serving as a kind of “entry point” for running and integrating AppImages

C++
4164
220

AppImageLauncher makes installing .AppImage files super easy. I recommend this way as there may be other .AppImages you wish to install, and it just makes this a breeze.

unknownskl/greenlight

Greenlight is an open-source client for xCloud and Xbox home streaming made in Typescript.

TypeScript
1397
80

This is the project which enables local Xbox streaming as well as xCloud streaming. At the time of writing it is being rebranded to Greenlight.

🔧 Install AppImageLauncher #

Obtain the latest build of AppImageLauncher #

I will be doing this on my machine connected to the Steamdeck via SSH. You can do this locally via Firefox or something too by downloading the latest appimagelauncher-lite package ending in x86_64.AppImage from the releases page.

Otherwise, for SSH, be aware of the latest version and use wget. Optionally, you can still do the following on the Decks terminal.

cd ~/Downloads/
wget https://github.com/TheAssassin/AppImageLauncher/releases/download/v2.2.0/appimagelauncher-lite-2.2.0-travis995-0f91801-x86_64.AppImage

Install AppImageLauncher #

To install it we simply run the following command in our SSH session:

chmod +x ~/Downloads/appimagelauncher-lite-2.2.0-travis995-0f91801-x86_64.AppImage
~/Downloads/./appimagelauncher-lite-2.2.0-travis995-0f91801-x86_64.AppImage install

To do this on the Deck itself just run the above in a terminal window. I would recommend using a keyboard but you can drag and drop a file into the terminal window to fill in the path and name.

AppImageLauncher should now be installed and you should see something like the following:

🔩 Install Greenlight #

Installing Greenlight is even simpler.

As before we will obtain the latest Greenlight from Github. At the time of writing this is 2.0.0-beta2. Download the .AppImage however you see fit.

cd ~/Downloads/
wget https://github.com/unknownskl/xbox-xCloud-client/releases/download/v2.0.0-beta2/Greenlight-2.0.0-beta2.AppImage

Now all that needs to be done is to move the downloaded AppImage to ~/Applications directory. You can do this with SSH, terminal or just by dragging the file locally on the deck.

mv Greenlight-2.0.0-beta2.AppImage ~/Applications/

Like magic, you should now have Greenlight in your applications.

🌎 Logging In and Adding To Steam #

Logging in #

Open the app and login initially.

Once you’re logged in you can close the application.

Adding to Steam #

Right-click Greenlight in the app draw and click Add to Steam.

Open steam in desktop mode and right click Greenlight and click on Properties.

Add --fullscreen to the launch options as per this screenshot and close Steam in desktop mode.

You can now relaunch gaming mode and Greenlight should be under Non-Steam.

Optional: Add Artwork #

Adding artwork is easy using decky-loader with decky-steamgriddb. You can download the following files manually too from here.

SteamDeckHomebrew/decky-loader

A plugin loader for the Steam Deck.

TypeScript
3071
116

SteamGridDB/decky-steamgriddb

Plugin for Decky Loader to apply and manage custom art asset from within gaming mode.

TypeScript
109
9

Select Change Artwork from the settings of the game.

And there we will find both a capsule and wide capsule created by user Axtka. What a legend.

Whilst this isn’t all the artwork it makes things look much better.

🎮 Controller Mapping #

One final step to making this work is mapping the Steamdeck for full functionality.

Launch Greenlight from gaming mode and go into controller settings. I would personally recommend ‘Gamepad with Mouse Trackpad’ for easy navigation.

Ensure to change the right trackpad click to left mouse click.
And finally, a mapping for the Xbox button needs to be done. I did this on R5 but, of course, you can do this with anything you like. The Xbox button in Greenlight is the keyboard key N and can be mapped like so:

🎲 Play #

That’s it. Once you launch Greenlight, assuming you have remote play enabled you should be able to see your Xbox and stream from it; as well as access all xCloud streaming.

The xCloud section is not as pretty as the official method using Edge, but it’s still more convenient in my option, and the main use for me is local streaming.

🎉 Fin #

That’s it. You can now never need to touch your Xbox locally again which has been working well for me. I even play on my couch on the Steamdeck when I could be on the TV, just because I prefer it.

Performance for me has been amazing. I am a systems engineer with networking qualifications so you can bet my home network is rock solid. Your mileage may vary, of course, depending on your networking hardware.

Be sure to check the Github page for Greenlight frequently for any updates.

Thanks for reading. ~~Muffn