vue-cli-plugin-electron-builder icon indicating copy to clipboard operation
vue-cli-plugin-electron-builder copied to clipboard

Electron does not launch on Raspberry Pi 64-bit (arm64)

Open millerH112 opened this issue 3 months ago • 0 comments

Describe the bug Raspberry Pi 5 utilising Raspberry Pi OS (64-bit) does not launch electron windows. When performing vue-cli-service electron:serve, command window states "launching electron..." and "Done". There is no other output, and results in a zero exit code. image

When building the same application using vue-cli-service electron:build -- --arm64, launching the AppImage results in "segmentation fault" with error code 139. image

To Reproduce Steps to reproduce the behavior: Create example vue: "vue create example_app" Add vue-cli-plugin-electron-builder: "vue add electron-builder"

Attempt to run example application with "yarn electron:serve"

Expected behavior A clear and concise description of what you expected to happen. Electron window starts, arm64 build of AppImage runs without segmentation fault.

Screenshots If applicable, add screenshots to help explain your problem. Unsure if this is helpful, but the following output is where the AppImage stops when ran with lldb: image

Environment (please complete the following information):

  • custom config for vcp-electron-builder:
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  configureWebpack:{
    devtool: 'source-map'
  }
}) 
  • (if possible) link to your repo: N/A - use example app with "vue create" and "vue add electron-builder"
  • terminal output from running vue info:
Environment Info:

  System:
    OS: Linux 6.6 Debian GNU/Linux 12 (bookworm) 12 (bookworm)
    CPU: (4) arm64 Cortex-A76
  Binaries:
    Node: 16.14.0 - ~/.config/nvm/versions/node/v16.14.0/bin/node
    Yarn: 1.22.22 - ~/.config/nvm/versions/node/v16.14.0/bin/yarn
    npm: 8.3.1 - ~/.config/nvm/versions/node/v16.14.0/bin/npm
  Browsers:
    Chrome: Not Found
  npmGlobalPackages:
    @vue/cli: 5.0.8

Additional output from lspcu:

Architecture:            aarch64
  CPU op-mode(s):        32-bit, 64-bit
  Byte Order:            Little Endian
CPU(s):                  4
  On-line CPU(s) list:   0-3
Vendor ID:               ARM
  Model name:            Cortex-A76
    Model:               1
    Thread(s) per core:  1
    Core(s) per cluster: 4
    Socket(s):           -
    Cluster(s):          1
    Stepping:            r4p1
    CPU(s) scaling MHz:  62%
    CPU max MHz:         2400.0000
    CPU min MHz:         1500.0000
    BogoMIPS:            108.00
    Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp
                          asimdhp cpuid asimdrdm lrcpc dcpop asimddp
Vulnerabilities:         
  Gather data sampling:  Not affected
  Itlb multihit:         Not affected
  L1tf:                  Not affected
  Mds:                   Not affected
  Meltdown:              Not affected
  Mmio stale data:       Not affected
  Retbleed:              Not affected
  Spec rstack overflow:  Not affected
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:            Mitigation; __user pointer sanitization
  Spectre v2:            Mitigation; CSV2, BHB
  Srbds:                 Not affected
  Tsx async abort:       Not affected

uname -r output:

6.6.20+rpt-rpi-2712

package.json:

{
  "name": "vue_electron_example",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "electron:build": "vue-cli-service electron:build",
    "electron:build:arm": "vue-cli-service electron:build -- --arm64",
    "electron:serve": "vue-cli-service electron:serve",
    "postinstall": "electron-builder install-app-deps",
    "postuninstall": "electron-builder install-app-deps"
  },
  "main": "background.js",
  "dependencies": {
    "core-js": "^3.8.3",
    "vue": "^3.2.13"
  },
  "devDependencies": {
    "@babel/core": "^7.12.16",
    "@babel/eslint-parser": "^7.12.16",
    "@vue/cli-plugin-babel": "~5.0.0",
    "@vue/cli-plugin-eslint": "~5.0.0",
    "@vue/cli-service": "~5.0.0",
    "electron": "^13.0.0",
    "electron-devtools-installer": "^3.1.0",
    "eslint": "^7.32.0",
    "eslint-plugin-vue": "^8.0.3",
    "vue-cli-plugin-electron-builder": "~2.1.1"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/vue3-essential",
      "eslint:recommended"
    ],
    "parserOptions": {
      "parser": "@babel/eslint-parser"
    },
    "rules": {}
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead",
    "not ie 11"
  ]
}

millerH112 avatar Apr 02 '24 11:04 millerH112