Skip to content
This repository has been archived by the owner on Oct 22, 2021. It is now read-only.

Can eDEX-UI run on Raspberry Pi 3 B+ (Raspbian Stretch) #313

Closed
Jouwert opened this issue Nov 28, 2018 · 13 comments
Closed

Can eDEX-UI run on Raspberry Pi 3 B+ (Raspbian Stretch) #313

Jouwert opened this issue Nov 28, 2018 · 13 comments

Comments

@Jouwert
Copy link

Jouwert commented Nov 28, 2018

Hi - eDEX-UI looks awesome, and I'd like to run it on my Raspb Pi 3 B+ using the latest Raspbian version (Stretch). I'm very new in all of this, so please forgive if I made a mistake. When executing the AppImage nothing happens. I've made the AppImage executable...
Thanks!

@Jouwert Jouwert changed the title Can eDEX-UI run on Raspberry Pi 3 B+ (Rasbian Stretch) Nov 28, 2018
@Cheb57
Copy link

Cheb57 commented Nov 28, 2018

The released AppImage is a binary package compiled to be used on x86 or x86_64 architectures platforms. As Pi's cpus are using the armv6/armv7 architectures, you need to build from source, by using the tool chain targeting your specific arch (and his assembly code) arm Soc's. Additionnaly, eDEX-UI is maybe using hw graphic accelaration on specific OS (Linux,Windows, MacOS) like opengl that you will not be able to use directly on Pi, because broadcom released only OpenGLES libraries. However, a driver is actually in progress to use the mesa DRI graphic stack and OpenGL targeting the GPU (VideoCore4) on Pi's. As you are running Raspbian Strech, you can enable it.

@Jouwert
Copy link
Author

Jouwert commented Nov 28, 2018

OK - thanks!

@Jouwert Jouwert closed this as completed Nov 28, 2018
@thallada
Copy link

thallada commented Dec 1, 2018

Just leaving a comment that I was able to get this running on a rpi 3 b+ on Raspbian Stretch. But, I had to do a few extra steps:

  1. run sudo raspi-config, go to Advanced Options, then GL Driver, choose GL (Fake KMS), and reboot
    (I get a blank screen on boot-up with Full KMS)
  2. Fresh clone this repo
  3. cd edex-ui && npm install
  4. Edit package.json and replace the linux build arch configuration with this:
"linux": {
  "target": [
    {
      "target": "AppImage",
      "arch": [
        "armv7l"
      ]
    }
  ],
  ...
}
  1. Because of an issue with electron-builder on Raspian, run git clone https://git.kernel.org/pub/scm/fs/squashfs/squashfs-tools.git
  2. sudo apt-get install liblzma5 liblzma-dev
  3. cd squashfs-tools/squashfs-tools
  4. Uncomment this line in Makefile
XZ_SUPPORT = 1
  1. make
  2. sudo make install
  3. mkdir ~/.cache/electron-builder/appimage/appimage-9.1.0/linux-arm
  4. ln -s `which mksquashfs` ~/.cache/electron-builder/appimage/appimage-9.1.0/linux-arm/mksquashfs
  5. ln -s `which desktop-file-validate` ~/.cache/electron-builder/appimage/appimage-9.1.0/linux-arm/desktop-file-validate
  6. Go back to edex-ui folder cd ../../
  7. npm run build-linux

It runs a bit slow, but it is functional and responds to touch events with the official 7" raspberry pi touchscreen.

@GitSquared
Copy link
Owner

@thallada Wow. Nice job.

@C4PT41ND34DP00L
Copy link

It errored out for me I really want this to run on my raspberry pi 2 as it is the perfect thing for a project I am doing. any advice that might help get this to work?

@thallada
Copy link

Maybe post the error? I haven't tried to run on the raspberry pi 2.

@Cheb57
Copy link

Cheb57 commented Feb 19, 2019 via email

@C4PT41ND34DP00L
Copy link

Failed at the electron@4.0.5 postinstall script 'node install.js'.

@GitSquared
Copy link
Owner

I haven't enabled ARM builds because I don't have any hardware to test them and cannot provide support if something goes wrong. Electron is supposed to have arm support though, so like @thallada said you should be able to get a build running if you really want to.

@C4PT41ND34DP00L
Copy link

This is what happens now I have no idea how to decipher this but I feel like I am getting close.

node-pty@0.8.1 install /home/user/Tools/edex-ui/prebuild-src/node_modules/node-pty
node scripts/install.js

make: Entering directory '/home/user/Tools/edex-ui/prebuild-src/node_modules/node-pty/build'
CXX(target) Release/obj.target/pty/src/unix/pty.o
../src/unix/pty.cc: In function ‘void pty_after_waitpid(uv_async_t*)’:
../src/unix/pty.cc:489:69: warning: ‘v8::Localv8::Value Nan::Callback::Call(v8::Localv8::Object, int, v8::Localv8::Value*) const’ is deprecated (declared at ../../nan/nan.h:1652) [-Wdeprecated-declarations]
SOLINK_MODULE(target) Release/obj.target/pty.node
COPY Release/pty.node
make: Leaving directory '/home/user/Tools/edex-ui/prebuild-src/node_modules/node-pty/build'

node-pty@0.8.1 postinstall /home/user/Tools/edex-ui/prebuild-src/node_modules/node-pty
node scripts/post-install.js

edex-ui@2.1.0-pre /home/user/Tools/edex-ui/prebuild-src
├─┬ clipboardy@1.2.3
│ ├── arch@2.1.1
│ └─┬ execa@0.8.0
│ ├─┬ cross-spawn@5.1.0
│ │ ├─┬ lru-cache@4.1.5
│ │ │ ├── pseudomap@1.0.2
│ │ │ └── yallist@2.1.2
│ │ ├─┬ shebang-command@1.2.0
│ │ │ └── shebang-regex@1.0.0
│ │ └─┬ which@1.3.1
│ │ └── isexe@2.0.0
│ ├── get-stream@3.0.0
│ ├── is-stream@1.1.0
│ ├─┬ npm-run-path@2.0.2
│ │ └── path-key@2.0.1
│ ├── p-finally@1.0.0
│ ├── signal-exit@3.0.2
│ └── strip-eof@1.0.0
├─┬ color@3.1.0
│ ├─┬ color-convert@1.9.3
│ │ └── color-name@1.1.3
│ └─┬ color-string@1.5.3
│ └─┬ simple-swizzle@0.2.2
│ └── is-arrayish@0.3.2
├── howler@2.1.1
├── nanoid@2.0.1
├─┬ node-pty@0.8.1
│ └── nan@2.12.1
├── pretty-bytes@5.1.0
├─┬ shell-env@2.2.0
│ ├── default-shell@1.0.1
│ ├─┬ execa@1.0.0
│ │ ├─┬ cross-spawn@6.0.5
│ │ │ ├── nice-try@1.0.5
│ │ │ └── semver@5.6.0
│ │ └─┬ get-stream@4.1.0
│ │ └─┬ pump@3.0.0
│ │ ├── end-of-stream@1.4.1
│ │ └─┬ once@1.4.0
│ │ └── wrappy@1.0.2
│ └─┬ strip-ansi@5.0.0
│ └── ansi-regex@4.0.0
├─┬ signale@1.3.0
│ ├─┬ chalk@2.4.2
│ │ ├── ansi-styles@3.2.1
│ │ ├── escape-string-regexp@1.0.5
│ │ └─┬ supports-color@5.5.0
│ │ └── has-flag@3.0.0
│ ├── figures@2.0.0
│ └─┬ pkg-conf@2.1.0
│ ├─┬ find-up@2.1.0
│ │ └─┬ locate-path@2.0.0
│ │ ├─┬ p-locate@2.0.0
│ │ │ └─┬ p-limit@1.3.0
│ │ │ └── p-try@1.0.0
│ │ └── path-exists@3.0.0
│ └─┬ load-json-file@4.0.0
│ ├── graceful-fs@4.1.15
│ ├─┬ parse-json@4.0.0
│ │ ├─┬ error-ex@1.3.2
│ │ │ └── is-arrayish@0.2.1
│ │ └── json-parse-better-errors@1.0.2
│ ├── pify@3.0.0
│ └── strip-bom@3.0.0
├── smoothie@1.35.0
├── systeminformation@4.0.10
├── tail@2.0.2
├─┬ ws@6.1.4
│ └── async-limiter@1.0.0
└── xterm@3.11.0

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.3 (node_modules/osx-temperature-sensor):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"})

edex-ui@2.1.0-pre build-linux /home/user/Tools/edex-ui
electron-builder build -l -p never

• electron-builder version=20.38.5
• loaded configuration file=package.json ("build" field)
• writing effective config file=dist/builder-effective-config.yaml
• rebuilding native production dependencies platform=linux arch=armv7l

Error: /usr/bin/nodejs exited with code 1
Output:

node-pty@0.8.1 install /home/user/Tools/edex-ui/prebuild-src/node_modules/node-pty
node scripts/install.js

make: Entering directory '/home/user/Tools/edex-ui/prebuild-src/node_modules/node-pty/build'
CXX(target) Release/obj.target/pty/src/unix/pty.o
pty.target.mk:93: recipe for target 'Release/obj.target/pty/src/unix/pty.o' failed
make: Leaving directory '/home/user/Tools/edex-ui/prebuild-src/node_modules/node-pty/build'

Error output:
g++: error: unrecognized command line option ‘-std=gnu++1y’
make: *** [Release/obj.target/pty/src/unix/pty.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:194:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.4.38-v7+
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/user/Tools/edex-ui/prebuild-src/node_modules/node-pty
gyp ERR! node -v v7.10.1
gyp ERR! node-gyp -v v3.5.0
gyp ERR! not ok

npm ERR! Linux 4.4.38-v7+
npm ERR! argv "/usr/bin/nodejs" "/usr/lib/node_modules/npm/bin/npm-cli.js" "rebuild" "node-pty@0.8.1"
npm ERR! node v7.10.1
npm ERR! npm v4.2.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-pty@0.8.1 install: node scripts/install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-pty@0.8.1 install script 'node scripts/install.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-pty package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node scripts/install.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs node-pty
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls node-pty
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /home/user/.npm/_logs/2019-02-19T21_35_38_468Z-debug.log

at ChildProcess.childProcess.once.code (/home/user/Tools/edex-ui/node_modules/builder-util/src/util.ts:244:14)
at Object.onceWrapper (events.js:293:19)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:194:7)
at maybeClose (internal/child_process.js:899:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)

From previous event:
at _rebuild (/home/user/Tools/edex-ui/node_modules/app-builder-lib/src/util/yarn.ts:179:5)
at rebuild (/home/user/Tools/edex-ui/node_modules/app-builder-lib/out/util/yarn.js:163:19)
at /home/user/Tools/edex-ui/node_modules/app-builder-lib/src/util/yarn.ts:20:11
at Generator.next ()
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)
From previous event:
at _installOrRebuild (/home/user/Tools/edex-ui/node_modules/app-builder-lib/out/util/yarn.js:71:28)
at installOrRebuild (/home/user/Tools/edex-ui/node_modules/app-builder-lib/out/util/yarn.js:55:28)
at /home/user/Tools/edex-ui/node_modules/app-builder-lib/src/packager.ts:511:13
at Generator.next ()
From previous event:
at Packager.installAppDependencies (/home/user/Tools/edex-ui/node_modules/app-builder-lib/src/packager.ts:472:70)
at /home/user/Tools/edex-ui/node_modules/app-builder-lib/src/packager.ts:420:20
at Generator.next ()
From previous event:
at Packager.doBuild (/home/user/Tools/edex-ui/node_modules/app-builder-lib/src/packager.ts:396:24)
at /home/user/Tools/edex-ui/node_modules/app-builder-lib/src/packager.ts:366:57
at Generator.next ()
at /home/user/Tools/edex-ui/node_modules/graceful-fs/graceful-fs.js:111:16
at /home/user/Tools/edex-ui/node_modules/graceful-fs/graceful-fs.js:45:10
at FSReqWrap.oncomplete (fs.js:114:15)
From previous event:
at Packager._build (/home/user/Tools/edex-ui/node_modules/app-builder-lib/src/packager.ts:335:133)
at /home/user/Tools/edex-ui/node_modules/app-builder-lib/src/packager.ts:331:23
at Generator.next ()
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)
From previous event:
at Packager.build (/home/user/Tools/edex-ui/node_modules/app-builder-lib/src/packager.ts:288:14)
at build (/home/user/Tools/edex-ui/node_modules/app-builder-lib/src/index.ts:59:28)
at build (/home/user/Tools/edex-ui/node_modules/electron-builder/src/builder.ts:227:10)
at then (/home/user/Tools/edex-ui/node_modules/electron-builder/src/cli/cli.ts:46:19)

npm ERR! Linux 4.4.38-v7+
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "build-linux"
npm ERR! node v7.10.1
npm ERR! npm v4.2.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! edex-ui@2.1.0-pre build-linux: electron-builder build -l -p never
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the edex-ui@2.1.0-pre build-linux script 'electron-builder build -l -p never'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the edex-ui package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! electron-builder build -l -p never
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs edex-ui
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls edex-ui
npm ERR! There is likely additional logging output above.

@thallada
Copy link

@C4PT41ND34DP00L

g++: error: unrecognized command line option ‘-std=gnu++1y’

Looks like your version of gcc might be too old for the version of Node that you have. Node 10 needs gcc 4.9+

@C4PT41ND34DP00L
Copy link

@C4PT41ND34DP00L

g++: error: unrecognized command line option ‘-std=gnu++1y’

Looks like your version of gcc might be too old for the version of Node that you have. Node 10 needs gcc 4.9+

I updated to gcc 8 and got the same error. I am starting to think I am not the person to figure this out.

@C4PT41ND34DP00L
Copy link

@thallada If you have the appimage you got working on the Pi 3 would you mind sharing?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
5 participants