A full-featured web browser for the terminal using Chromium (CEF) with support for Sixel and Kitty graphics protocols. brow6el.dev

Distributed AppImage fails to run #1

Open matoken.tngl.sh
Open opened by matoken.tngl.sh

Distributed AppImage fails to run

The x86_64 AppImage distributed at https://www.brow6el.dev/ does not launch on my Debian Sid amd64 system.

$ wget https://www.brow6el.dev/appimage/brow6el-x86_64.AppImage
$ chmod u+x ./brow6el-x86_64.AppImage
$ ./brow6el-x86_64.AppImage
Profile mode: temporary
Profile mode: temporary
Profile path: /tmp/brow6el_1337601_2187058868
Brow6el - Terminal Web Browser with Sixel Support
Trace/breakpoint trap      ./brow6el-x86_64.AppImage

Upon extracting the package, it appears that libcef.so is missing. (However, the file is located in the same place as in the Edge Builds, and the AppRun file is identical.)

$ ./brow6el-x86_64.AppImage --appimage-extract
$ ldd squashfs-root/usr/bin/brow6el
		linux-vdso.so.1 (0x00007f53c9c61000)
		libcef.so => not found
		libsixel.so.1 => /usr/lib/x86_64-linux-gnu/libsixel.so.1 (0x00007f53c9a8d000)
		libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f53c9600000)
		libgcc_s.so.1 => /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f53c9a5f000)
		libc.so.6 => /usr/lib/x86_64-linux-gnu/libc.so.6 (0x00007f53c940a000)
		libm.so.6 => /usr/lib/x86_64-linux-gnu/libm.so.6 (0x00007f53c9967000)
		/lib64/ld-linux-x86-64.so.2 (0x00007f53c9c63000)
$ find squashfs-root -name libcef.so
squashfs-root/usr/libcef.so

the x86_64 "Bleeding Edge Build" and the AppImage I built myself from source worked correctly.

Edit: My apologies. Since the configuration is handled by AppRun, the path to libcef.so is actually irrelevant.

Hi, thanks for reporting I will look into it. Can So to my understanding Bleeding Edge appimage downloaded from site works but stable not?

Yes. I also tested it on Debian stable (trixie). Just like on sid, the Edge AppImage works, but the stable version did not.

@janantos.tngl.sh @matoken.tngl.sh

I can reproduce this on Debian sid: the stable AppImage (0.3.4, last modified 2026-01-19) dies with SIGTRAP and the bleeding edge one starts. CEF logs the reason to /tmp/brow6el_debug.log:

FATAL:crypto/nss_util.cc:115] nss_error=-5925, os_error=0

The stable AppImage bundles libnss3.so, libnssutil3.so, libsmime3.so and libnspr4.so in usr/lib, but NSS loads its other modules (libsoftokn3, libfreebl3) from the system at runtime, so the bundled half and Debian's half do not match and NSS initialisation fails. Forcing the system copies confirms it, the stable AppImage then starts and renders normally:

LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libnspr4.so /usr/lib/x86_64-linux-gnu/libnssutil3.so /usr/lib/x86_64-linux-gnu/libnss3.so /usr/lib/x86_64-linux-gnu/libsmime3.so" ./brow6el-x86_64.AppImage

The CI workflow stopped bundling these libraries in e66bd68, which is why the bleeding edge build works, but the stable AppImage predates it and build_appimage.sh still bundles them. https://tangled.org/janantos.tngl.sh/brow6el/pulls/3 fixes the scripts, and also fixes hint, mouse, inspect and visual modes in the current AppImage, which cannot find their JS files, and an extracted AppImage (--appimage-extract-and-run on systems without FUSE) that does not start. Rebuilding the stable AppImage from v0.3.5, ideally with CEF 154 from https://tangled.org/janantos.tngl.sh/brow6el/pulls/1, should close this issue.

Until then:

  • On Debian sid you can install brow6el 0.3.5 built against CEF 154 from the unofficial repository linked in the README, https://debian.vejeta.com.
  • On trixie that repository does not work (its CEF needs a newer glibc), so use the bleeding edge AppImage or the LD_PRELOAD line above.

If you use Konsole, https://tangled.org/janantos.tngl.sh/brow6el/pulls/4 fixes pages not rendering there and clicks that miss buttons.

Sign up or Sign in to add to the discussion.