58 lines
2.1 KiB
Markdown
58 lines
2.1 KiB
Markdown
# MrbWebLibre for Google Pixel 10
|
||
|
||
This fork keeps WebLibre's upstream behavior and adds a focused build profile
|
||
for the Google Pixel 10 family.
|
||
|
||
## What is optimized
|
||
|
||
- **ARM64 only:** Pixel 10 uses a 64-bit Tensor G5 platform. The `pixel10`
|
||
flavor excludes unused 32-bit native libraries, reducing the APK size and
|
||
eliminating accidental 32-bit packaging.
|
||
- **Impeller enabled:** the Flutter renderer remains enabled for smooth GPU
|
||
rendering on the 60–120 Hz Pixel display.
|
||
- **High refresh rate by default:** WebLibre's existing `RefreshRateMode.high`
|
||
default is retained. It can still be changed under General settings when
|
||
battery life matters more than maximum smoothness.
|
||
- **16 KB page-size gate:** every native ARM64 library in the final APK is
|
||
checked for 16 KB-compatible ELF LOAD-segment alignment. This catches an
|
||
incompatible Gecko, Flutter, Tor, or proxy binary before the APK is shipped.
|
||
- **Separate app identity:** `cc.mrblake.mrbweblibre` installs alongside the
|
||
upstream `eu.weblibre.gecko` app and cannot overwrite an upstream-signed APK.
|
||
|
||
The fork deliberately does not spoof the device model or change Gecko web
|
||
preferences only for Pixels. Those changes would increase fingerprinting and
|
||
make upstream security updates harder to merge.
|
||
|
||
## Build
|
||
|
||
Use the Flutter and Android versions pinned by the upstream CI workflow, build
|
||
the generated assets and native runtime, then run:
|
||
|
||
```bash
|
||
melos run build-browser-pixel10 --no-select
|
||
```
|
||
|
||
The command produces:
|
||
|
||
```text
|
||
apps/weblibre/build/app/outputs/flutter-apk/app-pixel10-release.apk
|
||
```
|
||
|
||
Release builds require the same signing environment variables as upstream:
|
||
`KEY_PATH`, `KEY_ALIAS`, and `KEY_PASSWORD`.
|
||
|
||
## Verify an existing APK
|
||
|
||
```bash
|
||
scripts/verify-pixel10-apk.sh path/to/app-pixel10-release.apk
|
||
```
|
||
|
||
The verifier requires `unzip` and GNU `readelf` (usually supplied by the
|
||
`binutils` package).
|
||
|
||
## Keeping the fork current
|
||
|
||
The upstream remote should point at `https://github.com/FaFre/WebLibre.git`.
|
||
Rebase the `pixel10` branch on upstream `main`, run the full test suite, build
|
||
the APK, and do a real-device smoke test before publishing an update.
|