Chromium, other browsers not working after flashing or updating - Here's WHY and QUICK FIX

When Snap updated to version 2.70, what professionals call “Bad Things Happen” magically appeared. The main reason is due to the way that Snap handles permissions. You may have seen the cannot set capabilities: Operation not permitted . error when you attempt to launch a browser like Chromium or an IDE from the command line. If launching from a desktop icon, the app appears to launch but does not.

My preferred fix is to revert to an older version of Snap which is compatible with the Jetson (from @rsazid99) :

snap download snapd --revision=24724 sudo snap ack snapd_24724.assert sudo snap install snapd_24724.snap sudo sudo snap refresh --hold snapd 

This will install Snap 2.68.5 and put a hold on it, which means it will not be updated either through Snap or Apt.


Here’s the short Why:

Previously the Snap app loader operated as root. Starting with version 2.70, Snap relies on file capabilities.

Unfortunately some of the kernel configurations are not enabled on the default Jetson kernel to support this, such as CONFIG_SQUASHFS_XATTR. This feature allows the capabilities (permissions) of a file to be set for the Snap file system. There are some workarounds, depending on your situation and needs. For the real fix to use Snap, you’ll need to recompile the kernel.

I wrote an article that covers the main tech background :
Why Chromium Suddenly Broke on Jetson Orin (and How to Bring It Back)

Let me know if you have questions.

25 Likes

I knew I should have got that patent on “bad things”, I would have been rich…

I haven’t tried this yet, but I saw your kernel build infor with CONFIG_SQUASH_XATTR and see some of the features were using the integrated “=y”, and not modules. Because of the pervasive nature of SElinux, I’m thinking maybe you used that instead of “=m” for modules due to modules not being available. Is this correct that the features were not available in module format?

Btw, nice article!

1 Like

The XATTR is part of the Squashfs system which is built in to the Kernel, so that has to built in also. AppArmor is also an internal. I’m not completely sure why but an educated guess is that you don’t want security features to be modularized as that may be an attack point. There are different security modules that can be used (AppArmor, SELinux and so on).

The original error messages seem to imply that SELinux is working with the Linux Security Manager (LSM) and preventing the app to be loaded. However, this is just part of the fallback mechanism Snap uses during a cascade launch failure. SELinux isn’t being used under Ubuntu, but that’s a failure route Snap tries to use when things go south.

Thanks for the kind words.

1 Like

Hi,
Many thanks for the sharing. We will check with our team and see how to fix it. Thanks for proposing the solutions.

1 Like

@DaneLLL You’re welcome. The actual kernel flags are a pretty simple fix, the XATTR issue doesn’t require much thought. However, enabling AppArmor for use with the Linux Security Manager (LSM) means that the engineers/testers may have to go through the default profiles and find compatibility issues.

For example, enabling AppArmor will create permission DENIED messages during startup on dbus messages. You’ll see those when you look through dmesg. Chromium and Vulcan do also after the Chromium install. Typically one has to change the default AppArmor or Snap profiles to be configured correctly for the environment.

But that’s security for you. It tends to be a lot of work for what appears to be not very much gain to the normal user.

1 Like

My chromium suddenly fails to launch, even after I reflashed the system.
This method is useful for me, i can launch chromium now.

2 Likes

Can also confirm that @Kangalow ‘s solution fixed my issue too. Many thanks @Kangalow for the suggestion and detailed explanation of the cause of the issue.

Thanks,
Ambrose

2 Likes

This fix did work for me. I had also missed installing chromium at the first boot.

2 Likes

Thank you so much for the workaround and thorough explanation as to what is going on.
I’m back in business on my three Orin DevKits.
One related clarification and other browser workaround is that Gnome Web installed through the Gnome Software app does work if a user doesn’t want to lock down the version of Snap indefinitely.

4 Likes

Hello,
@Kangalow I am facing the same issue while trying the solution provided it is not able to download snapd attaching image below

Hello!

The same issue.

What should I do?
Jetson won’t boot…
All work has stopped.

More in detail here - Jetson Orin NX stuck on boot after unmounting disk where Docker was moved - #8 by silenzio777

Please help.

@aayush.shah1 It looks like you are having some kind of issue. Are you in recovery mode?

@silenzio777 You appear to be in emergency mode. Networking and snapd are not enabled when in emergency mode unless you explicitly work to turn them on. The version of snap that you appear to have is 2.67 which works and is not the cause of the issue that you appear to be having.

No, not in a recovery mode.
I am also showing same emergency mode which @silenzio777 mentioned.

I am attaching image what happens exactly,
While powering on:

Then after completing 4 jobs:

UPDATE:

I restored this data from a backup (glory to backups!!!) on Snap:

/var/lib/snapd/* /snap/* /var/snap/* /lib/snapd/* /usr/lib/snapd/*  

And from info in this article - https://jetsonhacks.com/2025/07/12/why-chromium-suddenly-broke-on-jetson-orin-and-how-to-bring-it-back/

Thank you @Kangalow very much!

You will also need to APPEND to the /boot/extlinux/extlinux.conf command line:

  • apparmor=1 security=apparmor

And my Jetson finally launched Ubuntu!!!

Firefox and Sublime Text works.

Chromium and btop don’t works…

$ snap version snap    2.67.1+22.04 snapd   unavailable series  - 
1 Like

Thanks @silenzio777 .
It works sucessfully.

Thanks @Kangalow.

2 Likes

But I cannot reinstall snapd

Hardware:

  • Model: NVIDIA Jetson Orin NX Engineering Reference Developer Kit Super
  • 699-level Part Number: 699-13767-0000-301 G.1
  • P-Number: p3767-0000
  • Module: NVIDIA Jetson Orin NX (16GB ram)
  • Soc: tegra234
  • LAT: 36.4.3
  • Jetpack: 6.2
$ snap version snap    2.67.1+22.04 snapd   unavailable series  - 
$ systemctl status snapd × snapd.service - Snap Daemon      Loaded: loaded (/lib/systemd/system/snapd.service; enabled; vendor preset: enabled)      Active: failed (Result: exit-code) since Tue 2025-07-15 16:22:09 MSK; 55min ago TriggeredBy: × snapd.socket     Process: 38845 ExecStart=/usr/lib/snapd/snapd (code=exited, status=203/EXEC)    Main PID: 38845 (code=exited, status=203/EXEC)         CPU: 2ms  Jul 15 16:22:09 jetsonnx systemd[1]: snapd.service: Scheduled restart job, restart counter is at 5. Jul 15 16:22:09 jetsonnx systemd[1]: Stopped Snap Daemon. Jul 15 16:22:09 jetsonnx systemd[1]: snapd.service: Start request repeated too quickly. Jul 15 16:22:09 jetsonnx systemd[1]: snapd.service: Failed with result 'exit-code'. Jul 15 16:22:09 jetsonnx systemd[1]: Failed to start Snap Daemon. Jul 15 16:22:09 jetsonnx systemd[1]: snapd.service: Triggering OnFailure= dependencies.  
$ snap download snapd --revision=24724 Fetching snap "snapd" 2025/07/15 17:13:43.678761 store_download.go:133: unable to use system snap provided xdelta3, running config command failed: fork/exec /snap/snapd/current/usr/bin/xdelta3: no such file or directory 2025/07/15 17:13:43.679088 store_download.go:142: no host system xdelta3 available to use deltas Fetching assertions for "snapd" Install the snap with:    snap ack snapd_24724.assert    snap install snapd_24724.snap 
silenzio@jetsonnx:~/ros2_ws$ sudo snap ack snapd_24724.assert [sudo] password for silenzio:  error: cannot assert: cannot communicate with server: Post "http://localhost/v2/assertions": dial unix /run/snapd.socket: connect: connection refused 
silenzio@jetsonnx:~/ros2_ws$ sudo snap install snapd_24724.snap error: cannot communicate with server: Post "http://localhost/v2/snaps": dial unix /run/snapd.socket: connect: connection refused 
sudo apt install snap=2.68.5 Reading package lists... Done Building dependency tree... Done Reading state information... Done Package snap is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source  E: Version '2.68.5' for 'snap' was not found 
$ sudo snap revert snapd error: cannot communicate with server: Post "http://localhost/v2/snaps/snapd": dial unix /run/snapd.socket: connect: connection refused 

Any ideas?

How do you restore them?

I tried snap download snapd --revision=24724 from another working kernel using chroot but it just doesn’t work.
Has been stuck outside of my working kernel for 6 days, looks like I messed up too much.

I restored these files from my backup which I made earlier in June.