Steam now easy to install in Ubuntu via SNAP package

Canonical, the company behind Ubuntu, is building the popular Steam game platform as Snap package!

The Ubuntu developer team is going to improve gaming experience on this popular Linux distribution. The first step is to simplify the process of setting up gaming environment. As the number 1 game platform, Steam to be first one they focus on.

Meaning Ubuntu 20.04, Ubuntu 22.04, and Ubuntu 22.10 can easily search for and install Steam as snap package from Ubuntu Software:

Steam in Ubuntu Software as Snap package

Or, user can press Ctrl+Alt+T on keyboard to open terminal and run the single command to get it:

snap install steam --beta

The command also work in Ubuntu 18.04, though --beta flag is required at the moment, because the package so far is in earlier stage for testing purpose.

After installed the package, just search for and launch it from ‘Activities’ overview screen:

It automatically install updates and setup runtime, and finally launch the client app for you.

Other Choices

As some users do not like Snap package, there are a few other ways to install Steam app in Ubuntu.

Option 1: Steam Installer

By searching in Ubuntu Software, you’ll see a “Steam Installer” package. Which is an empty package that automatically download steam package from its server and set it up in Ubuntu.

Steam Installer in Ubuntu Software

The package however is a 32-bit package which will also install a list of 32-bit libraries as dependencies.

Option 2: Steam’s official .deb package

Steam website offers official .deb package available for Debian/Ubuntu based systems.

User can download and then double-click on the package in file manager to install it.

Option 3: Flatpak package

The game platform is also available as the universal Flatpak package that runs in sandbox.

Just for choice, you may first run command in terminal (Ctrl+Alt+T) to install the Flatpak daemon:

sudo apt install flatpak

Then, install steam as flatpak package by running command:

flatpak install https://dl.flathub.org/repo/appstream/com.valvesoftware.Steam.flatpakref

Summary:

Ubuntu starts working on its official Steam package as Snap. Meaning user can now directly search for and install the game platform from Ubuntu Software. Besides that, there are also an installer script in Ubuntu Software, official .deb package from steam website, and Flatpak package available for choices.

Completely Turn Off Automatic Updates of Snap Apps in Ubuntu

Ubuntu finally added support for disabling automatic updates for snap applications, though it’s currently considered experimental at the moment of writing.

As you may know, Snap is an universal package format runs in sandbox. It’s developed by Canonical, the company behind Ubuntu, as a competitor to Flatpak.

The pre-installed Firefox in Ubuntu 22.04+, and Ubuntu Software in Ubuntu 20.04+ are Snap applications. And there are lots of apps in Ubuntu Software available as Snap, including Chromium browser, Skype, and more.

By default, Snap apps automatically update to the newest version. Though, user can delay or specify when to perform updates. It was impossible to completely disable automatic updates due to security issue.

But as the snap update mechanism has been continuously refined, and to give IT teams more control they expect for Linux systems, this long-awaited feature is finally released for preview.

Hold or completely disable Snap updates

The function is done via a new --hold parameter using snap refresh command.

  • For example, completely disable automatic updates for Firefox via command:
    snap refresh --hold firefox
  • Or, hold automatic updates for 24 hours for both firefox and snap-store via command:
    snap refresh --hold=24h firefox snap-store
  • For all the Snap apps, just skip package name in the command. So, disable automatic updates for all apps by running command:
    snap refresh --hold

Oppositely, re-enable automatically updates via --unhold parameter.

  • To re-enable updates for all apps, use command:
    snap refresh --unhold
  • To re-enable center apps, such as Firefox, use command:
    snap refresh --unhold firefox

Switch Snapd to edge channel

As mentioned, the feature is not in edge channel for preview. If you found the commands above do not work, but you really want to try it out, switch Snapd daemon to edge channel via command:

snap refresh snapd --edge

And verify by running snap list |grep snapd command.

To switch back the daemon package to stable channel, use command:

snap refresh snapd --stable

via: this post.

Firefox Snap Finally Support Installing Gnome Extensions in Ubuntu

The pre-installed Firefox browser in Ubuntu 22.04 finally to add back the ability to install Gnome Shell Extensions.

As you may know, Firefox in Ubuntu 22.04 defaults to Snap package that runs in sandbox. It however lacks the feature to exchange messages with native applications. So, you’ll find that the password manager integration (e.g., KeePassXC and 1password) with Firefox does not work. And, there’s no ON/OFF switch when you trying to install extensions from Gnome website.

For those sticking to the default Firefox package in Ubuntu 22.04, the new WebExtensions XDG desktop portal and its Firefox integration is present now to add back the native messaging support, though it’s in Beta stage at the moment for testing!

How to Try it out:

First of all, backup your bookmark, passwords, and other important data from current Firefox package.

1. Open ‘Ubuntu Software’, search for Firefox and go into its installation page. Then, switch to ‘latest/beta‘ channel via the header bar ‘Source’ dropdown-box. Finally, click install it.

Install Firefox from Beta channel

Or, simply press Ctrl+Alt+T to open terminal, and run command to switch Firefox from stable to latest beta:

sudo snap refresh firefox --beta

2. Next, run command in terminal (Ctrl+Alt+T) to update the XDG desktop portal, and also install chrome-gnome-shell agent:

sudo apt install xdg-desktop-portal chrome-gnome-shell

3. Now, kill the process of ‘xdg-desktop-portal’ and let it starts automatically. What I did is just log out and back in.

4. Finally, open Firefox web browser and go to extensions.gnome.org. It should pop-up a dialog ask user to grant permission to allow native connection for the website.

After clicking ‘Allow’, and install the browser extension via the ‘Click here to install broswer extension‘ link. You should finally be able to install an extension via the ON/OFF switch.

Skip the warning message ‘Your native host connector do not support following APIs: v6.‘, which also appear in my Google Chrome browser, though the extension install/uninstall function works.

Those using KeePassXC password manager may also install this extension to see if the browser integration works.

Switch back Firefox stable:

To go back the stable version of Firefox as Snap package, either search Firefox in Ubuntu Software and select ‘latest/stable’ channel from source and click install.

Or, run command in a terminal window (Ctrl+Alt+T):

sudo snap refresh firefox --stable

via: Ubuntu Discourse

Chromium Snap Package to Finally Get back VAAPI Hardware Decoding

The Chromium browser package (Snap version) in Ubuntu Software is missing VAAPI hardware decoding support. Ubuntu developer team is finally working on get the feature back!

As you may know, Ubuntu now includes the chromium web browser in the system repository as Snap package that runs in sandbox. However, the package is missing the graphics hardware acceleration since version 72 which was released a few years ago in 2019.

Some third-party PPAs are being maintained with Chromium packages, either due to lack of hardware acceleration or just because they don’t like Snap.

For Chromium fans who are OK with the Snap package, you can now help testing the new hwacc build that uses the graphics card for video playback.

Install Chromium from test repository:

1.) Firstly, backup your bookmark, password etc if you’re running Chromium as Snap.

2.) Press Ctrl + Alt + T on keyboard to open terminal. When it opens, run command to remove chromium snap (if any) via command:

sudo snap remove chromium

3.) Next, install the testing build with hardware acceleration support by running command:

sudo snap install --channel candidate/hwacc chromium

Verify if hardware acceleration works:

The report page recommends to run the command below to launch chromium browser:

snap run chromium --disable-features=UseChromeOSDirectVideoDecoder --enable-features=VaapiVideoDecoder

Finally, start playing a video either by drag and dropping local file into browser window, or via video website.

And, go to about:media-internals in address bar. Click what it’s playing and find out the value of “kVideoDecoderName“.

It will be {Vaapi,VDA,Mojo}VideoDecoder if succeed, or {FFMpeg,Vpx}VideoDecoder when failed.

For Intel graphics, there’s also a command line tool to verify if GPU rendering is working.

  • First, run command to install the intel-gpu-tools package:
    sudo apt install intel-gpu-tools
  • The, use command to verify:
    sudo intel_gpu_top

In my case, the previous command did’t work in both i3-6006U and i5-10400 with integrated graphics card, but using the following command to launch Chromium works!

LIBVA_DRIVERS_PATH=/snap/chromium/current/usr/lib/x86_64-linux-gnu/dri/ chromium --use-gl=egl --enable-features=VaapiVideoDecoder,VaapiVideoEncoder --disable-features=UseChromeOSDirectVideoDecoder --ignore-gpu-blocklist --disable-gpu-driver-bug-workaround

How to Restore:

To remove the Chromium package, open terminal and run command:

sudo snap remove --purge chromium

And, install back the package (if you want) from stable channel either from Ubuntu Software or by running the command below in terminal:

sudo snap install chromium

Report in launchpad

How to Delay or Tell When to Update Snap Apps in Ubuntu

Ubuntu automatically checks and updates all installed Snap packages 4 times every day. Here’s how you can delay or assign a certain time period for the automatic update.

Snap is an Ubuntu developed universal package format that runs in sandbox. Few core apps (such as Ubuntu Software and Firefox in 22.04) and many software in Ubuntu Software are Snap packages. Unlike classic .deb package, snap updates all the packages automatically in the background silently without user intervention.

If you didn’t block the Snap package, you must have some installed on your Ubuntu machine. And, to avoid conflict to daily work (e.g., online meetings, data backup), you may tell Snap when to do the updates.

Check when Snap will do updates:

By default, snap check (and install if any) updates 4 times per day. You may verify it by pressing Ctrl+Alt+T on keyboard to open terminal and run command:

snap refresh --time

Besides the time period and frequency, it also tells when the last done and next will occur.

Specify time period for Snap update

To tell when and how often to check updates, it can be done by running a single command in terminal to set the value of “refresh.timer”.

For example, to allow only between 4.00am and 6.00am, and 9.00pm and 12.00pm, use command:

sudo snap set system refresh.timer=4:00-6:00,21:00-24:00

Or, only check/install updates twice in weekend via command:

sudo snap set system refresh.timer=sat,sun,0:00-24:00/2

Other examples include between 10.00pm and 11.00pm from Monday to Wednesday, and between 9.00am and 11.00am on Friday.

sudo snap set system refresh.timer=mon-wed,22:00-23:00,,fri,9:00-11:00

Or second Monday of the month between 9:00 and 11:00 via command:

sudo snap set system refresh.timer=mon2,9:00-11:00

Delay the update

Ubuntu supports to delay snap updates by specifying a value to “refresh.hold” up to 90 days.

1. Firstly, in case you don’t know your time zone short name, run command:

date

It will output the current date and time, as well as time zone (e.g., NST, AST, EST, PST, CST).

2. Next, use the command below to convert your desired time (e.g., July 7, 2022) to the right format:

date --date="CST 2022-07-07 18:22:00" +%Y-%m-%dT%H:%M:%S%:z

Replace the time zone, date and time in bold. And, copy the output time for use in next command.

3. Finally, delay snap refresh until the given date and time.

sudo snap set system refresh.hold=2022-07-07T18:22:00+08:00

To verify the change, use command:

sudo snap get system refresh.hold

Prevent update when on metered connections

If you’re running Ubuntu on a metered network connection. Which mean you have limited amount of data per month or day. You can prevent Snap from doing updates by running command:

sudo snap set system refresh.metered=hold

To undo this change, use command:

sudo snap set system refresh.metered=null