Steam Snap Status & Improvements

It’s been just over 6 months since we called for testing for the Steam Snap’s stable release, and about a year and a half since early access, so I thought I’d share the notable areas of progress with the Steam Snap.

Proton

One of the major blockers for Steam tends to be games that rely on Valve’s compatibility layer Proton to function. We’ve made huge strides in improving the Snap’s compatibility in this respect, including some of the changes below.

Some changes were made to snapd for the steam_support interface to better promote compatibility. These include things like allowing external drive mounts, NVIDIA drivers, network compatibility, /usr files, and /lib/libexec files.

External Libraries

Many gamers store their games on external drives, so it was an important issue to us to get external libraries up to par with the Steam deb. Now, any game libraries located in /mnt, /media/, or /run/media, /opt, /src, or /home can be used in the Steam Snap with no issues.

GameMode

We bundled GameMode into the Steam Snap so that it can be easily used just by putting gamemoderun %command% into a game’s launch arguments. This also came alongside changes to GameMode itself for compatibility with Snaps.

This relies on an xdg-desktop-portals PR that has yet to be merged.

MangoHUD

We also bundled MangoHUD into the Snap for easy usage with mangohud %command%.

Controllers

Controller support has significantly improved in the last year, with most common controllers working just as they would with the Steam deb. This includes the addition of the uinput plug as well as improvement to the steam_support interface of snapd.

NVIDIA Drivers

We’ve added improvements to snapd to better facilitate NVIDIA graphics cards, including improving the opengl and steam-support interfaces. The former should even improve NVIDIA GPU usage in other Snaps!

Debugging Tools

To assist in debugging issues, we included some simple tools and test scripts with the Steam Snap. These include test scripts, and graphics demos like glxgears and vkcube.

steamreport + nvidia32 Scripts

We include some helpful scripts with the Snap like steamreport and nvidia32, of which were explored in more detail in my previous post. In short, these tools allow users to more easily report issues and ease the barrier of entry by suggesting appropriate drivers.

Misc. Fixes

All of these changes come alongside various smaller fixes that have made the Steam Snap experience better. You can see all the closed issues here.

In addition, our wiki has been vastly improved to include a plethora of useful information, helpful tips, and even a step-by-step of our own suggested test plan so that we can more consistently test changes to the Snap.


If you haven’t tried out the Steam Snap for yourself yet, you can do so here: Install Steam on Linux | Snap Store

As always, if you have any issues, be sure to check out the GitHub repository.

12 Likes

Are there plans to have the Steam snap officially supported/blessed by Valve themselves?

3 Likes

No, not at the moment.

I think there needs to be some explicit communication that the Steam Snap isn’t supported by Valve, or work more closely together with them.

https://www.gamingonlinux.com/2024/01/valve-seeing-increasing-bug-reports-due-to-steam-snap-other-methods-recommended/

3 Likes

Agreed, we’re working on a change to the description in the Snap store listing.

3 Likes

I’m still unable to add the ones on my /home/DATA drives (it’s where I mounted my other internal drives due to when snaps didn’t work properly with external drives). any ideas on when that’ll be fixed?

Works when I do a bind

Snap version of OBS has a inscription in the name and a bold inscription in the description, which clearly makes to understand the status of this package

Screenshot

изображение

Perhaps similar change in the description and name of the Steam package will be as informative as possible :slight_smile:

FWIW, I added that specifically because the upstream developers were getting technical support queries about the snap package, which they didn’t make or support.

1 Like

Like what makes this different from the one in the repo.

Worth mentioning, IMO

1 Like