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

What’s the current progress of Steam snap & moving it to 24.04? IIRC, that needs to happen first before upgrading the Mesa drivers inside Steam snap will be using?

I wanted to take a look at this, but unfortunately something broke in the steam-snap build process.

The automated builds are failing, and it’s not possible to build locally either.

No, the steam snap doesn’t ship any parts of mesa anymore, they come from the mesa content snap nowadays… That makes it rather trivial to do something like snap refresh mesa-core22 --channel=kisak/latest to get newer mesa libs…

32bit libs still seems as required in Steam but emulation or maybe translation(there are various x32 platforms not mandatory classic x86-64) but Proton probably not take this automatic translation into account and bugs even when could someday do be a huge list, so preference for Remake or Remaster and Windows 7/8 support gone in Steam but games still in offer even when could not run and Lutris and similar is hacker way to do so for common user.

But it is also in mainstream than kernels could be compiled without 32bits and Qemu, KVM or Xen or something not prepared for this Wine enthusiast how to achieve Windows compatibility layer.

Dang…hope that gets solved

both mesa-core22 and gaming-graphics-core22 are outdated, especially gaming-graphics-core22 which hasn’t been refreshed in a while.

> snap info mesa-core22 
name:      mesa-core22
summary:   mesa libraries for core22 snaps
publisher: Canonical✓
store-url: https://snapcraft.io/mesa-core22
contact:   https://github.com/MirServer/mesa-core22/issues
license:   MIT
description: |
  A content snap containing the mesa libraries and drivers for `base: core22` snaps.
  
  It supports a broad range of hardware through the Mesa stack.
  
  To make use of this snap in your application, allowing for GPU acceleration on
  a broader set of hardware without including the drivers in your snap, refer to the
  documentation below:
  
  https://mir-server.io/docs/the-graphics-core22-snap-interface
  
  _Note: On some, typically desktop, systems SnapD supports loading Nvidia drivers installed on the
  host. mesa-core22 is compatible with this._
  
  See also: https://snapcraft.io/nvidia-core22
snap-id: UijXdFgvIKp9ZZ6P4ijPAJHWZLtSKgWm
channels:
  latest/stable:    23.2.1 2025-02-19 (344) 213MB -
  latest/candidate: ↑                             
  latest/beta:      23.2.1 2024-12-12 (344) 213MB -
  latest/edge:      ↑                   
> snap info gaming-graphics-core22
name:      gaming-graphics-core22
summary:   Shared Mesa stack for gaming
publisher: Canonical✓
store-url: https://snapcraft.io/gaming-graphics-core22
contact:   https://github.com/canonical/gaming-graphics
license:   unset
description: |
  Graphics libraries useful for gaming platforms like Steam
snap-id:      JWD4nJLiCdHrZWKOWlzGbh0cv0omRmDj
tracking:     kisak-fresh/candidate
refresh-date: 2024-10-31
channels:
  kisak-fresh/stable:     24.2.3~kisak1~j                  2024-10-07 (184) 202MB -
  kisak-fresh/candidate:  24.2.6~kisak1~j                  2024-10-31 (190) 202MB -
  kisak-fresh/beta:       ↑                                                       
  kisak-fresh/edge:       ↑                                                       
  oibaf-latest/stable:    24.0~git2311260600.945288~oibaf~ 2023-12-06 (136) 210MB -
  oibaf-latest/candidate: 24.0~git2311260600.945288~oibaf~ 2023-11-27 (136) 210MB -
  oibaf-latest/beta:      ↑                                                       
  oibaf-latest/edge:      ↑                                                       
  kisak-turtle/stable:    24.1.7~kisak1~j                  2024-10-07 (185) 222MB -
  kisak-turtle/candidate: 24.1.7~kisak1~j                  2024-10-31 (191) 222MB -
  kisak-turtle/beta:      ↑                                                       
  kisak-turtle/edge:      ↑                                                       
installed:                24.2.6~kisak1~j                             (190) 202MB -

I’m trying to find the original post inquiring about when it’ll be refreshed again, but it was sometime late last year, and I remember someone responded about wanting to move to 24.04 when that happens.

kisak-mesa in launchpad is already on 25.0, even for the 22.04 version.
oibaf’s mesa is also on 25.0, but doesn’t include 22.04 builds

on another note, will Steam snap use the system’s Mesa if it’s newer than the one in the Snap? Tuxedo is on 24.3.4, atm and was told that it’ll be upgraded to Mesa 25 when 25.0.1 comes out.

1 Like