Environment:
- Device: Android (aarch64/arm64)
- Kali Version: 2026.1 (kali-rolling)
- Installation: NetHunter Rootless (proot)
- VNC: TigerVNC via
kex
- Architecture: aarch64
Problem Summary:
XFCE desktop is completely unusable on Kali 2026.1 NetHunter Rootless. Multiple cascading issues prevent the desktop from loading.
Issue 1: bwrap sandbox conflict
glycin-loaders (GNOME's new image loader) tries to spawn a bwrap sandbox inside proot. proot already uses its own namespace emulation, so nested bwrap calls fail silently.
Error:
Loader process exited early with status '2'
Command: "bwrap" "--unshare-all" "--die-with-parent" ...
"/usr/libexec/glycin-loaders/2+/glycin-svg" "--dbus-fd" "22"
(gdk-pixbuf-error-quark, 0)
Issue 2: PNG loader completely missing
gdk-pixbuf only has SVG loader installed. PNG loader does not exist anywhere in the system:
ls /usr/lib/aarch64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/
# Output: libpixbufloader_svg.so
gdk-pixbuf-query-loaders output:
# Only SVG loader listed, no PNG, no JPEG, nothing else
Packages checked:
- libgdk-pixbuf-2.0-0 [OK] installed (2.44.6)
- libgdk-pixbuf2.0-bin [OK] installed
- libgdk-pixbuf2.0-common [OK] installed
- libpixbufloader_png.so [MISSING] does not exist anywhere
find /usr/lib -name "libpixbufloader_png*"
# No output - file does not exist
Issue 3: Wnck crash due to missing PNG loader
Because PNG loader is missing, libwnck cannot load any icon and crashes immediately:
(xfdesktop): Gtk-WARNING: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
Wnck:ERROR:../libwnck/xutils.c:1510:default_icon_at_size: assertion failed: (base)
Bail out! Wnck:ERROR:../libwnck/xutils.c:1510:default_icon_at_size: assertion failed: (base)
Issue 4: xfce4-panel crash (garcon)
(wrapper-2.0): garcon-CRITICAL: garcon_menu_item_get_desktop_id:
assertion 'GARCON_IS_MENU_ITEM (item)' failed
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string: construction from null is not valid
What we tried:
-
Created default PNG icon manually:
convert -size 48x48 xc:#666666 /usr/share/pixmaps/default-icon.png
cp /usr/share/pixmaps/default-icon.png /usr/share/icons/hicolor/48x48/apps/application-default-icon.png
gtk-update-icon-cache /usr/share/icons/hicolor/ -f
Result: Did not fix Wnck crash
-
Set GTK icon theme to gnome (PNG-based):
# ~/.config/gtk-3.0/settings.ini
gtk-icon-theme-name=gnome
Result: Did not fix PNG loader issue
-
Rebuilt loader cache:
/usr/lib/aarch64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache
Result: Cache only contains SVG loader
-
bwrap bypass script to allow glycin-svg to run outside sandbox:
# /usr/bin/bwrap bypass script
# Extracts and runs the actual executable from bwrap arguments
Result: Partially works but PNG loader issue remains
-
Moved glycin-loaders:
mv /usr/libexec/glycin-loaders /usr/libexec/glycin-loaders.bak
Result: Did not fix PNG loader issue
Root Cause:
In Kali 2026.1, gdk-pixbuf appears to have PNG support built-in (not as a separate .so loader file). However, something in the proot environment prevents this built-in PNG support from functioning. Previous versions had libpixbufloader_png.so as a separate file - this no longer exists in 2026.1.
Expected behavior:
kex should start a functional XFCE desktop as it did in previous Kali versions (tested working on 2023.x, 2024.x).
Questions for maintainers:
- Was PNG loader intentionally removed from gdk-pixbuf in 2026.1?
- Is glycin/bwrap combination tested on proot environments?
- Is there a workaround for NetHunter Rootless users on 2026.1?
|