Project maintained by louis-bompart Hosted on GitHub Pages — Theme by mattgraham

Integrate Moonlight with Steam Deck UI

What is a Steam Deck?

The Steam Deck is a handheld gaming computer developed by Valve 1


What is Moonlight?

Moonlight (formerly Limelight) is an open source implementation of NVIDIA’s GameStream protocol.


In short: It allows a machine (in this instance, a Steam Deck) to stream games from another machine using Nvidia custom sauce.

What is the goal here?

To have a seamless experience between launching a game through Moonlight and to stream a game with Steam Remote Play.

But why?

End result

YouTube demo:

YT Video Click to go to YouTube


list Games individually listed in the non-steam games section

gamePage Game images from SteamGridDB

Press play and then…

gameStart1 Moonlight starting automatically the game on the Host Machine…

gameStart2 And the game, ready to play!


Setup steps

Installing Moonlight

The Steam Deck ship with Flatpak as its package manager, you can use it directly, or use Discover. If you use Discover, wait for Discover to find all the packages, it’ll take a while. Then look for Moonlight from “Moonlight Game Streaming Team” and install it.

If you’re used to using a package manager through the terminal, by all means, do so. (won’t hold your hands)

Testing Moonlight

Before going throught the hoops to set it up with Steam, let’s try it out.

All’s working? Good, now, let’s set up a ‘moonlighted’ game in Steam

Setting up a Moonlighted game

Adding a Moonlight shortcut

Technical explanation:

We’re about to set a steam app to launch moonlight cli with some arguments that will allow moonlight to start the game directly.


From here, you could close the window and launch Moonlight from Steam. But that’s not our end goal.

Parametrizing the Moonlight Shortcut

From here, your game is playable directly from the Steam Deck experience. However, it’s pretty bland. No pictures, nothing. Pretty dull, innit?

Customizing the Game Shortcut

To customize your new shortcut, we’ll use [SteamGridDb](https://www.steamgriddb.com].

And that’s all, your game is set up, you can go back to your deck. :tada:

And yes, rinse and repeat for every other game.

  1. https://en.wikipedia.org/wiki/Steam_Deck 

  2. Security/tech explanation: This uses xdg-open and the sgdb custom url scheme that BOOP registered on install to launch BOOP with some params to launch BOOP.