The Steam Deck is a handheld gaming computer developed by Valve 1
https://store.steampowered.com/steamdeck
Moonlight (formerly Limelight) is an open source implementation of NVIDIA’s GameStream protocol.
https://moonlight-stream.org/
In short: It allows a machine (in this instance, a Steam Deck) to stream games from another machine using Nvidia custom sauce.
To have a seamless experience between launching a game through Moonlight and to stream a game with Steam Remote Play.
Games individually listed in the non-steam games section
Game images from SteamGridDB
Press play and then…
Moonlight starting automatically the game on the Host Machine…
And the game, ready to play!
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)
Before going throught the hoops to set it up with Steam, let’s try it out.
If your Host Machine is not listed, refer to Moonlight Troubleshooting Guide.
All’s working? Good, now, let’s set up a ‘moonlighted’ game in Steam
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.
Steps:
Target
and Start In
to "/var/lib/flatpak/app/com.moonlight_stream.Moonlight/current/active/export/bin/com.moonlight_stream.Moonlight"
From here, you could close the window and launch Moonlight from Steam. But that’s not our end goal.
stream $HOST_MACHINE_NAME "Game of your Name"
.
So, for example, if my host machine name is GLAD0S and I want to play Portal 2 I should put
stream GLAD0S "Portal 2"
From here, your game is playable directly from the Steam Deck experience. However, it’s pretty bland. No pictures, nothing. Pretty dull, innit?
To customize your new shortcut, we’ll use SteamGridDb.
If nothing happens, try the troubleshooting steps of SGDBoop. Notably, try running
systemctl restart --user xdg-desktop-portal
.[^3]
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.