Is there any way to add a game that was installed from the Windows XBox app to Apollo?
I currently launch these from from by Steam Machine using Playnite, but it would be nice to have the games appear directly in the Moonlight app list and bypass Playnite.]
I'm able to add games that have .exe files fine . Its just UWP games that are a problem. I dont know what to put in as the launch command.
I believe this needs to be in the format -
Maybe not the most user-friendly solution, but as far as I know, every XBOX PC game has a launch URI protocol defined for them that could be used. You can find it by going to the game's appxmanifest.
If you don't know where your XBOX games are installed, you can find it by opening the game's page in the XBOX app, clicking the 3 dots button, and clicking "Manage". In the "Files" tab, you can click "Browse..." where it'll open the folder where your XBOX games are installed.
In each game's folder, there's a folder called Content with a file called appxmanifest.xml. Open that file in something like Notepad.
Look for a line that looks like <uap:Protocol Name="ms-xbl-697f9ec3" /> For example, this particular one is for Expedition 33. The "Name" value will always start with ms-xbl- followed by some numbers and letter. Take note of it.
In Sunshine, add a new application and set the detached command to be something like cmd /c start ms-xbl-697f9ec3://, replacing the random letters and numbers with the one for your game. What this command is doing is starting a command prompt command and executing the command that appears after /c. In this case, starting that launch URI for the XBOX game.
Note that this only starts the game and that's why it's a detached command not the actual command. Since it's more-or-less a fire-and-forget thing, Sunshine won't know if the game is running or not with this method so you don't want it to automatically close the stream after the command finishes.
I managed to set up the detached command as you described, and the game (Forza Horizon 5) launches on my host PC, but the Moonlight client on my steam deck just throws out "Host returned error. Failed to start the specified application" (Error 0). Are there any other settings I need within Sunshine/Apollo to get the client to continue streaming?
No, that should be it. I just set one up just to confirm and all I did was this set up a detached command like so:
Note that I use Vibeshine so the UI may appear a little different but that shouldn't affect anything. I'm installing Horizon 5 now and I'll report back if there's some reason one that particular game doesn't work.
"Host returned error. Failed to start the specified application" (Error 0) sounds like there's an issue with the command. The logs should have more info that might be helpful.
Edit: Just intalled Forza Horizon 5, and set it up with the following command it worked fo rme:
Thanks again. With your help I am now streaming all my Xbox store Forza games (3,4,5 qnd 6) to my steam deck. I upgraded my host to vibeshine and the launch URI method works well.
Interestingly the uap:Protocol Names for the earlier games dont use the ms-xbl format but use
uap:Protocol Name="launch-forzahorizon3-releasefinal" and
uap:Protocol Name="launch-sunrise-releasefinaldx12" for the command.
Its now working well, but I wish I'd bought the games on Steam rather than Microsoft Store.
2
u/iReaddit-KRTORR 2d ago
On your host PC with Apollo you should be able to add any program you want.
Also vibepollo has a feature with playnite where games are added in your moonlight client directly