Google Pixel 3 (google-blueline): Difference between revisions
m →See also: Add current draft MR |
Update feature status. Audio output fixed by https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5686 |
||
(13 intermediate revisions by 7 users not shown) | |||
Line 13: | Line 13: | ||
| storage = 64GB/128GB | | storage = 64GB/128GB | ||
| display = 1080 x 2160 P-OLED, HDR | | display = 1080 x 2160 P-OLED, HDR | ||
| memory = | | memory = 4 GB | ||
| architecture = aarch64 | | architecture = aarch64 | ||
| type = handset | |||
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --> | <!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --> | ||
| status_usbnet = | | status_usbnet = Y | ||
| status_flashing = Y <!-- Flashing with "pmbootstrap flasher" works? Put Y here. It works the same for everything coming below. --> | | status_flashing = Y <!-- Flashing with "pmbootstrap flasher" works? Put Y here. It works the same for everything coming below. --> | ||
| status_touch = <!-- Touch screen is working? You can also answer these questions with P for partially. --> | | status_emmc = Y | ||
| status_screen = <!-- The display is working? --> | | status_touch = Y <!-- Touch screen is working? You can also answer these questions with P for partially. --> | ||
| status_wifi = <!-- Wireless network works? --> | | status_screen = Y <!-- The display is working? --> | ||
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? --> | | status_wifi = Y <!-- Wireless network works? --> | ||
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? --> | | status_xwayland = Y <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? --> | ||
| status_fde = Y <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? --> | |||
| status_mainline = P <!-- Instead of a Linux kernel fork, it is possible to run mainline. --> | | status_mainline = P <!-- Instead of a Linux kernel fork, it is possible to run mainline. --> | ||
| status_battery = <!-- Charging the battery with charging-sdl is possible --> | | status_battery = Y <!-- Charging the battery with charging-sdl is possible --> | ||
| status_3d = <!-- Hardware accelerated 3D graphics (e.g. with freedreno) --> | | status_3d = Y <!-- Hardware accelerated 3D graphics (e.g. with freedreno) --> | ||
| status_accel = <!-- The sensor that measures proper acceleration works --> | | status_accel = N<!-- The sensor that measures proper acceleration works --> | ||
| status_audio = <!-- Using the device's speakers/headphone jack works --> | | status_audio = P <!-- Using the device's speakers/headphone jack works --> | ||
| status_bluetooth = <!-- It's possible to pair and use other devices via the bluetooth protocol --> | | status_bluetooth = Y <!-- It's possible to pair and use other devices via the bluetooth protocol --> | ||
| status_camera = <!-- Taking photos and videos works. --> | | status_camera = N <!-- Taking photos and videos works. --> | ||
| status_gps = <!-- The Global Positioning System sensor works. --> | | status_gps = P <!-- The Global Positioning System sensor works. --> | ||
| status_mobiledata = <!-- Connecting to the Internet via cellular network. --> | | status_mobiledata = <!-- Connecting to the Internet via cellular network. --> | ||
| status_sms = <!-- Sending and receiving short messages works as intended. --> | | status_sms = <!-- Sending and receiving short messages works as intended. --> | ||
| status_calls = <!-- Talking to other people over the cellular network. --> | | status_calls = <!-- Talking to other people over the cellular network. --> | ||
| status = | | status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" --> | ||
| status_otg = <!-- USB-OTG adapters work, e.g. to connect an USB flash drive to the device --> | | status_otg = N <!-- USB-OTG adapters work, e.g. to connect an USB flash drive to the device --> | ||
| status_nfc = <!-- Near-Field Communication (NFC) works --> | | status_nfc = <!-- Near-Field Communication (NFC) works --> | ||
| booting = Y <!-- The device is booting at all, can be yes/no *IMPORTANT* --> | | booting = Y <!-- The device is booting at all, can be yes/no *IMPORTANT* --> | ||
| packaged = Y | |||
<!-- you can also use these lines if you need to: | <!-- you can also use these lines if you need to: | ||
if the device haven't originally ran Android OS, e.g. Nokia N900 | if the device haven't originally ran Android OS, e.g. Nokia N900 | ||
Line 50: | Line 52: | ||
== Contributors == | == Contributors == | ||
* hreikin | * hreikin | ||
* [[User:Caleb|Caleb]] | |||
* drakulix | |||
== Users owning this device == | == Users owning this device == | ||
Line 59: | Line 63: | ||
== How to enter flash mode == | == How to enter flash mode == | ||
Unplug from USB and hold {{Button|Power}} and {{Button|Volume Down}} until you see a screen with a red triangle titled "fastboot mode". | |||
== Installation == | |||
== | === Prerequisites === | ||
==== Upgrade ==== | |||
Before installing postmarketOS, it is recommended that you update your device to the last release available. This can be done easily by visiting http://flash.android.com/ from a Chromium based browser and following the instructions. | |||
==== Unlock the bootloader ==== | |||
1. Open setting, go to "About" and tap on the "Build number" box ~10 times until the "You are now a developer" toast message appears. | |||
2. Go back to the main settings page, go to "System" and then "Developer options" (it might be hiding behind a dropdown menu). Toggle the switch to "Enable OEM unlocking" | |||
3. Refer to "How to enter flash mode" above to get into fastboot mode, then re-attach your USB cable. Run the following command on your host: | |||
<syntaxhighlight lang="shell-session"> | |||
$ fastboot flashing unlock | |||
</syntaxhighlight> | |||
Use the volume buttons to navigate the confirmation screen on the device and confirm. | |||
=== Building and flashing === | |||
The vendor is google, the codename is "blueline". | |||
Follow the [[pmbootstrap]] article, until you have done the install action (note that <code>--fde</code> stands for full-disk-encryption - this can also be left out). | |||
<syntaxhighlight lang="shell-session"> | |||
$ pmbootstrap install --fde --password 147147 | |||
</syntaxhighlight> | |||
Reboot back into flash mode as explained above. (If you encounter weird behaviour like the command getting stuck before the flashing starts, reboot into flash mode or select "restart bootloader" on the phone itself and run the command again while the device reboots). | |||
<syntaxhighlight lang="shell-session"> | |||
$ pmbootstrap flasher flash_dtbo | |||
$ pmbootstrap flasher flash_rootfs | |||
$ pmbootstrap flasher flash_boot | |||
</syntaxhighlight> | |||
Then choose "start" on the device to reboot into your new installation. | |||
== UART == | |||
See also: https://github.com/Peter-Easton/android-debug-cable-howto, [[ Serial_debugging:Cable_schematics#Google_Pixel_.22Android_Debug_Cable.22 ]] | |||
Baud rate is 115200. Voltage is 3.3V, although 1.8V seems to work as well. | |||
# Obtain a USB-C breakout board and a UART adapter | |||
# Connect pins <code>board pin (USB-C pinout) - UART adapter pin</code> as following: | |||
## A1 (GND) - GND | |||
## A8 (SBU1) - RXD | |||
## B8 (SBU2) - TXD | |||
# Connect breakout board and phone using a USB-C cable that has working SBU1/2 (I had to use a thicker TB3/USB 3.0 capable cable). Make sure the cable is in "top" orientation (in my case Thunderbolt logos were facing same side as phone's screen and the <code>A</code> side of breakout board), it won't work if the plug is reversed on one side. | |||
# Boot phone into fastboot, then execute <code>fastboot oem uart enable</code> and poweroff. | |||
== See also == | == See also == | ||
* {{issue|1229|pmaports}} Pixel 3 (google-blueline) porting: progress and questions | * {{MR|5514|pmaports}} MR adding device support | ||
* {{MR|3932|pmaports}} Draft | * {{issue|1229|pmaports}} Old Pixel 3 (google-blueline) porting: progress and questions | ||
* {{MR|3932|pmaports}} Old Draft MR | |||
<!-- | <!-- |
Latest revision as of 20:09, 5 October 2024
![]() Google Pixel 3 | |
Manufacturer | |
---|---|
Name | Pixel 3 |
Codename | google-blueline |
Released | 2018 |
Type | handset |
Hardware | |
Chipset | Qualcomm Snapdragon 845 (SDM845) |
CPU | Octa-core (4x2.5 GHz Kryo 385 Gold & 4x1.6 GHz Kryo 385 Silver) |
GPU | Adreno 630 |
Display | 1080 x 2160 P-OLED, HDR |
Storage | 64GB/128GB |
Memory | 4 GB |
Architecture | aarch64 |
Software | |
Original software | Android |
Original version | 9.0 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | partial |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
Works |
SD card |
No data |
Battery |
Works |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Works |
Audio |
Partial |
Camera |
Broken |
Camera Flash |
No data |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
GPS |
Partial |
NFC |
No data |
Modem | |
Calls |
No data |
SMS |
No data |
Mobile data |
No data |
Miscellaneous | |
FDE |
Works |
USB OTG |
Broken |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
Broken |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
Contributors
- hreikin
- Caleb
- drakulix
Users owning this device
- 8osm3rka
- BEEDELLROKEJULIANLOCKHART
- Caleb (Notes: smol :3)
- Danascape (Notes: WIP)
- Daudix (Notes: 64GB, Unlocked)
- Froggo (Notes: 4+128GB)
- Hlcj
- MasanoriOgino (Notes: UFS 128 GB Micron)
- Ptesarik (Notes: my main phone)
- Rom4nik
How to enter flash mode
Unplug from USB and hold
and until you see a screen with a red triangle titled "fastboot mode".Installation
Prerequisites
Upgrade
Before installing postmarketOS, it is recommended that you update your device to the last release available. This can be done easily by visiting http://flash.android.com/ from a Chromium based browser and following the instructions.
Unlock the bootloader
1. Open setting, go to "About" and tap on the "Build number" box ~10 times until the "You are now a developer" toast message appears.
2. Go back to the main settings page, go to "System" and then "Developer options" (it might be hiding behind a dropdown menu). Toggle the switch to "Enable OEM unlocking"
3. Refer to "How to enter flash mode" above to get into fastboot mode, then re-attach your USB cable. Run the following command on your host:
$ fastboot flashing unlock
Use the volume buttons to navigate the confirmation screen on the device and confirm.
Building and flashing
The vendor is google, the codename is "blueline".
Follow the pmbootstrap article, until you have done the install action (note that --fde
stands for full-disk-encryption - this can also be left out).
$ pmbootstrap install --fde --password 147147
Reboot back into flash mode as explained above. (If you encounter weird behaviour like the command getting stuck before the flashing starts, reboot into flash mode or select "restart bootloader" on the phone itself and run the command again while the device reboots).
$ pmbootstrap flasher flash_dtbo
$ pmbootstrap flasher flash_rootfs
$ pmbootstrap flasher flash_boot
Then choose "start" on the device to reboot into your new installation.
UART
See also: https://github.com/Peter-Easton/android-debug-cable-howto, Serial_debugging:Cable_schematics#Google_Pixel_.22Android_Debug_Cable.22
Baud rate is 115200. Voltage is 3.3V, although 1.8V seems to work as well.
- Obtain a USB-C breakout board and a UART adapter
- Connect pins
board pin (USB-C pinout) - UART adapter pin
as following:- A1 (GND) - GND
- A8 (SBU1) - RXD
- B8 (SBU2) - TXD
- Connect breakout board and phone using a USB-C cable that has working SBU1/2 (I had to use a thicker TB3/USB 3.0 capable cable). Make sure the cable is in "top" orientation (in my case Thunderbolt logos were facing same side as phone's screen and the
A
side of breakout board), it won't work if the plug is reversed on one side. - Boot phone into fastboot, then execute
fastboot oem uart enable
and poweroff.
See also
- pmaports!5514 MR adding device support
- pmaports#1229 Old Pixel 3 (google-blueline) porting: progress and questions
- pmaports!3932 Old Draft MR