Manjaro supports Snap



Some might have noticed that I’m not the big fan of the AUR. However having additional software not only from our binary repositories makes sense.

Some might also know about the bundle system we tried to implement within Chakra Linux back in the days. Since Chakra was a KDE-only based distro, but users still liked software like Firefox or Gimp we started to created bundles to provide those needs.

In the end that approach slowed down and was not tackled anymore. With time came snap and flatpak as working alternatives. Both are now supported within Manjaro.

In a future step we will integrate a full store into Pamac to have a nice graphical UI for snaps and flatpaks.

So if you’re on our unstable branch you may test snaps from today on.


[Stable Update] 2017-09-30 - Timeshift, Kernels, Nvidia, JADE, Haskell, JDK9, Snap Support
Install software without using AUR
Spotify snap not working
Install software without using AUR
Request for a compiled package

Is this the full snap support like Solus got?
With apparmor containment?


We don’t use apparmor yet. See also here.


Ah okay. So it’s basic support, until AppArmor gets re-added to the kernels. :slight_smile:


We will work with Canonical on how we adopt it best in future.


Basic CLI usage.


Excellent news. May AUR die a peaceful death one day, with a few thousand bullets holes from a rapid-fire minigun with explosive munition.

If this mean making AUR less visible in pamac and make it blend less with Manjaro’s repositories and functionality, then please, please! But we shouldn’t even need to wait for snaps and flatpak support for that.
However if this means a new program, then meh-what-ever!

As for apparmor, I’m personally not in a hurry. I’d have little use for it, so that’s cool.


How secure is the sandbox / container an installed snap executes within?

Anyone know a simple test snap to experiment with?


You can try with chromium. First start takes however a little longer, so don’t worry about that. You may search for snaps first.


It’s pretty good. Apparmor extended functionality is only meant really for low-level security. Most of your userland packages are otherwise pretty much secured, depending on the snapcraft configuration file for the snap.

There’s plenty of documentation around for snaps features and creation. I don’t keep bookmarks on it, so I can’t really guide you. But just start with Without understanding the security features, you won;t know what you are looking for when running a snap to test them.

sudo pacman -S snapd
sudo systemctl enable snapd
sudo systemctl start snapd
$ systemctl status snapd
● snapd.service - Snappy daemon
   Loaded: loaded (/usr/lib/systemd/system/snapd.service; enabled; vendor preset: disable
   Active: active (running) since Sat 2017-09-23 01:37:49 AEST; 43s ago
 Main PID: 313 (snapd)
    Tasks: 7 (limit: 4915)
   CGroup: /system.slice/snapd.service
           └─313 /usr/lib/snapd/snapd
$ sudo snap install chromium
2017-09-23T01:41:04+10:00 INFO Waiting for restart...
chromium 60.0.3112.101 from 'canonical' installed
$ snap list
Name      Version        Rev   Developer  Notes
chromium  60.0.3112.101  9     canonical  -
core      16-2.27.6      2898  canonical  core

$ chromium


I tried to install ohmygiraffe which is a game that I use to test snap on Ubuntu and Solus, However it doesn’t work. What I did is:

  1. installed snapd
  2. executed systemctl enable snapd.socket and systemctl start snapd.socket
  3. executed sudo snap install ohmygiraffe
  4. rebooted as described in the arch wiki.
  5. Running ohmygiraffe from terminal gives output:
[thanos@thanos-pc ~]$ ohmygiraffe 
AL lib: (WW) ReadALConfig: Ignoring XDG config dir: 
Could not set video mode: Couldn't find matching GLX visual
Error: [string "boot.lua"]:332: Could not set window mode
stack traceback:
        [C]: in function 'assert'
        [string "boot.lua"]:332: in function <[string "boot.lua"]:241>
        [C]: in function 'xpcall'
Could not set video mode: Couldn't find matching GLX visual

Am I missing something (I don’t have much experience with snap, maybe it needs some runtime like flatpak)?


Got exactly the same error with video-virtualbox and latest mesa.

$ glxinfo | grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 5.0, 256 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 17.2.1
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 17.2.1
OpenGL shading language version string: 1.30

Is this expecting an OpenGL implementation > 3.30?


Well I’ve never had problems with OpenGL on Manjaro with my AMD HD 7750 GPU, and since it’s working on Solus, I don’t think that this is the problem:

[thanos@thanos-pc ~]$ glxinfo | grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: AMD CAPE VERDE (DRM 2.50.0 / 4.13.3-2-MANJARO, LLVM 5.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.2.1
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 17.2.1
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.2.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:


What’s the difference between the snapd.service and snapd.socket?

snapd.service seems to require snapd.socket and starts it automatically on boot if snapd.service is enabled.

$ systemctl status snapd.socket
● snapd.socket - Socket activation for snappy daemon
   Loaded: loaded (/usr/lib/systemd/system/snapd.socket; disabled; vendor preset: disable
   Active: active (running) since Sat 2017-09-23 ; 40min ago
   Listen: /run/snapd.socket (Stream)
           /run/snapd-snap.socket (Stream)


On my end I’ve the following error using XFCE-GTK3:

phil@manjaro ~ $ ohmygiraffe
/snap/ohmygiraffe/3/bin/launch_omg: line 59: 27355 Segmentation fault      (core dumped) $SNAP/usr/bin/love $SNAP/

However I was able to install and play OpenTyrian.


OpenTyrian works for me too as chromium does. Can you try to install and run krita? I get this error where running in which seems similar to my ohmygiraffe error:

[thanos@thanos-pc ~]$ snap run krita
Could not initialize GLX
Aborted (core dumped)

EDIT: For some reason krita runs fine now after uninstalling and reinstalling snapd…


Systemd manages sockets separately from the services that use them. This allows it to do some wizardry like having a socket enabled but only really start the service when the socket is first accessed and is also an essential part of wat allows systemd parallel service initialization.

Since every .socket unit must have(*) a matching .service unit that will be activated when the socket receives activity, you don’t usually explicitly enable or start these .service units. You just need to start the .socket unit and systemd will enable the service when you access the socket. That is also the case with the snapd service, so you only need to enable and start the snapd.socket unit file.

(*) if for some reason the service unit name doesn’t match the socket name, you need to use the Service= directive in the .socket unit file to tell it what service will it activate when the socket is accessed.


I doubt this will fully replace the AUR at least in my use case, I use the AUR only for a couple unusual packages that I doubt will ever be snapped/flatpaked. That said gaining snap/flatpak support in pamac is pretty cool.

Really not sure how I feel about this never been a fan of app stores. In fact the main reason I switched to Manjaro from Mint a couple years ago was because I hated their app store so much and pamac was so amazing.

I’ll reserve judgement until I try the finished product in stable, I have all faith in the team.


AUR is one of the many reason I love arch linux. I get most of the packages instantaneously and I can easily contribute to the linux that I love, even if it is in a very little amount.
I have said it again and again that linux package fragmentation is what makes it trouble some for the little linux maintainers.
I have best wishes for snap but will have my love for AUR.