PinePhone: Difference between revisions
imported>Tom →Sensors: Note firmware re sensors |
imported>Tom |
||
Line 29: | Line 29: | ||
Working with: | Working with: | ||
* [https://github.com/NixOS/mobile-nixos/pull/380 Use the more generic device path for modem] | * [https://github.com/NixOS/mobile-nixos/pull/380 Use the more generic device path for modem] | ||
* the following: | * the following (pr: https://github.com/NixOS/nixpkgs/pull/131695/ ): | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> |
Revision as of 15:16, 27 July 2021
PinePhone is supported by Mobile NixOS: https://mobile.nixos.org/devices/pine64-pinephone.html
This guide is discusses how to use Phosh, the GNOME-derived UI used by Librem and Mobian.
Requirements
This document assumes you have set up NixOS on your PinePhone, as described in https://mobile.nixos.org/getting-started.html
Beware known issues:
- boot.growPartition has no effect
- how to cross-compile
- build.disk-image via binfmt taking 40mins doing a find/du on my /nix/store
- GTK application startup is slowed by lots of icon I/O
Status
Phosh
https://github.com/NixOS/mobile-nixos/pull/352 is a PR to add a phosh-demo to mobile-nixos. The author of this wiki page uses this PR.
Browsing
- GNOME Web is installed by default.
- `pkgs.firefox-wayland` works but doesn't scale down the UI well. https://gitlab.com/postmarketOS/mobile-config-firefox is needed for that.
Sound
Working. Settings -> Sound ->Output -> Configuration -> HiFi
Calling
Working with:
- Use the more generic device path for modem
- the following (pr: https://github.com/NixOS/nixpkgs/pull/131695/ ):
environment.systemPackages = [ pkgs.calls ];
services.dbus.packages = [ pkgs.callaudiod ];
Known issues:
- incoming calls don't trigger music to be paused. Likely need something like https://source.puri.sm/Librem5/librem5-base/-/merge_requests/170/diffs
- when the screen is locked, incoming calls can only be answered after unlocking.
SMS
Working with:
- Chatty
- and the following:
environment.systemPackages = [
(pkgs.chatty.override {
plugins = [
pkgs.purple-mm-sms
];
})
];
MMS
Unsupported. See https://source.puri.sm/Librem5/chatty/-/issues/30
Camera
pkgs.megapixels
is the only known application to work with V4L2. Does not always start correctly, retrying might help.
- Front camera works out-of-the-box .
- Back camera works with this having been flashed to the boot partition: https://github.com/NixOS/mobile-nixos/pull/392
Mobile internet
Working (imperative), with:
$ nmcli c add type gsm ifname cdc-wdm0 con-name $PROVIDER apn $APN
Other distributions use Librem's fork of gnome-control-center which has a mobile internet panel. https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/583 tracks the upstreaming of this functionality.
GPS
Working with GNOME applications with:
- allow Phosh to use geoclue
- and the following:
services.geoclue2.enable = true;
users.users.geoclue.extraGroups = [ "networkmanager" ];
Sensors
The acceleration, compass, and ambient light sensors provide working auto-rotation, compass, and auto-brightness, when you:
hardware.sensor.iio.enable = true;
hardware.firmware = [ config.mobile.device.firmware ];
Disk encryption
The boot process supports opening LUKS volumes. Creating an image to use LUKS is unsupported, but possible. The idea is to write an encrypted LUKS volume to the root partition, as described in https://github.com/NixOS/mobile-nixos/tree/master/examples/testing/qemu-cryptsetup.
Torch
See https://github.com/NixOS/mobile-nixos/issues/379
Bluetooth
Not working in Phosh settings. Works on Pinephones according to https://xnux.eu/devices/pine64-pinephone.html
I think we need to make the bluetooth kernel driver a module, so that the firmware has a chance to load.
Alarm clocks
Not working:
- GNOME Clocks will not wake up the phone: https://gitlab.gnome.org/GNOME/gnome-clocks/-/issues/100
- https://github.com/Dejvino/birdie looks good, but is not packaged.
Recommended applications
See https://linmobapps.frama.io/ for a list of applications that behave well on small screens, including:
pkgs.gnome.gnome-chess
pkgs.gnome.gnome-podcasts
pkgs.portfolio-filemanager
pkgs.numberstation
- TOTP
See also
- xnux.eu ("megi") is authoritative on hardware capabilities
- PinePhone multi-distro demo image is an easy way to see which functionality works in other distros.
- Arch Linux's Pinephone config
- Mobian's Pinephone docs
- PostmarketOS's Pinephone docs
- PostmarketOS's Pinephone config