MonoGame and Steam Deck

Does anyone know which are the Steam Deck compatibility requirements so we can have our game running on it? As far as I know Steam just test games compatiblilty and they become available if they pass it.

1 Like

https://partner.steamgames.com/doc/steamdeck/compat

1 Like

If you distribute a linux-x64 build of a DesktopGL project, it will be “Steam Deck compatible”. You will have to wait for Steam to manually verify your game to get the Verified badge.

Our games are verified, so there’s nothing more from your end to do beside having a linux build and proper gamepad support.

2 Likes

My DirectX game built with MonoGame apparently works fine on the Steam Deck according to a curator, thanks to the Proton compatibility layer. Of course, it’s not officially verified by Steam, with the fancy checkmark and everything.

Yes, MonoGame games should just work with Proton, though in the absence of a native linux build, just be aware that Steam might be less inclined to verify it.

I just want to weigh in here since I have a few published games and have tested them on Steam Deck. All of my games are built for Windows, and up until now I’ve been using an older version of MonoGame (an older version, 3.8.0.1018, that used an installer) on Visual Studio 2015. I’m planning to install VS2022 and the up-to-date MonoGame imminently, and will update this post if I find any differences.

I have four games currently available on Steam and all of them were made using the Windows template (DirectX). Three of them ran on Steam Deck without any modification or changes, but one crashed on startup. I realized that the only internal difference between them was music-related: the one that crashed used music via the MediaPlayer class, and the others did not. Upon further investigation, I noticed that music built by the Pipeline defaults to the WMA format when using the Windows platform. My belief was that the Deck’s emulation layer can’t handle the WMA format.

I created a new project using the DesktopGL template instead. I changed the Content project’s platform from Windows to DesktopGL as well, then moved my code over. The build produced OGG files as opposed to WMA. After uploading to Steam and putting that build on a Beta track, I fired up the Deck, switched to Beta, and tried launching the game again. Sure enough, it worked (including the music). The audio panning didn’t work correctly, but I have a feeling it’s just a bug that was fixed sometime over the last few years, which is why I’m going to install the newest versions of everything and try again.

The only bummer is that the game supports touch control, and unless I’m mistaken, touch support does not exist in DesktopGL. So it appears that I can’t ship a single version with both touch support and Steam Deck support. (If I’m wrong on this, please, somebody correct me!)

Ultimately, so far I’m very pleased with how stuff has mostly “just worked” with MonoGame.