‹ BackHN Continuity

Thread

GrapheneOS – When an app is slow

86 points · 65 comments · speckx

  1. negative_zero · · focus · HN ↗
    Odd. Google Pixel 7 with GrapheneOS here. OsmAnd works perfectly fine for me without disabling any exploit protection options.
    1. BlackRabbit1 · · focus · HN ↗
      CoMaps behaves very very weirdly on GrapheneOS. Same with OrganicMaps.

      Osmand and GMaps are working fine.

      Waze is almost melting the poor thing. Beside of that working fine.

      1. ThePowerOfFuet · · focus · HN ↗
        I use Comaps daily on GrapheneOS on a Pixel 8 Pro and it works great.
      2. broodbucket · · focus · HN ↗
        Waze works perfectly fine for me
        1. DuncanCoffee · · focus · HN ↗
          Anyone writing about apps compatibility should specify if it's with or without the play services
          1. DaSHacka · · focus · HN ↗
            Can you even run Waze/GMaps without Play services?
            1. worldsavior · · focus · HN ↗
              Yes.
              1. Shared404 · · focus · HN ↗
                For more precision:

                Waze is fairly easy to run without play services. GMaps I haven't yet found a way to run, but also haven't looked in quite some time.

                1. grapheneos · · focus · HN ↗
                  Google Maps used to work without it but recently gained a hard dependency on Play services. We could add more shims to make more apps work without it installed but that hasn't been a focus yet.
                  1. Shared404 · · focus · HN ↗
                    Makes sense. Any idea if there's any interest in a shim to get notifications working sans Play services?

                    I haven't looked at anything shim related in quite a while and am not super familiar with the notification stack for Android, so if that's a stupid question I apologize.

              2. DaSHacka · · focus · HN ↗
                Neat, every day I inch closer to not needing Play Services anymore.

                <a href="https:&#x2F;&#x2F;plexus.techlore.tech&#x2F;apps?q=waze" rel="nofollow">https:&#x2F;&#x2F;plexus.techlore.tech&#x2F;apps?q=waze

            2. Nux · · focus · HN ↗
              Waze and Here Maps work well.
      3. subscribed · · focus · HN ↗
        Osmand and OrganicMaps work flawlessly for me. Waze on 6 (not pro), works better than on my 9 Pro.
      4. pizzaiolo · · focus · HN ↗
        Weirdly how? CoMaps seemingly works fine out of the box on my device
      5. gunalx · · focus · HN ↗
        Have had no noticable problems with organic maps.
      6. methuselah_in · · focus · HN ↗
        comaps and organic maps shares some of the same codebase right?
        1. archturtle · · focus · HN ↗
          AFAIK CoMaps is a fork of OrganicMaps after OrganicMaps added some sort of ads or sponsoring. They both use OSM
      7. grapheneos · · focus · HN ↗
        CoMaps and Waze definitely work well on GrapheneOS. There&#x27;s a known performance issue experienced by some users with the OsmAnd OpenGL renderer which can be worked around disabling hardened_malloc. We could likely provide a performance vs. security toggle for hardened_malloc to avoid it, but we also plan to continue optimizing the default high security mode.
    2. Self-Perfection · · focus · HN ↗
      And yet problems exist. Live Updates are not rendered if both OsmAnd V2 rendering and hardened memory allocator are enabled: <a href="https:&#x2F;&#x2F;github.com&#x2F;osmandapp&#x2F;OsmAnd&#x2F;issues&#x2F;20190" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;osmandapp&#x2F;OsmAnd&#x2F;issues&#x2F;20190
      1. [deleted] · · focus · HN ↗

        [deleted]

      2. grapheneos · · focus · HN ↗
        Those are memory corruption bugs which are potentially exploitable vulnerabilities. There are no false positives for the security protections in hardened_malloc including the hardware memory tagging (MTE) integration. It only detects invalid memory corruptions via use-after-free or out-of-bounds accesses. Due to a relatively high number of apps having invalid memory accesses during regular use, we don&#x27;t enable MTE for all user installed apps yet. We always use MTE for the kernel and userspace code in the base OS but it&#x27;s opt-in for most user installed apps via a global toggle to enable it by default and a per-app toggle mainly intended for opting out for incompatible apps.

        OsmAnd has a massive amount of legacy C++ code which hasn&#x27;t been heavily tested with HWASan and MTE. It has a history of having many memory corruption bugs discovered and reported by GrapheneOS users. That&#x27;s the exploit protections in GrapheneOS working as intended and it&#x27;s why there are per-app compatibility toggles to work around apps which can&#x27;t be used due to memory corruption during regular use. It would be better if apps had higher quality native code and didn&#x27;t need us to provide compatibility toggles but that&#x27;s the way things are. It&#x27;s much worse on desktop operating systems.

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.