Difference between revisions of "PinePhone Pro Software State"

From PINE64
Jump to navigation Jump to search
(Update sensors status based on own research)
(clarified)
 
(28 intermediate revisions by 6 users not shown)
Line 20: Line 20:
|-
|-
! scope="row" rowspan="3" | Bootloader
! scope="row" rowspan="3" | Bootloader
| <code>U-Boot</code>
| <code>Bootloader</code>
| colspan="2" style="background:lightcoral; text-align:center;" | Critical bugs
| colspan="2" style="background:lightcoral; text-align:center;" | Critical bugs
| Some critical software bugs currently not fixed yet: A drained battery causes U-Boot to bootloop (cause is known and currently being worked on);<sup>[[PinePhone_Pro#The battery is fully drained|Workaround]]</sup> Occasionally the eMMC fails to initialize<sup>[https://gitlab.com/postmarketOS/pmaports/-/issues/1424 Report]</sup>
| Some critical software bugs currently not fixed yet: A drained battery causes U-Boot to bootloop (cause is known and currently being worked on);<sup>[[PinePhone_Pro#The battery is fully drained|Workaround]]</sup> Occasionally the eMMC fails to initialize<sup>[https://gitlab.com/postmarketOS/pmaports/-/issues/1424 Report]</sup>. '''Note:''' Tow-Boot is now pre-installed on the SPI from the factory - issues need verification to be issues with Tow-Boot.
|-
|-
| <code>SPI</code>
| <code>SPI</code>
| colspan="2" style="background:lightcoral; text-align:center;" | Unfinished
| colspan="2" style="background:LightGreen; text-align:center;" | Implemented
| SPI memory is currently empty in the Explorer Edition batch, a corrupted installation on the eMMC has a higher boot priority than a fresh microSD card installation, leading to a involved recovery procedure<sup>[https://tow-boot.org/ Planned]</sup>
| Devices bought after end of July 2022 come with Tow-Boot flashed to the SPI memory, making it considerably easier to flash the device and boot from microSD card.
|-
|-
| <code>Boot GUI</code>
| <code>Boot GUI</code>
Line 34: Line 34:
! scope="row" rowspan="3" | Operating System
! scope="row" rowspan="3" | Operating System
| <code>Stability</code>
| <code>Stability</code>
| style="background:lightcoral; text-align:center;" | Critical bugs
| colspan="2" style="background:LightYellow; text-align:center;" | WIP
| style="background:LightYellow; text-align:center;" | WIP
|  
| The pre-flashed and outdated operating system on the eMMC often gets corrupted after updating<sup>[https://forum.pine64.org/showthread.php?tid=15950 Example]</sup>
|-
|-
| <code>Suspend</code>
| <code>Suspend</code>
| style="background:lightcoral; text-align:center;" | Not working
| colspan="2" style="background:LightYellow; text-align:center;" | Experimental
| style="background:LightYellow; text-align:center;" | Experimental
| Audio is often higher pitched after waking up from suspend due to a bug, make sure to update your system<sup>[https://github.com/dreemurrs-embedded/Pine64-Arch/issues/381 Report]</sup><sup>[https://gitlab.manjaro.org/manjaro-arm/packages/core/linux-pinephonepro/-/issues/3 Report]</sup>
| '''Without suspend the phone will drain very fast!''' Suspend only available in specific more recent images<sup>[https://www.pine64.org/2022/03/15/march-update-introducing-the-quartzpro64/ News]</sup> Audio is often higher pitched after waking up from suspend due to a bug<sup>[https://github.com/dreemurrs-embedded/Pine64-Arch/issues/381 Report]</sup>
|-
|-
| <code>Updates</code>
| <code>Updates</code>
| style="background:lightcoral; text-align:center;" | Critical bugs
| colspan="2" style="background:LightYellow; text-align:center;" | WIP
| style="background:LightYellow; text-align:center;" | WIP
| The pre-flashed and outdated operating system on the eMMC often gets corrupted after updating<sup>[https://forum.pine64.org/showthread.php?tid=15950 Example]</sup>; Pacman database lock preventing updates<sup>[https://wiki.archlinux.org/title/pacman#%22Failed_to_init_transaction_(unable_to_lock_database)%22_error Solution]</sup>; Keyring bug<sup>[Solution is to run "pinephonepro-post-install" script as root]</sup>
| The pre-flashed and outdated operating system on the eMMC often gets corrupted after updating<sup>[https://forum.pine64.org/showthread.php?tid=15950 Example]</sup>; Pacman database lock preventing updates<sup>[https://wiki.archlinux.org/title/pacman#%22Failed_to_init_transaction_(unable_to_lock_database)%22_error Solution]</sup>; Keyring bug<sup>[Solution is to run "pinephonepro-post-install" script as root]</sup>
|-
|-
! scope="row" rowspan="5" | Modem
! scope="row" rowspan="5" | Modem
| <code>General</code>
| <code>General</code>
| colspan="2" style="background:lightcoral; text-align:center;" | Critical bugs
| colspan="2" style="background:LightYellow; text-align:center;" | WIP
| The modem crashes frequently<sup>[https://gitlab.manjaro.org/manjaro-arm/issues/pinephone/phosh/-/issues/147 Report]</sup><sup>[https://gitlab.com/mobian1/devices/eg25-manager/-/issues/15 Report]</sup><sup>[https://github.com/Biktorgj/pinephone_modem_sdk Alternative firmware]</sup>; Slow wakeup<sup>[https://gitlab.com/mobian1/devices/eg25-manager/-/issues/34 Report]</sup>; Some carriers blocking specific TANs in their network<sup>[[PinePhone Carrier Support]]</sup>; '''Note:''' Proprietary firmware
| [https://github.com/Biktorgj/pinephone_modem_sdk Alternative firmware]; Slow wakeup<sup>[https://gitlab.com/mobian1/devices/eg25-manager/-/issues/34 Report]</sup>; Some carriers blocking specific TANs in their network<sup>[[PinePhone Carrier Support]]</sup>; '''Note:''' Proprietary firmware
|-
|-
| <code>Phone</code>
| <code>Phone</code>
| colspan="2" style="background:LightYellow; text-align:center;" | WIP
| colspan="2" style="background:LightYellow; text-align:center;" | WIP
| The modem crashes frequently, which can lead to missed calls<sup>[https://gitlab.manjaro.org/manjaro-arm/issues/pinephone/phosh/-/issues/147 Report]</sup><sup>[https://gitlab.com/mobian1/devices/eg25-manager/-/issues/15 Report]</sup><sup>[https://github.com/Biktorgj/pinephone_modem_sdk Alternative firmware]</sup>; bad call audio quality<sup>[https://gitlab.manjaro.org/manjaro-arm/issues/pinephone/phosh/-/issues/249 Report]</sup>;
| The modem connection crashes frequently, which can lead to missed calls<sup>[https://gitlab.com/mobian1/devices/eg25-manager/-/issues/34#note_984212350 Report]</sup><sup>[https://github.com/Biktorgj/pinephone_modem_sdk Alternative firmware]</sup>; Slow wakeup<sup>[https://gitlab.com/mobian1/devices/eg25-manager/-/issues/34 Report]</sup>; bad call audio quality<sup>[https://gitlab.manjaro.org/manjaro-arm/issues/pinephone/phosh/-/issues/249 Report]</sup>; Audio is often higher pitched after waking up from suspend due to a bug<sup>[https://github.com/dreemurrs-embedded/Pine64-Arch/issues/381 Report]</sup><sup>[https://gitlab.manjaro.org/manjaro-arm/packages/core/linux-pinephonepro/-/issues/3 Report]</sup>
|-
|-
| <code>SMS</code>
| <code>SMS</code>
Line 71: Line 68:
! scope="row" rowspan="12" | Components
! scope="row" rowspan="12" | Components
| <code>LCD</code>
| <code>LCD</code>
| colspan="2" style="background:LightGreen; text-align:center;" | Working
| colspan="2" style="background:lightyellow; text-align:center;" | WIP
| Under certain circumstances it is difficult to wake up the screen<sup>[Citation]</sup>
| '''Hardware issue'''<sup>[https://xnux.eu/log/#055 Details]</sup>
|-
|-
| <code>Touch</code>
| <code>Touch</code>
Line 79: Line 76:
|-
|-
| <code>Rear camera</code>
| <code>Rear camera</code>
| colspan="2" style="background:lightcoral; text-align:center;" | Not working
| style="background:lightcoral; text-align:center;" | Not working
| Driver exists (drivers/media/i2c/imx258.c) but camera does not seem to capture frames
| style="background:LightYellow; text-align:center;" | WIP
| Camera work-in-progress with DTS fix<sup>[Citation]</sup>; userspace still needs to do some catching up<sup>[[PinePhone Pro/IMX258 Camera Debugging|debugging article]]</sup>; Green image tint<sup>[Citation]</sup>
|-
|-
| <code>Front camera</code>
| <code>Front camera</code>
| colspan="2" style="background:lightcoral; text-align:center;" | Not working
| style="background:lightcoral; text-align:center;" | Not working
| Driver not implemented yet (a staging driver exists for this sensor using the Intel Atom ISP framework (drivers/staging/media/atomisp/i2c/ov8858.c), but it needs to be ported and cleaned up); camera not operational
| style="background:LightYellow; text-align:center;" | WIP
| Camera work-in-progress with DTS fix<sup>[Citation]</sup>; userspace still needs to do some catching up<sup>[[PinePhone Pro/IMX258 Camera Debugging|debugging article]]</sup>; Green image tint<sup>[Citation]</sup>
|-
|-
| <code>Camera flash</code>
| <code>Camera flash</code>
| colspan="2" style="background:lightgray; text-align:center;" | Untested
| colspan="2" style="background:lightcoral; text-align:center;" | Critical issues
| '''Hardware issue'''<sup>[https://xnux.eu/log/#069 Details]</sup>; Note: <code>/sys/class/leds/white:flash</code>
|  
|  
|-
|-
| <code>WiFi</code>
| <code>WiFi</code>
| colspan="2" style="background:LightGreen; text-align:center;" | Working
| colspan="2" style="background:LightGreen; text-align:center;" | Working
| WiFi is expected to work. Some remaining tasks, such as "monitor mode". '''Note:''' Proprietary firmware
| WiFi is expected to work. The firmware does not support monitor mode and package injection. '''Note:''' Proprietary firmware
|-
|-
| <code>Bluetooth</code>
| <code>Bluetooth</code>
Line 100: Line 100:
| <code>GNSS/GPS</code>
| <code>GNSS/GPS</code>
| colspan="2" style="background:LightYellow; text-align:center;" | WIP
| colspan="2" style="background:LightYellow; text-align:center;" | WIP
| aGPS to be implemented<sup>[Citation]</sup>; long loading times to get a GPS fix<sup>[Citation]</sup>; No preinstalled application<sup>[Citation]</sup>
| aGPS to be implemented<sup>[[PinePhone#GPS_/_GNSS|See original PinePhone article]]</sup>; long loading times to get a GPS fix<sup>[Citation]</sup>; No preinstalled application<sup>[Citation]</sup>
|-
|-
| <code>Sensors</code>
| <code>Sensors</code>
| colspan="2" style="background:lightgray; text-align:center;" | Untested
| colspan="2" style="background:LightYellow; text-align:center;" | WIP
| "3 Axis Magnetometer" (<code>lis3mdl</code>): Not working (tested on Manjaro 5.17.6-2 kernel; not present in devicetree bindings; does not show up on i2c bus 4 as expected with <code># i2cdetect 4</code>... may have a conflict for i2c-4 addr 0x1c with <code>af8133j</code>)<br>
| "Geo Magnetic Sensor" (<code>af8133j</code>): Status unknown (at <code>/sys/bus/i2c/devices/4-001c/iio:device1</code>)<br>
"Geo Magnetic Sensor" (<code>af8133j</code>): Working (tested on Manjaro, at <code>/sys/bus/i2c/devices/4-001c/iio:device1</code>)<br>
"Accelerometer / Gyroscope" (<code>mpu6500</code>): Working (at <code>/sys/bus/i2c/devices/4-0068/iio:device2</code>)<br>
"Accelerometer / Gyroscope" (<code>mpu6500</code>): Working (tested on Manjaro, at <code>/sys/bus/i2c/devices/4-0068/iio:device2</code>)<br>
"Ambient light / Proximity" (<code>stk3311</code>): Working after updating
"Ambient light / Proximity" (<code>stk3311</code>): Not working (tested on Manjaro 5.17.6-2 kernel; IRQ issues)
<div class="toccolours mw-collapsible mw-collapsed" style="overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">stk3311 dmesg excerpt</div>
<div class="mw-collapsible-content"><pre>
[    9.406478] genirq: Failed to request resources for stk3310_event (irq 99) on irqchip rockchip_gpio_irq
[    9.407380] stk3310 3-0048: request irq 99 failed
[    9.408360] stk3310: probe of 3-0048 failed with error -5
</pre></div>
</div>
|-
|-
| <code>Vibration motor</code>
| <code>Vibration motor</code>
Line 131: Line 122:
! scope="row" rowspan="5" | Accessory compatibility, spare parts
! scope="row" rowspan="5" | Accessory compatibility, spare parts
| <code>Keyboard Add-on</code>
| <code>Keyboard Add-on</code>
| colspan="2" style="background:lightcoral; text-align:center;" | WIP and critical hardware issue
| colspan="2" style="background:LightYellow; text-align:center;" | WIP
| The keyboard add-on compatibility is work-in-progress. '''Hardware issue: USB-C port of the phone must not be used while the current keyboard revision is connected'''<sup>[[PinePhone_(Pro)_Keyboard#Safety|Warning]]</sup>; Top row symbols not implemented as designed<sup>[Citation]</sup>; Keyboard hot-plugging not supported<sup>[Citation]</sup>; Battery state not exposed in the pre-flashed operating system state<sup>[Citation]</sup>; general driver bugs<sup>[Citation]</sup>
| The keyboard add-on compatibility is work-in-progress.
|-
|-
| <code>LoRa Add-on</code>
| <code>LoRa Add-on</code>
Line 147: Line 138:
|-
|-
| <code>Spare parts</code>
| <code>Spare parts</code>
| colspan="2" style="background:lightcoral; text-align:center;" | Not available yet
| colspan="2" style="background:LightYellow; text-align:center;" | Partial
| Spare parts currently not available yet in the store.<sup>[https://pine64.com/product-category/smartphone-spare-parts/ Store]</sup>
| Some spare parts now available in the store.<sup>[https://pine64.com/product-category/pinephonepro-spare-parts/ Store]</sup>
|-
|-
! scope="row" rowspan="1" | Software notes
! scope="row" rowspan="1" | Software notes
| <code>Waydroid</code>
| <code>Waydroid</code>
| colspan="2" style="background:LightYellow; text-align:center;" | Software rendering only
| colspan="2" style="background:LightGreen; text-align:center;" | Working
| Waydroid is an Android container used to run Android applications. Currently can only be started using software rendering due to a bug<sup>[https://github.com/waydroid/waydroid/issues/291 Report]</sup><sup>[https://gitlab.freedesktop.org/mesa/mesa/-/issues/5928 Report]</sup>
| Waydroid is an Android container used to run Android applications.
|-
|-
|}
|}
Line 160: Line 151:


² Status of the features with an up-to-date reference image
² Status of the features with an up-to-date reference image
[[Category:PinePhone Pro]]

Latest revision as of 07:48, 9 October 2023

Presently the PinePhone Pro Explorer Edition is aimed at Linux developers with an extensive knowledge of embedded systems and/or experience with mobile Linux. It will take time for all the PinePhone Pro’s functionality to reach software parity with the original PinePhone and for mobile operating systems, in more general, to reach a higher degree of maturity.

Bear in mind that the software for these smartphones is still in a very early stage, with most of the software being in alpha or beta state. That's especially also the case for scalability of applications, their availability and practicability, any hardware function implementations and the firmware. The software is provided as is. There is no warranty for the software, not even for merchantability or fitness for a particular purpose.

The following table lists the feature functionality status of the unaltered pre-installed factory image of the current shipping batch and as comparison an up-to-date reference image (no responsibility is accepted for the accuracy of this information, the list is provided and updated by the community). If you have any questions regarding the current state of the software or of specific features working, please don't hesitate to ask in the community chat before buying the device:

The software is written by the community, any contributions towards the community projects are greatly appreciated! Please see "How to Contribute" to learn about how to contribute to the software projects and "Where to Report Bugs" to learn about where to report bugs.
Functionality Component Status (factory)¹ Status (updated)² Notes
Bootloader Bootloader Critical bugs Some critical software bugs currently not fixed yet: A drained battery causes U-Boot to bootloop (cause is known and currently being worked on);Workaround Occasionally the eMMC fails to initializeReport. Note: Tow-Boot is now pre-installed on the SPI from the factory - issues need verification to be issues with Tow-Boot.
SPI Implemented Devices bought after end of July 2022 come with Tow-Boot flashed to the SPI memory, making it considerably easier to flash the device and boot from microSD card.
Boot GUI Not implemented Currently there is no graphical boot selection implementedPossibly planned
Operating System Stability WIP
Suspend Experimental Audio is often higher pitched after waking up from suspend due to a bug, make sure to update your systemReportReport
Updates WIP The pre-flashed and outdated operating system on the eMMC often gets corrupted after updatingExample; Pacman database lock preventing updatesSolution; Keyring bug[Solution is to run "pinephonepro-post-install" script as root]
Modem General WIP Alternative firmware; Slow wakeupReport; Some carriers blocking specific TANs in their networkPinePhone Carrier Support; Note: Proprietary firmware
Phone WIP The modem connection crashes frequently, which can lead to missed callsReportAlternative firmware; Slow wakeupReport; bad call audio qualityReport; Audio is often higher pitched after waking up from suspend due to a bugReportReport
SMS Working SMS functionality is expected to work. In certain cases the functionality might be blocked by a clogged modemReport; Some bugs
MMS WIP MMS functionality is integrated into the application "Spacebar", some bugs remaining and expected
Push notifications Not implemented Receiving push notifications while the phone is suspended is not implemented
Components LCD WIP Hardware issueDetails
Touch Working
Rear camera Not working WIP Camera work-in-progress with DTS fix[Citation]; userspace still needs to do some catching updebugging article; Green image tint[Citation]
Front camera Not working WIP Camera work-in-progress with DTS fix[Citation]; userspace still needs to do some catching updebugging article; Green image tint[Citation]
Camera flash Critical issues Hardware issueDetails; Note: /sys/class/leds/white:flash
WiFi Working WiFi is expected to work. The firmware does not support monitor mode and package injection. Note: Proprietary firmware
Bluetooth WIP Bluetooth not necessarily working for calls yet due to missing audio routing[Citation]; Bluetooth in general dodgy under Pulseaudio.Info Note: Proprietary firmware
GNSS/GPS WIP aGPS to be implementedSee original PinePhone article; long loading times to get a GPS fix[Citation]; No preinstalled application[Citation]
Sensors WIP "Geo Magnetic Sensor" (af8133j): Status unknown (at /sys/bus/i2c/devices/4-001c/iio:device1)

"Accelerometer / Gyroscope" (mpu6500): Working (at /sys/bus/i2c/devices/4-0068/iio:device2)
"Ambient light / Proximity" (stk3311): Working after updating

Vibration motor Working
Notification LED Working
Buttons Working Power buttons and volume buttons are working.
Accessory compatibility, spare parts Keyboard Add-on WIP The keyboard add-on compatibility is work-in-progress.
LoRa Add-on Not implemented No software support implemented
Qi Wireless Charging Add-on WIP Wireless charging with the add-on case is expected to work to some degree. Certain software functionality and a driver is currently missing[Citation]
Fingerprint Reader Add-on Not implemented No software support implemented
Spare parts Partial Some spare parts now available in the store.Store
Software notes Waydroid Working Waydroid is an Android container used to run Android applications.

¹ Status of the features at the time of the last factory installation without updates

² Status of the features with an up-to-date reference image