agregore-browser
agregore-browser copied to clipboard
Pinephone Support
This is a tracking issue for getting Agregore to work properly on the Pinephone.
https://twitter.com/RangerMauve/status/1390099799320506369
Compiling
So far, I'm able to compile Agregore from source on a pinphone running monjaro+Phosh using the following steps (I did this over SSH but you can probably do it on the phone's terminal app):
-
git clone
the repo somewhere andcd
into it - Set up node.js using nvm
- Install yarn with
npm i -g yarn
- Install build-essentials using
sudo pacman -Sy base-devel
- Use
yarn
to install node modules. Should see a bunch of output for compiling node-gyp modules like utp-native and sodium-native - Use
yarn start
to run it - Use
yarn builder --arm64
to compile an AppImage in therelease
folder
Installing
Once you've compiled or downloaded the AppImage, you can install it onto the system with AppImageLauncher
On Monjaro you can install it with sudo pacman -S appimagelauncher
From there you should be able to open AppImages from the file explorer (e.g. Portfolio) and get it to install them onto your system.
Known issues:
- Text is appearing blurred, probably an issue with scaling. https://github.com/electron/electron/issues/27169
- Adding some command line flags seems to help.
--enable-features=UseOzonePlatform --ozone-platform=wayland
- Adding some command line flags seems to help.
- Keybaord input isn't working sometimes (might need to bring it up first and then click the text area)
- Initial load is pretty slow (comparable to firefox), should investigate
- GPU acceleration for video doesn't seem to be working yet Gonna try a fix from here
- The
alt
menubar isn't showing up on Phosh (not sure about others) - The Icon for the AppImageLauncher isn't working.
Other TODOs:
- Publishing to the Linux On Mobile app list here
- Publishing on AUR?
Any help with figuring out issues would be very much appreciated
Even though adding the flags --enable-features=UseOzonePlatform --ozone-platform=wayland
on the CLI works great for fixing both the keybaord issue and the fuzziness, I can't actually use the app.commandLine.appendSwitch()
API to enable these flags. 🤷
What I did was I added the CLI arguments to the .desktop
file that AppImageLauncher created inside ~/.local/share/applications/
. Now it seems to be working great!
Not sure if there's a way to do this automagically. 🤷
I think we're going to need to run the build scripts on some sort of ARM computer cluster because cross-compliation just isn't working.
I have a raspberry pi 4 with 64bit archlinux on it. Actually I think I have two or three. It's the 4gb ram model. Would that be helpful?
I have a raspberry pi 4 with 64bit archlinux on it. Actually I think I have two or three. It's the 4gb ram model. Would that be helpful?
Sadly the pinephone uses a different ARM architecture from the Pi 4 (AFAIK)
The first Pi 4 uses armv7h, and the Pinephone uses aarch64. At least as I understand it. 😅
No it is aarch64. The trouble is the os from raspberry is 32 bit. Do they still call it raspbian?
I run a 64 bit archlinux on mine - had to to get ssb running on there because some libraries required 64 bit. So I'm 98.69385624% certain it is aarch64 :)
@av8ta :O If you could try to compile a binary (maybe for alpine?) I'd love to test it on my pinephone.
If it works I might spend some time to set up a PI for running builds on release at my house. 😁
I'll give it a shot and let you know how I get on :grinning: I'm expecting it will take aaaages haha
So I broke my raspberry pi in the first attempt! It was a custom archlinux I'd built way back when there weren't any downloadable iso for 64 bit OS. Now it has the new 64 bit raspberry pi os on it so I'll have another crack soon. But I should probably buy a heatsink for it first so it doesn't lock up in the middle of a system upgrade and brick itself again :rofl: