Crash on Asahi linux fedora remix / Raspberry PI / arm64 - Rendering is broken on aarch64 machines with 16K pages

Hi,
I’m using asahi linux fedora remix on m1 macbook pro, and I’ve been experiencing obsidian freezing soon after startup. I can write, browse and open notes, but after a while the app freezes. I’m using the arch/arm64 appimage.

I don’t know how to read this, but figured it might help to help me troubleshoot.

./Obsidian-1.8.9-arm64.AppImage
2025-04-22 07:58:32 Loading main app package /tmp/.mount_ObsidiyoMLUX/resources/obsidian.asar
MESA: error: Opening /dev/dri/card1 failed: Permission denied
2025-04-22 07:58:32 Checking for update using Github
2025-04-22 07:58:33 Success.
2025-04-22 07:58:33 Latest version is 1.8.9
2025-04-22 07:58:33 App is up to date.
[7973:0422/105915.349766:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
[7973:0422/105924.533198:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 2 times!
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
[7973:0422/105943.310630:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 3 times!
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)

Bug reports need the bug report template followed and included with the report. Thanks.

Oh right, sorry.

Steps to reproduce

I run the AppImage through terminal and after successfully using Obsidian for a while and then the whole app freezes to the point I can’t close it otherwise than closing the terminal.

Did you follow the troubleshooting guide? [Y/N]

Y

Expected result

I thought that the app wouldn’t freeze.

Actual result

The app froze to the point of not being able to close it other than by closing the terminal.

Environment

I’m not sure how to do this step on asahi


Additional information

I’m running into this Chromium bug [1] after updating to 1.8.4. As discussed in the issue, need to either backport the patch or pass --js-flags="--nodecommit_pooled_pages" to Chromium.

[1] https://issues.chromium.org/issues/37801703

(I do not have permission to properly format links)

The link that you posted doesn’t work(or it’s not publicly available). I am not even sure what your bug, since you did not follow the BR template.

I’m sorry, I must have missed part of the link while moving it to a footnote. The correct link is here: https://issues.chromium.org/issues/378017037. I can re-file with the template if you would like, but since this is a known issue I figured I would cut to the chase.

ok, thank you. At some point, we will get the electron/chrome version that fixes this.

In the mean time, you can download the previous versions (snap/appimage) and rely on the internal update mechanism.

Platform & Installation Details

  • Device: Raspberry Pi 5 (ARM architecture)
  • OS: Raspberry Pi OS (based on Debian)
  • Installation method: Flatpak
  • Obsidian version: 1.8.9 (and later)

Issue Description

Since version 1.8.9, Obsidian launches successfully but completely crashes after approximately 2 minutes of usage. The issue is consistently reproducible, making the application unusable.

This problem did not occur in earlier versions of Obsidian. I have tested different installations and system setups, but the issue persists.

Steps to Reproduce

  1. Install Obsidian via Flatpak:

bash

flatpak install com.obsidian.Obsidian
  1. Launch Obsidian:

bash

flatpak run com.obsidian.Obsidian
  1. Use the application normally for around 2 minutes.
  2. Observe the crash.

Expected Behavior

Obsidian should remain stable and functional beyond 2 minutes.

Observed Behavior

  • The app launches successfully.
  • After ~2 minutes, it crashes completely without any visible error messages.

Troubleshooting Steps Taken

  • Uninstalled and reinstalled Obsidian via Flatpak:

bash

flatpak uninstall com.obsidian.Obsidian
flatpak install com.obsidian.Obsidian

but the issue remains.

  • Checked logs using:

bash

flatpak run com.obsidian.Obsidian --enable-logging

but no clear error message before the crash.

  • Confirmed the issue occurs only with version 1.8.9 and later.

Additional Information

  • This issue is specific to ARM architecture.
  • Other Flatpak applications on the system work without issues.
  • Previous versions of Obsidian (before 1.8.9) were stable on Raspberry Pi OS.

Would appreciate any help or guidance on this issue. Thanks!

3 Likes

I had the same problem so I downloaded 1.8.7 which has been working fine.
Put “Obsidian-1.8.7-arm64.AppImage” in a directory ran “chmod +x *.AppImage” to make it executable and used the menu editor to add it to the menu.

It seems to be an issue with the build of electron (to atleast v34.3.0 from what I can see from release notes) Obsidian uses. Either the electron version has to be updated to a newer version or you can pass this argument - --js-flags="--nodecommit_pooled_pages" (you can also downgrade to 1.8.7 version)

I had the same problem on Fedora Asahi. Both downgrading to 1.8.7 and using @Tessai’s arguments work.

If you’re using the Obsidian flatpak, then you can pass --js-flags="--nodecommit_pooled_pages" into ~/.var/app/md.obsidian.Obsidian/config/obsidian/user-flags.conf:

$ cat ~/.var/app/md.obsidian.Obsidian/config/obsidian/user-flags.conf
--js-flags="--nodecommit_pooled_pages"
$ flatpak run md.obsidian.Obsidian 
Debug: Found user flags file "/var/home/jstone/.var/app/md.obsidian.Obsidian/config/obsidian/user-flags.conf" with args "--js-flags="--nodecommit_pooled_pages""
Debug: Enabling Wayland backend
Deleting cache directory: /var/home/jstone/.var/app/md.obsidian.Obsidian/config/obsidian/GPUCache
Debug: Will run Obsidian with the following arguments: --js-flags="--nodecommit_pooled_pages" --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime
Debug: Additionally, user gave: 

I have been encountering a similar issue on my system, which is Asahi Linux/aarch64. I also get crashing with the error:

[58:0417/173556.748261:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:93281)
    at _._sendInternal (node:electron/js2c/browser_init:2:76192)
    at node:electron/js2c/browser_init:2:105824
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:105571)
    at _.executeJavaScript (node:electron/js2c/browser_init:2:78603)

I’m not sure if it’s the same problem since I’m not getting the heap error. However, I was able to fix the issue on my system using the suggestion found here (can’t post a normally formatted link, sorry):
github dot com/microsoft/vscode/issues/242742#issuecomment-2732924475

Which is for a similar problem with VSCode. Adding the flag --js-flags="--nodecommit_pooled_pages"
to the Obsidian launch flags fixed it for me.

This was an upstream problem with chrome/electron.
With v1.8.10, we released new AppImage and tar.gz arm64 packages based on a newer version of Electron that fixes this problem.

You are gonna need to download and reinstall those.

Hi, thank you so much. At least for now using obsidian-1.8.9-arm64.AppImage seems to work fine.

Thank you for the update. I did download and reinstall the new arm64 AppImage, but unfortunately it still doesn’t seem to work on my Raspberry Pi 5.

Hello there,

I am here as well to report that none version since 1.8.7 for the ARM architecture is working on Fedora 42 with the Asahi Linux Remix.
Didnt extract the AppImage or something , just calling it through Rofi (also did it on the terminal directly).
Works for a few minutes then freezes.
Version 1.8.7 works perfectly.
Wont update till this is fixed.

Props to the obsidian team for creating an ARM image… otherwise I couldnt go after my heavily obsidian-focused workflow.

Problem seems to persist on asashi linux.

using --js-flags="--nodecommit_pooled_pages" still works as a workaround

Are you running the AppImage 1.8.10? What is the output of “show debug info” command?

I got the same issues, but I’m on Ubuntu 22.04 and i’m using amd64 release.
It’s been about two - three months and I can’t not use Obsidian normally.
It’s always freeze (only black screen) after few minutes open.