Google Pixel 3a XL (google-bonito)
![]() Pixel 3a XL running Phosh | |
Manufacturer | |
---|---|
Name | Pixel 3a XL |
Codename | google-bonito |
Released | 2019 |
Type | handset |
Hardware | |
Chipset | Qualcomm Snapdragon 670 (SDM670) |
CPU |
Octa-core (2x2.0 GHz Kryo 360 Gold 6x1.7 GHz Kryo 360 Silver) |
GPU | Adreno 615 |
Display | 1080x2160 OLED |
Storage | 64 GB |
Memory | 4 GB |
Architecture | aarch64 |
Software | |
Original software The software and version the device was shipped with. |
Android 9 |
Extended version The most recent supported version from the manufacturer. |
Android 12L |
postmarketOS | |
Category | community |
Pre-built images Whether pre-built images are available here. |
no |
Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. |
yes |
pmOS kernel The kernel version that runs on the device's port. |
6.14.5 |
Unixbench score Unixbench Whetstone/Dhrystone score. See Unixbench. |
4886.2 |
Device package |
![]() |
Kernel package |
![]() |
Flashing It is possible to flash the device with pmbootstrap flasher . |
Works
|
---|---|
USB Networking After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system). |
Works
|
Internal storage eMMC, SD cards, UFS, ... |
Works
|
Battery Charging and battery level reporting works |
Partial
|
Screen Display works. Ideally with sleep mode and brightness control. |
Works
|
Touchscreen |
Works
|
Multimedia | |
3D Acceleration |
Works
|
Audio Audio playback, microphone, headset and buttons. |
Partial
|
Camera |
Partial
|
Camera Flash |
Works
|
Connectivity | |
WiFi |
Partial
|
Bluetooth |
Works
|
GPS |
Broken
|
NFC Near Field Communication |
Partial
|
Modem | |
Calls |
Partial
|
SMS |
Works
|
Mobile data |
Works
|
Miscellaneous | |
FDE Full disk encryption and unlocking with unl0kr. |
Works
|
USB OTG USB On-The-Go or USB-C Role switching |
Broken
|
Sensors | |
Accelerometer Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile |
Works
|
Magnetometer Sensor to measure magnetism |
Broken
|
Ambient Light |
Works
|
Proximity |
Works
|
Haptics |
Works
|
Barometer Sensor to measure air pressure |
Untested
|
![]() |
THIS PAGE IS SUPPLEMENTARY TO THE PIXEL 3A PAGE, REFER TO IT BEFORE ATTEMPTING TO INSTALL POSTMARKETOS |
NOTE TO WIKI EDITORS! This page should only be used to document Pixel 3a XL specific features, for anything which is the same between it and the Pixel 3a please add information there instead |
Contributors
Maintainers
Users owning this device
- 0mega (Notes: pmOS 24.12 + Phosh)
- BeastRein (Notes: Testing PostmarketOS)
- Crashniels (Notes: Stock)
- Iramosu (Notes: PmOS, Phosh daily driver)
- Lepotototor (Notes: Old daily driving, use to test Ubports and droidian)
- Lolgzs (Notes: Ubuntu Touch)
- Mariob (Notes: pmOS hobbying and dreaming platform ~ Just Black)
- Miax7 (Notes: NOT ON WIKI, Currently runs DotOS with MicroG via Magisk)
- R00t (Notes: running postmarketOS, multiple)
- Sunshine (Notes: Currently Ubuntu Touch trying to figure out pm install)
- UltrasonicMadness (Notes: Runs Ubuntu Touch)
- Yifei (Notes: with Tianma panel, support not merged yet)
Installation
You can mostly follow the same installation process as the Pixel 3a. However, the Pixel 3a XL was manufactured with 2 unique display panels. You will need to test which one you have and choose the appropriate configuration.
The SDC (Samsung Display Controller) panel is identified as dsi_sofef00_sdc_1080p_cmd
.
The Tianma panel is identified as dsi_nt37700f_tianma_1080p_cmd
.
Examining from adb root shell
If you have root access on Android, you can read arguments passed to the kernel (the "kernel command line") from Android.
$ adb root
$ adb shell
# grep -o 'msm_drm\.dsi_display0=[^ ]*' /proc/cmdline
msm_drm.dsi_display0=dsi_s6e3fa7_sdc_1080p_cmd_display::timing0
Examining from postmarketOS
You can also use a postmarketOS boot image to determine your panel. The debug shell is included by default in recent builds and can help you read the kernel command line.
First, flash a boot image for any panel variant. Keep the device plugged in.
To get into the debug shell, boot the image and hold
. You should then be able to run telnet into the device.$ telnet 172.16.42.1 # grep -o 'msm_drm\.dsi_display0=[^ ]*' /proc/cmdline msm_drm.dsi_display0=dsi_s6e3fa7_sdc_1080p_cmd_display::timing0
Now you can hold down
and to go back to the bootloader and flash images for the correct panel.