Jump to content

Google Pixel 6 / 6 Pro (google-raviole)

From postmarketOS Wiki
Google Pixel 6
Green Pixel 6 on a blue background.
Green Pixel 6 on a blue background.
Manufacturer Google
Name Pixel 6
Codename google-raviole
Released 2021
Type handset
Hardware
Chipset Google Tensor G1
CPU 2x2.80 GHz Cortex-X1
2x2.25 GHz Cortex-A76
4x1.80 GHz Cortex-A55
GPU Mali-G78 MP20
Display AMOLED 1080x2400 90Hz
Storage 128, 256 GB
Memory 8 GB
Architecture aarch64
Software
Original software Android
Original version
The version the device was shipped with.
12
postmarketOS
Category testing
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
Features
Flashing
It is possible to flash the device with pmbootstrap flasher.
Broken
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
Untested
Screen
Display works. Ideally with sleep mode and brightness control.
Works
Touchscreen
Untested
Multimedia
3D Acceleration
Untested
Audio
Audio playback, microphone, headset and buttons.
Untested
Camera
Untested
IR TX
Untested
Connectivity
WiFi
Works
Bluetooth
Untested
GPS
Untested
NFC
Near Field Communication
Untested
Modem
Calls
Untested
SMS
Untested
Mobile data
Untested
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
USB OTG
USB On-The-Go or USB-C Role switching
Untested
Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Untested
Magnetometer
Sensor to measure magnetism
Untested
Ambient Light
Untested
Proximity
Untested
Hall Effect
Also known as flip cover sensor
Untested


Google Pixel 6 Pro
Manufacturer Google
Name Pixel 6 Pro
Codename google-raviole
Released 2021
Type handset
Hardware
Chipset Google Tensor G1
CPU 2x2.80 GHz Cortex-X1
2x2.25 GHz Cortex-A76
4x1.80 GHz Cortex-A55
GPU Mali-G78 MP20
Display AMOLED 1440x3120 120Hz
Storage 128, 256, 512 GB
Memory 12 GB
Architecture aarch64
Software
Original software Android
Original version
The version the device was shipped with.
12
postmarketOS
Category testing
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
Features
Flashing
It is possible to flash the device with pmbootstrap flasher.
Broken
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
Untested
Screen
Display works. Ideally with sleep mode and brightness control.
Works
Touchscreen
Untested
Multimedia
3D Acceleration
Untested
Audio
Audio playback, microphone, headset and buttons.
Untested
Camera
Untested
IR TX
Untested
Connectivity
WiFi
Works
Bluetooth
Untested
GPS
Untested
NFC
Near Field Communication
Untested
Modem
Calls
Untested
SMS
Untested
Mobile data
Untested
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
USB OTG
USB On-The-Go or USB-C Role switching
Untested
Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Untested
Magnetometer
Sensor to measure magnetism
Untested
Ambient Light
Untested
Proximity
Untested
Hall Effect
Also known as flip cover sensor
Untested


The Google Pixel 6 (codename: Oriole) and Pixel 6 Pro (codename: Raven) are Google's 2021 flagship pair of Android phones. The pair is notable as it is the first product utilizing Google's in-house silicon, the Google Tensor SOC. Both models are by and large identical. Differences include, amount of RAM, display resolution, refresh rate, and an additional camera module.

Contributors

Users owning this device

  • 9lore (Notes: Pixel 6 Pro (raven), preparing to port and mainline)
  • Al3x (Notes: Main)
  • BenTheTechGuy (Notes: Daily driver (Pixel 6), running GrapheneOS)
  • BlackEyedSquid (Notes: Pixel 6 (oriole), 256GB, Google Edition)
  • Brooke (Notes: Running GrapheneOS)
  • Cherryband (Notes: Pixel 6, daily driver, runs CalyxOS)
  • Clevrpwn (Notes: daily driver with stock firmware)
  • Emacsevangelist (Notes: Daily driver (Pixel 6 Pro), running GrapheneOS)
  • Ettucompute (Notes: daily driver with stock firmware)
  • Hlcj (Notes: Pixel 6 (oriole), 128GB, Google Edition)
  • LaT3St (Notes: Daily driver (Pixel 6 Pro), Stock OS)
  • Lost-Entrepreneur439 (Notes: Fully working)
  • MasanoriOgino (Notes: oriole, UFS 128 GB SKHynix)
  • Medusa (Notes: Daily driver, running GrapheneOS)
  • Sellerie (Notes: Pixel 6 Pro (raven), daily driver, running GrapheneOS)
  • Tecncr
  • ThatGeekZen (Notes: Daily Driver for now)
  • Uvraj (Notes: Daily driver)


How to Unlock Bootloader

Notice WARNING: Doing this will wipe ALL data on your device. Please backup all your personal data before continuing!
Notice The bootloader needs to be unlocked to be able to flash and modify partitions.
  1. In Settings > About Phone Scroll down and tap Build Number 7 times.
  2. In Settings > System > Developer Options Scroll down and enable USB Debugging and tap Ok.
  3. While In Developer Options enable OEM Unlocking. You will be prompted for your pin code (If applicable) and then warned about the risks of OEM Unlocking. Tap Enable.
  4. Be absolutely certain you have any important data backed up.
  5. Connect your device to a PC and open a terminal.
  6. Confirm your device is detected by typing adb devices.
  7. Authorize the device with the onscreen dialogue if it's listed as Unauthorized.
  8. Reboot to the bootloader with adb reboot bootloader.
  9. Unlock the bootloader with fastboot flashing unlock.
  10. Press continue on your device's screen.
  1. Reboot

How to enter flash mode

  1. Power off the device.
  2. Press and hold Volume Down and Power until Fastboot Mode appears.

or

  1. Open Settings > Developer options (unlock via clicking Build number multiple times in About phone)
  2. Toggle USB Debugging on
  3. Connect your device via USB
  4. Execute in terminal:
adb reboot bootloader

You are now ready to flash!

Hint You can also access recovery mode and other modes on Google pixel devices

Installation

This repo explains how to boot yocto on the phone [1].

To boot postmarketOS, build a pretty generic kernel with pmbootstrap and use the pmbootstrap export. Build the boot partition through the repo of linaro using the initramfs file from pmboostrap export as the prebuilt cpio. For the rootfs, use pmboostrap flasher. pmOS should then boot. I did not do extensive tests but usb internet worked.

Notes

The phone seems to need a boot image header v4. As Boot-deploy only supports version 1 and 2, a work-around needs to be found to make the whole installation go through pmbootstrap.

WiFi

This is a tutorial to get the WiFi working: [2] It is made for yocto but should translate easily to pmOS.

Mainline Work

Thanks to the effort of Linaro and Google, the Google Pixel 6 has mainline support since v6.8. The following patch allows support for the Google Pixel 6 Pro and for the screen: [3].

See also