Comments (23)
Hello there 👋
Thanks for submitting your first issue to the Pi-Apps project! We'll try to get back to you as soon as possible.
In the meantime, we encourage you join our Discord server, where you can ask any questions you might have.
Please respond as soon as possible if a Pi-Apps maintainer requests more information from you. Stale issues will be closed after a lengthy period of time with no response.
from pi-apps.
ChromeOS is not completely compatible with Pi-Apps, so expect to see errors for some apps. Thanks for reporting this though. If there is something we can do to help ChromeOS users, we'd be glad to help.
I suggest you research how to get AppImages running under Crostini. That is what the fuse kernel module is necessary for in this case. If the internet says there's no way to run appimages, then there's your answer. But maybe there is a way. I don't have the time right now to do that research myself.
from pi-apps.
Hey! Sorry I accidentally sent the bug report before I finished. I updated it.
About your suggestion: As far as I'm aware, AppImages definitely run under Crostini. I have a few apps that do work like an unofficial build of MuseScore 3.6.2 for ARM and a few others. However, the AppImage must be compatible with the architecture that the device(in this case, Chromebook) uses (ARM vs x86_64?).
As for the fuse kernel module, I'll have to look more into that. (fyi, I'm not very familiar with most of this technical stuff)
from pi-apps.
Pi-Apps correctly detects compatible system architecture. For MuseScore, we install either an armv7l or arm64 appimage.
Try removing this line from MuseScore's install script: enable_module fuse || exit 1
, then try installing Musescore again. It should install now. See if it runs. If it does, I'd be curious if @theofficialgman knows of a clean way to detect when kernel modules are necessary, or if a hacky workaround needs to be added for ChromeOS devices when trying to enable the fuse
kernel module.
from pi-apps.
@Botspot I think you missed the simple issue
environment: line 30: lsmod: command not found
#load the module now if not already loaded
if ! lsmod | awk '{print $1}' | grep -qxF "$module" ;then
errors="$(sudo modprobe "$module" 2>&1)"
if [ $? != 0 ];then
#if modprobe fails, the module may be missing because user upgraded the kernel and has not rebooted yet.
if [ ! -d "/lib/modules/$(uname -r)" ];then
error "\nUser error: Failed to load the '$module' kernel module because you upgraded the kernel and have not rebooted yet.
Please reboot to load the new kernel, then try again."
else
#other modprobe error: exit now and display modprobe output
error "$errors"
fi
fi
fi
lsmod shows ALL kernel modules currently ACTIVE, whether builtinto the kernel (=y
) or loaded in as a module (=m
)
the user does not not have the lsmod
binary or the modprobe
binary so it results in an error, triggering our error check.
lsmod
and modprobe
are from the debian package kmod
. I was not aware of any distros NOT shipping kmod
by default but it appears chromeOS crostini does not as we can see.
@aldjplay don't try what botspot says yet. first try doing a sudo apt install kmod -y
and then try installing again from pi-apps without any changes.
from pi-apps.
also @aldjplay since your device model and CPU info are empty. do you know of any way that we can obtain relevant information from crostini about it being crostini?
we already try a lot of common files but it appears none of these are available in crostini on your chromebook
if [[ -d /system/app/ && -d /system/priv-app ]]; then
model="$(getprop ro.product.brand) $(getprop ro.product.model)"
fi
if [[ -z "$model" ]] && [[ -f /sys/devices/virtual/dmi/id/product_name ||
-f /sys/devices/virtual/dmi/id/product_version ]]; then
model="$(tr -d '\0' < /sys/devices/virtual/dmi/id/product_name)"
model+=" $(tr -d '\0' < /sys/devices/virtual/dmi/id/product_version)"
fi
if [[ -z "$model" ]] && [[ -f /sys/firmware/devicetree/base/model ]]; then
model="$(tr -d '\0' < /sys/firmware/devicetree/base/model)"
fi
if [[ -z "$model" ]] && [[ -f /tmp/sysinfo/model ]]; then
model="$(tr -d '\0' < /tmp/sysinfo/model)"
fi
maybe google is using a non-standard devicetree location?
does this have any contents? cat /proc/device-tree/base/model
from pi-apps.
@aldjplay don't try what botspot says yet. first try doing a sudo apt install kmod -y and then try installing again from pi-apps without any changes.
The same error message appears appears, but it does seem that kmod wasn't installed
Here's a log file from Pi-Apps.
install-fail-MuseScore.log
does this have any contents? cat /proc/device-tree/base/model
Here's the result:
cat: /proc/device-tree/base/model: No such file or directory
I looked through the file system with Dolphin and I got to /proc/device-tree, but I couldn't find a folder named 'base'.
As for your question @theofficialgman, I am not aware of any way to check the cpu info and that stuff from crostini. However, here's the cpu info from the Diagnostics app on ChromeOS: Qualcomm 7180 (8 threads, 1.99GHz)
My device model name from the back of my chromebook says: IP Duet 3 Chrome 11Q727
Its a Lenovo Chromebook Duet 3
from pi-apps.
The same error message appears appears, but it does seem that kmod wasn't installed
actually the error is different. firstly, kmod is the name of the package, not any individual binary. the binaries lsmod and modprobe did get installed.
libkmod: ERROR ../libkmod/libkmod-module.c:1668 kmod_module_new_from_loaded: could not open /proc/modules: No such file or directory
Error: could not get list of modules: No such file or directory
This error comes from lsmod
which is a wrapper designed to format the contents of /proc/modules
.
Unforunately it looks like crostini is bad and does not make the list of active kernel modules available. That pretty much breaks linux kernel spec and is not helpful. A bit more information from other users who discovered that is here -> adrienverge/openfortivpn#335 (comment)
While it makes sense that google would not allow you to load your own kernel modules (that could be a security issue) it doesn't make sense that they don't mount the directory to show you the active kernel modules.
There really is nothing we can do here to get the actual information we need to determine if the fuse module is active since crostini does not provide this information anywhere. In addition, there is no way for us to even hackily disable that check for all crostini users since we can't determine if the user is running crostini as previously mentioned.
@aldjplay if you are able to look through all the /proc/device-tree
files and find any information in there that could be used to differentiate crostini from any other linux system let me know. I will consider this an upsream (google crostini) bug and mark it as such.
from pi-apps.
Alright. Thanks for the help! I will add, the MuseScore 4.0.2 AppImage on your large-files release page does work. https://github.com/Pi-Apps-Coders/files/releases/tag/large-files, although it does appear small for an 11" screen. Here's a screenshot of that. (https://github.com/Botspot/pi-apps/assets/142936250/587892a4-7687-41ae-a576-840cebbd58d5)
As for your final request, I'll try my best. 👍
from pi-apps.
@aldjplay does this have any output? zcat /proc/config.gz
or this cat /boot/config
or this cat /boot/config-$(uname -r)
If presend we can use these as an absolute fallback for checking if FUSE =y in the kernel config
from pi-apps.
Here's the output from running cat /boot/config
and cat /boot/config-$ (uname -r)
I do have to ask, was I supposed to include my username in cat /boot/config-$ (uname -r)
somewhere?
As for zcat /proc/config.gz
the output was so long, I only have part of it. Do you know of anyway to see the whole output?
Here's the text file of like 1048 lines: partialoutput.txt
from pi-apps.
I can see the output contains CONFIG_FUSE_FS=y
in zcat /proc/config.gz
that is enough information, thanks
from pi-apps.
Alright. You're welcome!
from pi-apps.
@aldjplay one more thing
is there any output from this?
modinfo fuse
from pi-apps.
from pi-apps.
modinfo
is from the kmod
package that I had you install earlier
did you remove it?
sudo apt install kmod
then try again
from pi-apps.
Yeah I restored an backup from before I installed the kmod package. My bad.
**the first two lines are from earlier
from pi-apps.
it should be there. maybe /sbin isn't in PATH
use the full directory
/sbin/modinfo fuse
sometimes you also have to reload the current list of files in PATH with
hash -r
after installing stuff
from pi-apps.
Here's the output. (It's still on the same terminal window with everything & stuff so it's all at the bottom)
from pi-apps.
is there any output from ls -l /sys/module
from pi-apps.
Here's the output: output.txt
from pi-apps.
Here's the output: output.txt
perfect. I will use this as a fallback to check for currently loaded/active modules
drwxr-xr-x 3 nobody nogroup 0 Sep 1 12:26 fuse
This issue will close automatically when I commit something that does that to pi-apps.
from pi-apps.
Alright! Glad to help!
from pi-apps.
Related Issues (20)
- CI: Update App Versions Failures HOT 1
- UXPlay an AirPlay Server HOT 4
- Spotify HOT 3
- Reboot app (likely a joke) HOT 2
- OpenArena HOT 3
- RetroPie HOT 3
- Psensor
- Proper Ubuntu Touch support HOT 9
- Cura on Pi 5 Crash Fix HOT 7
- PiGro Won't Install/ Broken Packages HOT 9
- Steam dependency install issue HOT 7
- How to prevent wine update to do a full install every time and even override (design) settings? HOT 19
- PrusaSlicer no longer compatible with Pi4B or Pi5 OpenGL supported version HOT 12
- Docker Engine - Install based app HOT 3
- raspian trixie is supported despite some packages being broken HOT 3
- Make Pycharm work faster by lowering version HOT 2
- Add qFlipper? HOT 2
- "Linux Air Combat for Raspberry Pi-5", an Install based App HOT 33
- box64. The package hasn't been built since March 14 HOT 5
- Pi Apps fails to load correctly. No GUI Interface seen only the top menu ! HOT 14
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pi-apps.