Google Pixel 3a (google-sargo)

From postmarketOS
Revision as of 00:49, 17 March 2023 by Flamingradian (talk | contribs) (issues fixed in sdm670-v6.2.6)
Jump to navigation Jump to search
Google Pixel 3a
Google Pixel 3a
Google Pixel 3a
Manufacturer Google
Name Pixel 3a
Codename google-sargo
Released 2019
Category testing
Original software Android
Original version 9
Hardware
Chipset Qualcomm Snapdragon 670 (SDM670)
CPU Octa-core (2x2.0 GHz 360 Gold & 6x1.7 GHz Kryo 360 Silver)
GPU Adreno 615
Display 1080x2220 OLED
Storage 64 GB
Memory 4 GB
Architecture aarch64
Type handset
Unixbench Whet/Dhry score 4417.7
Features
USB Networking
Works
Flashing
Works
Touchscreen
Works
Display
Partial
WiFi
Partial
FDE
Works
Mainline
Works
Battery
Partial
3D Acceleration
Works
Audio
Broken
Bluetooth
Works
Camera
Broken
GPS
Mobile data
Works
SMS
Works
Calls
Broken
USB OTG
Broken
NFC
Partial
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Hall Effect
Barometer
Power Sensor
Misc
Camera Flash
Keyboard
Touchpad
USB-A
HDMI/DP
Ir TX
Ir RX
Stylus
Haptics
Ethernet
FOSS bootloader




Contributors

Maintainer(s)

Users owning this device


Entering Fastboot

Hold Volume Down and Power until device loads into Fastboot

Fastboot commands

Might be convenient for dual boot

  • fastboot getvar current-slot
  • fastboot set_active a and fastboot set_active b

Installation

You can follow a relatively typical installation using pmbootstrap as documented here (there are no pre-built images). There are a few things to keep in mind.

Flashing

If your device has Android 10 or later, you might get the following error when flashing the rootfs:

$ pmbootstrap flasher flash_rootfs
Sending sparse 'system_b' 1/5 (261014 KB)          OKAY [  9.129s]
Writing 'system_b'                                 FAILED (remote: 'Partition should be flashed in fastbootd')
fastboot: error: Command failed

This error occurs because Android 10 introduced dynamic partitions. There are different ways to flash the rootfs (see Different options of installation). Flashing to dynamic partitions via fastbootd is supported.

DTBO

Thanks to a hack in the kernel fork, you do not need to erase the DTBO partition. Keeping the DTBO comes with a few side effects. Instead of seeing "Google Pixel 3a" as the machine name, you might see something like "Google Inc. MSM sdm670 S4 PVT v1.0". You may also see a dmesg error complaining about a ramoops reserved memory region.

If you don't like these side effects, erasing the DTBO is simple:

$ fastboot erase dtbo


Features

Charging

Support for charging was developed by the SDM845 mainlining community, with no thermals and only 1 A.

Display

The panel works. Note that the XL variant has 2 different panels.

Fingerprint sensor

This device has the FPC1020 fingerprint sensor. A driver is being worked on here but doesn't seem to be ready yet.

Haptics

The Pixel 3a doesn't use SPMI haptics. Instead, it uses the TI DRV2624. The driver included in the SoC kernel works with fftest, but is in bad condition. There is no feedbackd support either.

Full-disk encryption

Full-disk encryption works without 3D acceleration.

NFC

NFC card detection works. Nothing else was tested. The embedded secure element seems to have no driver support.

WiFi

You don't get the same MAC address as on Android, even though it is possible to detect the MAC address that Android uses (somewhere in /sys/firmware/devicetree/base/chosen/cdt/cdb2/wlan_mac1).

Calls

It seems to be possible to initiate calls. However, this is useless because there is no call audio.

Audio

You can get audio over Bluetooth, but this isn't what the feature table entry represents. On-board speakers and the headphone jack currently don't work.

Flashlight

There is no flashlight support yet.

See also