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) Can eDEX-UI run on Raspberry Pi 3 B+ (Raspbian 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
Projects
None yet
Development

No branches or pull requests

5 participants