Closed aaron-is-the-best2114 closed 2 years ago
What OS/arch/version are you on? It works for me on a RPiOS Bullseye (upgraded form Buster) install. Does the individual screen sharing work?
What OS/arch/version are you on? It works for me on a RPiOS Bullseye (upgraded form Buster) install. Does the individual screen sharing work?
I'm using a fresh install of RPiOS Bullseye. And no, individual screen sharing does not work.
I don't know what the problem is. As it's not an issue with Pi-Apps, I would suggest making an issue on pavlobu/deskreen.
I'm not familiar with the DE in use here, is this a wayland based DE? it could be related to this upstream bug: https://github.com/pavlobu/deskreen/issues/140
if this is a wayland based DE, you should watch this PR https://github.com/pavlobu/deskreen/pull/189 which updated deskreen to a MUCH newer electron with wayland capture support.
the pi-apps package should probably be updated once the PR is merged
@theofficialgman I can build Deskreen once the PR gets merged.
@Crilum the PR has been merged and at my suggestion they used electron 18.2.4
Looks like there's a dependency problem with Electron 18.2.4:
$ yarn install --frozen-lockfile
yarn install v1.22.15
$ node ./internals/scripts/CheckYarn.js
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@2.2.1: The platform "linux" is incompatible with this module.
info "fsevents@2.2.1" is an optional dependency and failed compatibility check. Excluding it from installation.
info dmg-license@1.0.11: The platform "linux" is incompatible with this module.
info "dmg-license@1.0.11" is an optional dependency and failed compatibility check. Excluding it from installation.
info iconv-corefoundation@1.1.7: The platform "linux" is incompatible with this module.
info "iconv-corefoundation@1.1.7" is an optional dependency and failed compatibility check. Excluding it from installation.
info fsevents@2.1.3: The platform "linux" is incompatible with this module.
info "fsevents@2.1.3" is an optional dependency and failed compatibility check. Excluding it from installation.
info fsevents@1.2.13: The platform "linux" is incompatible with this module.
info "fsevents@1.2.13" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " > connected-react-router@6.8.0" has unmet peer dependency "immutable@^3.8.1 || ^4.0.0-rc.1".
warning " > connected-react-router@6.8.0" has unmet peer dependency "react-router@^4.3.1 || ^5.0.0".
warning " > connected-react-router@6.8.0" has unmet peer dependency "seamless-immutable@^7.1.3".
warning " > browserslist-config-erb@0.0.1" has incorrect peer dependency "electron@^7.0.0".
warning " > eslint-config-airbnb@18.2.1" has incorrect peer dependency "eslint-plugin-jsx-a11y@^6.4.1".
warning " > eslint-config-erb@1.0.0" has incorrect peer dependency "eslint-config-airbnb-typescript@^8.0.2".
warning " > eslint-config-erb@1.0.0" has unmet peer dependency "eslint-plugin-flowtype@^5.1.3".
warning " > eslint-config-erb@1.0.0" has incorrect peer dependency "eslint-plugin-jsx-a11y@6.2.3".
[4/4] Building fresh packages...
[6/8] ⠈ husky
[2/8] ⠈ electron
[3/8] ⠈ core-js
[4/8] ⠈ lzma-native
error /home/pi/src/deskreen/node_modules/lzma-native: Command failed.
Exit code: 1
Command: node-gyp-build
Arguments:
Directory: /home/pi/src/deskreen/node_modules/lzma-native
Output:
node:internal/modules/cjs/loader:936
throw err;
^
Error: Cannot find module '../'
Require stack:
- /home/pi/.nvm/versions/node/v17.8.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:999:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/home/pi/.nvm/versions/node/v17.8.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js:8:13)
at Module._compile (node:internal/modules/cjs/loader:1099:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:975:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/home/pi/.nvm/versions/node/v17.8.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js'
]
$ npm install lzma-native
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: browserslist-config-erb@0.0.1
npm ERR! Found: electron@18.2.4
npm ERR! node_modules/electron
npm ERR! peer electron@">= 2" from electron-settings@4.0.2
npm ERR! node_modules/electron-settings
npm ERR! electron-settings@"^4.0.2" from the root project
npm ERR! electron@"18.2.4" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer electron@"^7.0.0" from browserslist-config-erb@0.0.1
npm ERR! node_modules/browserslist-config-erb
npm ERR! dev browserslist-config-erb@"^0.0.1" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: electron@7.3.3
npm ERR! node_modules/electron
npm ERR! peer electron@"^7.0.0" from browserslist-config-erb@0.0.1
npm ERR! node_modules/browserslist-config-erb
npm ERR! dev browserslist-config-erb@"^0.0.1" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See /home/pi/.npm/eresolve-report.txt for a full report.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2022-06-07T02_28_03_648Z-debug-0.log
based on the name of the package, my guess is you need tell node to build the natives for lzma-native for arm64. it probably downloads the x86_64 version in binary form and causes the error.
upstream seems to be able to build without issue https://github.com/pavlobu/deskreen/runs/6700052397?check_suite_focus=true
based on the name of the package, my guess is you need tell node to build the natives for lzma-native for arm64
I'm using arm32 (with aarch64 kernel..). Does that make a difference? Also.. How would you do that?
I've verified, lzma-native does not build natives for arm32 linux, only x64 and arm64 linux (and macos and windows)
you can create an issue here if you would like for them to build for arm32... seems that lzma-native is a pretty commonly use node dependency https://github.com/addaleax/lzma-native
Did the lzma-native
dependency just get added? I was able to build Deskreen before..
Did the
lzma-native
dependency just get added? I was able to build Deskreen before..
it wasn't added at all (not directly).. its probably getting pulled in by some recursive dependency of another module... who knows what
found what... https://www.npmjs.com/package/electron-rebuild
new version of electron-rebuild (necessary to build on newer electron) depends on lzma-native
previously version 1.10.0 (very very old and can't do modern electron) of electron-rebuild was used which did not depend on lzma-native
Yeah, just looked through my yarn.lock
file and found that too.
I commented out lzma-native in my yarn.lock
file (obviously this isn't for a real build, I just wanted to see what would happen..), and now I get a different error:
$ yarn install --frozen-lockfile
yarn install v1.22.15
$ node ./internals/scripts/CheckYarn.js
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@2.2.1: The platform "linux" is incompatible with this module.
info "fsevents@2.2.1" is an optional dependency and failed compatibility check. Excluding it from installation.
info dmg-license@1.0.11: The platform "linux" is incompatible with this module.
info "dmg-license@1.0.11" is an optional dependency and failed compatibility check. Excluding it from installation.
info iconv-corefoundation@1.1.7: The platform "linux" is incompatible with this module.
info "iconv-corefoundation@1.1.7" is an optional dependency and failed compatibility check. Excluding it from installation.
info fsevents@2.1.3: The platform "linux" is incompatible with this module.
info "fsevents@2.1.3" is an optional dependency and failed compatibility check. Excluding it from installation.
info fsevents@1.2.13: The platform "linux" is incompatible with this module.
info "fsevents@1.2.13" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " > connected-react-router@6.8.0" has unmet peer dependency "immutable@^3.8.1 || ^4.0.0-rc.1".
warning " > connected-react-router@6.8.0" has unmet peer dependency "react-router@^4.3.1 || ^5.0.0".
warning " > connected-react-router@6.8.0" has unmet peer dependency "seamless-immutable@^7.1.3".
warning " > browserslist-config-erb@0.0.1" has incorrect peer dependency "electron@^7.0.0".
warning " > eslint-config-airbnb@18.2.1" has incorrect peer dependency "eslint-plugin-jsx-a11y@^6.4.1".
warning " > eslint-config-erb@1.0.0" has incorrect peer dependency "eslint-config-airbnb-typescript@^8.0.2".
warning " > eslint-config-erb@1.0.0" has unmet peer dependency "eslint-plugin-flowtype@^5.1.3".
warning " > eslint-config-erb@1.0.0" has incorrect peer dependency "eslint-plugin-jsx-a11y@6.2.3".
[4/4] Building fresh packages...
$ node -r @babel/register internals/scripts/CheckNativeDep.js && electron-builder install-app-deps && yarn build-dll && opencollective-postinstall
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db
Why you should do it regularly:
https://github.com/browserslist/browserslist#browsers-data-updating
Webpack does not work with native dependencies.
@blueprintjs/core, @blueprintjs/select, @fortawesome/fontawesome-free, @hot-loader/react-dom, @material-ui/core, @reduxjs/toolkit, axios, classnames, clsx, connected-react-router, electron-debug, electron-log, electron-settings, electron-store, electron-updater, electron, express, fontsource-lexend-peta, get-port, history, i18next-fs-backend, i18next-node-fs-backend, i18next-sync-fs-backend, i18next, internal-ip, kcors, koa-router, koa-send, koa-static, koa, node-forge, qrcode.react, react-awesome-reveal, react-dom, react-flexbox-grid, react-hot-loader, react-i18next, react-qrcode-logo, react-redux, react-reveal, react-router-dom, react-toast-notifications, react-toastify, react, redux-thunk, redux, regenerator-runtime, shortid, simple-peer, socket.io-client, socket.io, source-map-support, winston are native dependencies and should be installed inside of the "./app" folder.
First, uninstall the packages from "./package.json":
yarn remove your-package
Then, instead of installing the package to the root "./package.json":
yarn add your-package
Install the package to "./app/package.json"
cd ./app && yarn add your-package
Read more about native dependencies at:
https://electron-react-boilerplate.js.org/docs/adding-dependencies/#module-structure
After following the instructions in the previous error:
Deskreen is now v2.0.3, closing https://github.com/Botspot/pi-apps/commit/d2c22a9e3ecaeb2fcfecfbb3482ffc79f888b09c
So I installed Deskreen and it wouldn't work in when I click on it through the raspberry pi menu, so I typed 'deskreen' in the terminal and got
bash: /usr/local/bin/deskreen: Permission denied
So I typed the fallowing commands to get it to work:sudo chmod +x /usr/local/bin/deskreen
mkdir .Deskreen
sudo cp Deskreen-1.0.1-armv7l.AppImage .Deskreen/Deskreen-1.0.1-armv7l.AppImage
deskreen
Then it opens a UI window that has a QR code and link, so I get my Android tablet running android 9 and type in the link, http://192.168.1.10:3131/150083 Then it pops up on my raspberry pi to allow the device, so I do. Then I click the button to share my entire screen, and there is no button to press to share the screen, What do I do? I try refreshing it, nothing happens. Try reinstalling it, doesn't fix it.