Skip to content

Commit

Permalink
Puffin: remove from pi-apps
Browse files Browse the repository at this point in the history
  • Loading branch information
theofficialgman committed Nov 6, 2024
1 parent 9378584 commit cd86153
Show file tree
Hide file tree
Showing 10 changed files with 1 addition and 24 deletions.
1 change: 0 additions & 1 deletion apps/Puffin/credits

This file was deleted.

6 changes: 0 additions & 6 deletions apps/Puffin/description

This file was deleted.

Binary file removed apps/Puffin/icon-24.png
Binary file not shown.
Binary file removed apps/Puffin/icon-64.png
Binary file not shown.
4 changes: 0 additions & 4 deletions apps/Puffin/install-32

This file was deleted.

7 changes: 0 additions & 7 deletions apps/Puffin/install-64

This file was deleted.

4 changes: 0 additions & 4 deletions apps/Puffin/uninstall

This file was deleted.

1 change: 0 additions & 1 deletion apps/Puffin/website

This file was deleted.

1 change: 0 additions & 1 deletion etc/categories
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,6 @@ Processing IDE|Programming
ProjectLibre|Office
Project OutFox|Games
PrusaSlicer|Engineering
Puffin|Internet/Browsers
Pycharm CE|Programming
PyChess|Games
QEMU|Tools/Emulation
Expand Down
1 change: 1 addition & 0 deletions etc/runonce-entries
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ For the mods that are not included in any existing modpack, simply install them
You can install the Snap Store from Pi-Apps on a 64bit OS."
remove_deprecated_app "BalenaEtcher" "32" "The latest version of BalenaEtcher relies on libraries that are not available on ARM 32bit Linux.
You can install BalenaEtcher from Pi-Apps on a 64bit OS."
remove_deprecated_app "Puffin" "" "The Puffin browser demo was never maintained by the upstream developers. It can not run on newer raspberry pi hardware, newer PiOS versions, and any other hardware. We have no choice but to remove this application from Pi-Apps."
true
EOF
;;
Expand Down

5 comments on commit cd86153

@Botspot
Copy link
Owner

@Botspot Botspot commented on cd86153 Nov 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Puffin runs fine for me on PiOS bookworm 64-bit.

pi@raspberrypi:~ $ /usr/bin/puffin-internet-terminal-demo
Fontconfig warning: "/usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf", line 6: unknown element "reset-dirs"
Fontconfig warning: "/usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf", line 6: unknown element "reset-dirs"
[101847:101898:1106/160043.222055:ERROR:gl_surface_presentation_helper.cc(161)] GetVSyncParametersIfAvailable() failed!
[101847:101898:1106/160043.239717:ERROR:gl_surface_presentation_helper.cc(161)] GetVSyncParametersIfAvailable() failed!
[101847:101898:1106/160043.276279:ERROR:gl_surface_presentation_helper.cc(161)] GetVSyncParametersIfAvailable() failed!
[101847:101898:1106/160043.310012:ERROR:gl_surface_presentation_helper.cc(161)] GetVSyncParametersIfAvailable() failed!
[101847:101898:1106/160043.322787:ERROR:gl_surface_presentation_helper.cc(161)] GetVSyncParametersIfAvailable() failed!
[101847:101898:1106/160043.401749:ERROR:gl_surface_presentation_helper.cc(161)] GetVSyncParametersIfAvailable() failed!
[101847:101898:1106/160043.408057:ERROR:gl_surface_presentation_helper.cc(161)] GetVSyncParametersIfAvailable() failed!
[101847:101898:1106/160043.445446:ERROR:gl_surface_presentation_helper.cc(161)] GetVSyncParametersIfAvailable() failed!
[101847:101898:1106/160043.458561:ERROR:gl_surface_presentation_helper.cc(161)] GetVSyncParametersIfAvailable() failed!
[101847:101898:1106/160043.479482:ERROR:gl_surface_presentation_helper.cc(161)] GetVSyncParametersIfAvailable() failed!

The error you saw was on a user's Pi OS Bookworm 32-bit system. Is is possible that its dependence on that mmal library only affected the 32-bit version and not the arm64 version? If so then I think only the install-32 script should have been dropped.

@theofficialgman
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huh. yes I can confirm only the armhf version depends on the legacy gpu/camera libraries. the arm64 version does still work (as well on non-pi systems)

 0x00000001 (NEEDED)                     Shared library: [libmmal.so]
 0x00000001 (NEEDED)                     Shared library: [libmmal_core.so]
 0x00000001 (NEEDED)                     Shared library: [libmmal_util.so]
 0x00000001 (NEEDED)                     Shared library: [libmmal_vc_client.so]
 0x00000001 (NEEDED)                     Shared library: [libbcm_host.so]
 0x00000001 (NEEDED)                     Shared library: [libvchiq_arm.so]

I think the "The Puffin browser demo was never maintained by the upstream developers." still applies as does the "other arm devices Puffin will not work" (for arm32 at least).

I still don't think anything was really lost here and want to keep it removed for multiple reasons which I will outline:

  1. no WebGL2
  2. Bad Javascript/HTML support (failures on some websites, eg: speedometer 3.0 and odd page rendering in youtube)
  3. out of date version (4+ years) of chromium
    3a. very unsafe to use (many many vulnerabilities)
    3b. bad or non-functional wayland support
    3c. no vp9 decode support
  4. all browsing takes place in the "cloud". You rely entirely on Puffin for ALL your browsing security.
  5. No extension support
  6. No DRM (eg: widevine) support

I'm also not really comfortable keeping the (arm64) application given it has never been publicly acknowledged and it seems the developer have no interest in maintaining it.

Also something rubs me the wrong way when their own website doesn't handle adaptive sizing of webpages correctly (shrink the window and then expand it back at least on Firefox). Yes I know this reason may be silly.
Image

@Botspot
Copy link
Owner

@Botspot Botspot commented on cd86153 Nov 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think Puffin has limited use still, despite its shortcomings, namely:

  • Its servers act as a proxy and can bypass authoritarian local firewalls
  • It is useful for the Pi zero 2w and 3B and other low-spec devices, where fast browsing is a higher priority than security, stability, or features.

I'm doubting the outdated browser vulnerabilities could affect the user's end, but rather the browser side on the cloud server, in which case it's not risking the user.
I will add Puffin back for arm64, but warn about its limited usefulness and security concerns.

@theofficialgman
Copy link
Collaborator Author

@theofficialgman theofficialgman commented on cd86153 Nov 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll note the only change to the runonce needed in that case is to change "" to "32". I think the name transitions happened long ago so no need to add those back imho.

@theofficialgman
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm doubting the outdated browser vulnerabilities could affect the user's end

The client still does the final pixel rendering and there have been multiple vulnerabilities with rendering and displaying content over the years (eg: https://fieldeffect.com/blog/latest-google-chrome-zero-day-likely-exploited-in-the-wild).

Please sign in to comment.