• Home
  • Shop
    • Reviews
    • FLX1s
    • FLX1s Bundle
    • FLX1s Case
    • FLX1s Screen Protector
    • FLX1 Case
    • FLX1 Screen Protector
  • Resources
    • Blog
    • Frequently Asked Questions
    • Search
    • Forum
    • Flash Guide
    • Changelog
    • Privacy Policy
    • Shipping
    • Refund and Returns Policy
    • FuriLabs Github
  • About us
    • FuriLabs in the Media
    • Timeline
    • Contact
My Account
Login Register

Lost password?

Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our privacy policy.

0
0 My Wishlist

View Wishlist Add all to cart

0 0
0 Shopping Cart

No products in the cart.

Return To Shop
Shopping cart (0)
Subtotal: $0.00

Checkout

My Account
Login Register

Lost password?

Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our privacy policy.

0
0 My Wishlist

View Wishlist Add all to cart

0 0
0 Shopping Cart

No products in the cart.

Return To Shop
Shopping cart (0)
Subtotal: $0.00

Checkout

  • Home
  • Shop
    • Reviews
    • FLX1s
    • FLX1s Bundle
    • FLX1s Case
    • FLX1s Screen Protector
    • FLX1 Case
    • FLX1 Screen Protector
  • Resources
    • Blog
    • Frequently Asked Questions
    • Search
    • Forum
    • Flash Guide
    • Changelog
    • Privacy Policy
    • Shipping
    • Refund and Returns Policy
    • FuriLabs Github
  • About us
    • FuriLabs in the Media
    • Timeline
    • Contact
Wishlist 0
Sign in
Shop
Facebook Twitter Instagram Youtube Linkedin
  • Home
  • Shop
    • Reviews
    • FLX1s
    • FLX1s Bundle
    • FLX1s Case
    • FLX1s Screen Protector
    • FLX1 Case
    • FLX1 Screen Protector
  • Resources
    • Blog
    • Frequently Asked Questions
    • Search
    • Forum
    • Flash Guide
    • Changelog
    • Privacy Policy
    • Shipping
    • Refund and Returns Policy
    • FuriLabs Github
  • About us
    • FuriLabs in the Media
    • Timeline
    • Contact
Shop
0
0 My Wishlist

View Wishlist Add all to cart

My Account
Login Register

Lost password?

Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our privacy policy.

0 0
0 Shopping Cart

No products in the cart.

Return To Shop
Shopping cart (0)
Subtotal: $0.00

Checkout

Happy 2026 with a HUGE sale!
FLX1s is in stock and shipping
  • Home
  • Shop
    • Reviews
    • FLX1s
    • FLX1s Bundle
    • FLX1s Case
    • FLX1s Screen Protector
    • FLX1 Case
    • FLX1 Screen Protector
  • Resources
    • Blog
    • Frequently Asked Questions
    • Search
    • Forum
    • Flash Guide
    • Changelog
    • Privacy Policy
    • Shipping
    • Refund and Returns Policy
    • FuriLabs Github
  • About us
    • FuriLabs in the Media
    • Timeline
    • Contact
Wishlist 0
Sign in
Shop
Facebook Twitter Instagram Youtube Linkedin
0 0
0 Shopping Cart

No products in the cart.

Return To Shop
Shopping cart (0)
Subtotal: $0.00

Checkout

Happy 2026 with a HUGE sale!
FLX1s is in stock and shipping
  • Forums
  • Recent Posts
Forums
Owners Forum
FLX1 and FLX1s Owne...
[fix] Nautilus - so...
 
Notifications
Clear all

[Solved] [fix] Nautilus - solving the issues with thumbnails and bwrap

 
FLX1 and FLX1s Owners
Last Post by fakeshell 4 months ago
4 Posts
2 Users
0 Reactions
323 Views
RSS
0
31/08/2025 1:34 am
Topic starter
vg 
(@vg)
Customer
  Active Member
4 Posts
1 3 0

When file browsing with nautilus the thumbnails of the pictures don't get generated. Instead we can see ~/.cache/thumbnails/fail/gnome-thumbnail-factory being created with all the hashed failed thumbnails in here.

This is caused by an issue with bwrap that nautilus uses to call its thumbnailers programs.

The issue is twofold:

  • first edit /usr/bin/bwrap which is in fact a wrapper around bwrap coming from flatpak-hybris package, see the diff at the end of this post. The issue with this wrapper is that then using "--args" option of bwrap arguments are correctly managed, but without this option the arguments are duplicated, a simple test to see what I mean, run bwrap --ro-bind / / echo first_arg second_arg which results in "first_arg second_arg --ro-bind / / echo first_arg second_arg" being displayed instead of just "first_arg second_arg".

 

  • then, nautilus is calling bwrap with both "--proc" and "--unshare-all" options at the same time and there seems to be a bug in the bwrap version used where if called with both this option at the same time we get an error, example with a simple command: "/usr/bin/bwrap --ro-bind / / --proc /proc --unshare-all echo test
    bwrap: Can't mount proc on /newroot/proc: Device or resource busy". If you just remove either --proc /proc or --unshare-all from this test command bwrap is working correctly. So in order to fix this I used a wrapper script in my PATH (which I placed in ~/bin but can be anywhere in a directory in the PATH before /usr/bin/). See the content of the script after the patch.

Now thumbnails are correctly generated.

Hope this helps.

Patch:

--- /root/bwrap.origin  2025-08-30 17:22:02.720761141 +0200
+++ /usr/bin/bwrap      2025-08-30 14:44:46.891836095 +0200
@@ -8,13 +8,14 @@
 fi
 
 # Handle --args case
+args=()
 if [[ "$1" == "--args" ]]; then
     shift 1
     fd=$1
     shift 1
     readarray -d '' args < /dev/fd/$fd
-else
-    args=("$@")
+#else
+    #args=("$@")
 fi
 
 # this seems to be a common issue on arm64. when unsharing pid and user in conjunction it throws an error message.
@@ -28,5 +29,5 @@
     esac
 done
 
-args=("${args[@]}")
+#args=("${args[@]}")
 exec "$BWRAP" "${args[@]}" "$@"

 

Wrapper script:

#!/bin/bash                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                          
gdk_pixbuf_thumbnailer_detected=false                                                                                                                                                                                                                     
for arg in "$@"; do                                                                                                                                                                                                                                       
    case "$arg" in                                                                                                                                                                                                                                        
        /usr/bin/gdk-pixbuf-thumbnailer)                                                                                                                                                                                                                  
            gdk_pixbuf_thumbnailer_detected=true
            ;;
    esac
done

args=( "$@" )
if $gdk_pixbuf_thumbnailer_detected; then
    args=()
    for arg in "$@"; do
        case "$arg" in
            --proc|/proc)
                continue
                ;;
        esac
        args+=( "$arg" )
    done
fi

exec /usr/bin/bwrap "${args[@]}"

 

 


Answer
Add a comment
Add a comment
4 Answers
0
31/08/2025 3:36 am
Topic starter
vg 
(@vg)
Customer
  Active Member
4 Posts
1 3 0

If the fix with the patch is done, there is no need for the wrapper script in the PATH as the fixed script already discard one of the option ("--unshare-all" in this case). So only the patch is needed.


Add a comment
Add a comment
0
31/08/2025 3:46 am
Topic starter
vg 
(@vg)
Customer
  Active Member
4 Posts
1 3 0

But a better patch as I didn't see that the args array is used to check for the arguments to unset them, so a simpler patch is to just remove the "$@" being given a second time as it was already saved in the args array in the first place, so this simpler patch is all that is needed:

--- /root/bwrap.origin  2025-08-30 17:22:02.720761141 +0200
+++ /usr/bin/bwrap      2025-08-30 19:41:36.779004388 +0200
@@ -28,5 +28,5 @@
     esac
 done
 
-args=("${args[@]}")
-exec "$BWRAP" "${args[@]}" "$@"
+#args=("${args[@]}")
+exec "$BWRAP" "${args[@]}"

Add a comment
Add a comment
0
09/09/2025 5:24 am
Topic starter
vg 
(@vg)
Customer
  Active Member
4 Posts
1 3 0

This fix is not working when using --args it misses the "$@" from the args, so it needs to be added back but before processing the search for "--unshare-all". This version of the patch is a better fix:

--- /root/bwrap.origin  2025-08-30 17:22:02.720761141 +0200
+++ /usr/bin/bwrap      2025-09-08 13:26:13.653201793 +0200
@@ -13,6 +13,7 @@
     fd=$1
     shift 1
     readarray -d '' args < /dev/fd/$fd
+    args+=("$@")
 else
     args=("$@")
 fi
@@ -28,5 +29,5 @@
     esac
 done
 
-args=("${args[@]}")
-exec "$BWRAP" "${args[@]}" "$@"
+#args=("${args[@]}")
+exec "$BWRAP" "${args[@]}"

Add a comment
Add a comment
0
13/09/2025 3:07 am
fakeshell 
(@fakeshell)
Admin
  Member
181 Posts
0 120 61

I recommend you make a PR to this repo:
https://github.com/FuriLabs/flatpak-hybris/blob/forky/src/bwrapwrapper.sh


Add a comment
Add a comment
Forum Jump:
  Previous Topic
Next Topic  
Forum Information
Recent Posts
Unread Posts
Tags
  • 1 Forums
  • 219 Topics
  • 1,012 Posts
  • 4 Online
  • 677 Members
Our newest member: JChdeL
Latest Post: Impossible to use the 5 GHz and 2.4 GHz Wi-Fi bands, as well as 5 GHz, if the SSID is hidden.
Forum Icons: Forum contains no unread posts Forum contains unread posts
Topic Icons: Not Replied Replied Active Hot Sticky Unapproved Solved Private Closed

Powered by wpForo  Powered by wpForo version 2.4.12

  • Matrix (protocol) logo
  • Brand Bluesky Streamline Icon: https://streamlinehq.com
  • Resources

    • FAQ

    • Shipping

    • Returns and Exchanges

    • Privacy Policy

  • Company

    • About Us

    • Timeline

    • Furi Labs in the Media

    • FuriOS Changelog

    • Furi Labs Github

Copyright © 2025 FuriLabs

Android is a trademark of Google LLC. The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.

Home
0 Wishlist
Shop
More
More
  • Home
  • Shop
    • Reviews
    • FLX1s
    • FLX1s Bundle
    • FLX1s Case
    • FLX1s Screen Protector
    • FLX1 Case
    • FLX1 Screen Protector
  • Resources
    • Blog
    • Frequently Asked Questions
    • Search
    • Forum
    • Flash Guide
    • Changelog
    • Privacy Policy
    • Shipping
    • Refund and Returns Policy
    • FuriLabs Github
  • About us
    • FuriLabs in the Media
    • Timeline
    • Contact