Jump to content

Sony Xperia Z3 (sony-leo): Difference between revisions

From postmarketOS Wiki
Audunmg (talk | contribs)
No edit summary
Halamix2 (talk | contribs)
mNo edit summary
 
(18 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{Infobox device
{{Infobox device
| manufacturer = Sony
| manufacturer = Sony
| name = Xperia Z3
| name = Xperia Z3
| codename = sony-leo
| codename = sony-leo
| image = File:sony-leo.jpg
| image = File:sony-leo.jpg
| imagecaption = no image yet
| releaseyear = 2014
| releaseyear = 2014
| originalsoftware = Android 4.4.4 on Linux 3.10
| originalsoftware = Android
| chipset = Qualcomm MSM8974AC Snapdragon 801
| originalversion = 4.4.4 on Linux 3.10
| chipset = Qualcomm Snapdragon 801 (MSM8974AC)
| cpu = Quad-core 2.5 GHz Krait 400
| cpu = Quad-core 2.5 GHz Krait 400
| gpu = Adreno 330
| gpu = Adreno 330
| storage = 16GB
| storage = 16 GB
| display = 1080x1920 IPS
| display = 1080x1920 IPS
| memory = 2GB
| memory = 2 GB
| architecture = armhf
| architecture = armv7
| 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 = Y
| status_usbnet = Y
| status_flashing = <!-- 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_touch = N<!-- Touch screen is working? You can also answer these questions with P for partially. -->
| status_screen = <!-- The display is working? -->
| status_screen = N<!-- The display is working? -->
| status_wifi = <!-- Wireless network works? -->
| status_wifi = Y<!-- Wireless network works? -->
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
| status_xwayland = N<!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
| status_mainline = <!-- Instead of a Linux kernel fork, it is possible to run mainline. -->
| status_mainline = Y<!-- Instead of a Linux kernel fork, it is possible to run mainline. -->
| status_battery = <!-- Charging the battery with charging-sdl is possible -->
| status_battery = <!-- Charging the battery with charging-sdl is possible -->
| status_3d = <!-- Hardware accelerated 3D graphics (e.g. with freedreno) -->
| status_3d = N<!-- 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 = N<!-- 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 = N<!-- 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 = N<!-- The Global Positioning System sensor works.  -->
| status_mobiledata = <!-- Connecting to the Internet via cellular network. -->
| status_mobiledata = N<!-- Connecting to the Internet via cellular network. -->
| status_sms = <!-- Sending and receiving short messages works as intended. -->
| status_sms = N<!-- Sending and receiving short messages works as intended. -->
| status_calls = <!-- Talking to other people over the cellular network. -->
| status_calls = N<!-- Talking to other people over the cellular network. -->
| status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" -->
| status = N<!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" -->
| booting = yes <!-- The device is booting at all, can be yes/no *IMPORTANT* -->
| booting = yes <!-- The device is booting at all, can be yes/no *IMPORTANT* -->
 
| status_otg = Y
| pmoskernel = 3.4.113
<!-- 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
| n-android =  ✔
Version of the kernel that pmos is running
| pmoskernel = 3.10.11
see Unixbench page on wiki
see Unixbench page on wiki
| whet_dhry = 0.0
| whet_dhry = 0.0
Is OTG available, not used in wiki
| status_otg = y
-->
-->
}}
}}


== Contributors ==
== Contributors ==
* audunmg (put your username here!)
* [[User:Adelahmed|Adelahmed]]
* [[User:Audunmg|Audunmg]]
* (and all the Z3C people since i copy a lot from their efforts)
* (and all the Z3C people since i copy a lot from their efforts)


Line 58: Line 55:
== Users owning this device ==
== Users owning this device ==
{{Device owners}}
{{Device owners}}
<!-- autogenerated, use {{Owns device|devicepage|notes}} on your profile page -->
 
<!-- use _ instead of spaces in device page name, e.g. {{Owns device|HTC_Desire_(htc-bravo)|custom notes}}-->
 
<!-- you may need to purge page cache to see changes (more->purge cache)-->
<!-- you can use {{My devices}} on your profile page to show table with all your devices -->


== What works ==
== What works ==


* Compiling the kernel
* Compiling the mainline kernel
* SSH into device
* SSH into device
* Boot logo (loading)
* wifi
* Sometimes weston loads with all red screen.
* OTG


== What doesn't ==
== What doesn't ==


* Everything else
* Battery status
* screen


== How to enter flash mode ==
== How to enter flash mode ==
Line 79: Line 75:


* Power off phone
* Power off phone
* Hold volume up and connect USB, wait for blue light
* Hold {{Button|Volume Up}} and connect USB, wait for blue light


== Installation ==
== Installation ==
<!-- add more sections below as necessary, e.g. WiFi, photos, ... -->
 
For installation you need to flash [[lk2nd]] and flash the rootfs. Do not flash the <code>boot</code> partition since lk2nd uses [https://github.com/msm8916-mainline/lk2nd/issues/113 fs-boot] functionality to boot the kernel from the <code>/boot</code> partition of the rootfs.
 
<syntaxhighlight lang="shell-session">
$ pmbootstrap flasher flash_lk2nd
$ pmbootstrap flasher flash_rootfs --partition userdata
</syntaxhighlight>
 
== Component support table ==
 
{| class="wikitable"
|-
! Component
! Codename
! Mainline kernel
|-
| Volume &amp; camera buttons
| gpio-keys
| Working
|-
| Power key
| pm8941-pwrkey
| -
|-
| Internal storage
| sdhci1
| Working
|-
| SD card storage
| sdhci2
| Working
|-
| Display 1
| novatek lgd
| Kind-of working
|-
| Touchscreen 1
| Synaptics RMI4
| Kind-of working
|-
| Vibration motor
| -
| -
|-
| Notification LED
| qpnp / lpg
| Working
|-
| Magnetometer
| AK09911
| -
|-
| Gyroscope &amp; Accelerometer
| BMA2X2
|
|-
| Proximity &amp; Light
| -
| -
|-
| WiFi
| BCM4339
| Working
|-
| Bluetooth
| BCM4339
| -
|-
| FM
| -
| -
|-
| GPU
| Adreno 330
| Working
|-
| Modem
|
|
|-
| Front Camera
| IMX132
| (appears to have a driver in mainline)
|-
| Rear Camera
| IMX200 / IMX 220 (not sure which it actually is)
|
|-
| NFC
| PN547
| -
|-
| Codec
| WCD9320
| -
|
|}
 
== Partition Layout ==
{| class="wikitable"
|-
! Partition Name !! Device File Path !! Mount Point in Android
|-
| TA || /dev/block/mmcblk0p1 ||
|-
| sbl1 || /dev/block/mmcblk0p2 ||
|-
| s1sbl || /dev/block/mmcblk0p3 ||
|-
| dbi || /dev/block/mmcblk0p4 ||
|-
| aboot || /dev/block/mmcblk0p5 ||
|-
| rpm || /dev/block/mmcblk0p6 ||
|-
| tz || /dev/block/mmcblk0p7 ||
|-
| alt_sbl1 || /dev/block/mmcblk0p8 ||
|-
| alt_s1sbl || /dev/block/mmcblk0p9 ||
|-
| alt_dbi || /dev/block/mmcblk0p10 ||
|-
| alt_aboot || /dev/block/mmcblk0p11 ||
|-
| alt_rpm || /dev/block/mmcblk0p12 ||
|-
| alt_tz || /dev/block/mmcblk0p13 ||
|-
| boot || /dev/block/mmcblk0p14 || /boot
|-
| ramdump || /dev/block/mmcblk0p15 ||
|-
| FOTAKernel || /dev/block/mmcblk0p16 || /recovery
|-
| DDR || /dev/block/mmcblk0p17 ||
|-
| LTALabel || /dev/block/mmcblk0p18 ||
|-
| modemst1 || /dev/block/mmcblk0p19 ||
|-
| modemst2 || /dev/block/mmcblk0p20 ||
|-
| fsg || /dev/block/mmcblk0p21 ||
|-
| apps_log || /dev/block/mmcblk0p22 || /misc
|-
| system || /dev/block/mmcblk0p23 || /system
|-
| cache || /dev/block/mmcblk0p24 || /cache
|-
| userdata || /dev/block/mmcblk0p25 || /data
|}


== See also ==
== See also ==
<!--
* {{MR|1190|pmaports}} Initial merge request
Link to related GitLab issues or merge requests like the following (replace CHANGEME with the ID, e.g. 1234):
* {{Device package|sony-leo}}
* {{MR|CHANGEME|pmaports}} Initial merge request
* {{Kernel package|sony-leo}}
* {{issue|CHANGEME|pmaports}} Some related issue
* [https://developer.sony.com/develop/open-devices/guides/access-uart-ports/] for how to access UART
You can also add normal web links:
* [https://redmine.replicant.us/projects/replicant/wiki/GalaxyS2I9100 Replicant wiki page]
-->
<!--
If you manage to get your device packages merged, uncomment links below and change DEVICE_CODENAME with the actual one.
* [https://gitlab.com/postmarketOS/pmaports/tree/master/device/device-DEVICE_CODENAME Device package]
* [https://gitlab.com/postmarketOS/pmaports/tree/master/device/linux-DEVICE_CODENAME Kernel package]
-->

Latest revision as of 11:35, 1 February 2025

Sony Xperia Z3
Manufacturer Sony
Name Xperia Z3
Codename sony-leo
Released 2014
Type handset
Hardware
Chipset Qualcomm Snapdragon 801 (MSM8974AC)
CPU Quad-core 2.5 GHz Krait 400
GPU Adreno 330
Display 1080x1920 IPS
Storage 16 GB
Memory 2 GB
Architecture armv7
Software
Original software Android
Original version 4.4.4 on Linux 3.10
postmarketOS
Category testing
Pre-built images no
Mainline yes
postmarketOS kernel 3.4.113
Features
Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
No data
Screen
Broken
Touchscreen
Broken
Multimedia
3D Acceleration
Broken
Audio
Broken
Camera
Broken
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
Broken
GPS
Broken
NFC
No data
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
No data
USB OTG
Works
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

  • Adelahmed
  • Audunmg
  • (and all the Z3C people since i copy a lot from their efforts)

Maintainer(s)

Users owning this device



What works

  • Compiling the mainline kernel
  • SSH into device
  • wifi
  • OTG

What doesn't

  • Battery status
  • screen

How to enter flash mode

This is using fastboot

  • Power off phone
  • Hold Volume Up and connect USB, wait for blue light

Installation

For installation you need to flash lk2nd and flash the rootfs. Do not flash the boot partition since lk2nd uses fs-boot functionality to boot the kernel from the /boot partition of the rootfs.

$ pmbootstrap flasher flash_lk2nd
$ pmbootstrap flasher flash_rootfs --partition userdata

Component support table

Component Codename Mainline kernel
Volume & camera buttons gpio-keys Working
Power key pm8941-pwrkey -
Internal storage sdhci1 Working
SD card storage sdhci2 Working
Display 1 novatek lgd Kind-of working
Touchscreen 1 Synaptics RMI4 Kind-of working
Vibration motor - -
Notification LED qpnp / lpg Working
Magnetometer AK09911 -
Gyroscope & Accelerometer BMA2X2
Proximity & Light - -
WiFi BCM4339 Working
Bluetooth BCM4339 -
FM - -
GPU Adreno 330 Working
Modem
Front Camera IMX132 (appears to have a driver in mainline)
Rear Camera IMX200 / IMX 220 (not sure which it actually is)
NFC PN547 -
Codec WCD9320 -

Partition Layout

Partition Name Device File Path Mount Point in Android
TA /dev/block/mmcblk0p1
sbl1 /dev/block/mmcblk0p2
s1sbl /dev/block/mmcblk0p3
dbi /dev/block/mmcblk0p4
aboot /dev/block/mmcblk0p5
rpm /dev/block/mmcblk0p6
tz /dev/block/mmcblk0p7
alt_sbl1 /dev/block/mmcblk0p8
alt_s1sbl /dev/block/mmcblk0p9
alt_dbi /dev/block/mmcblk0p10
alt_aboot /dev/block/mmcblk0p11
alt_rpm /dev/block/mmcblk0p12
alt_tz /dev/block/mmcblk0p13
boot /dev/block/mmcblk0p14 /boot
ramdump /dev/block/mmcblk0p15
FOTAKernel /dev/block/mmcblk0p16 /recovery
DDR /dev/block/mmcblk0p17
LTALabel /dev/block/mmcblk0p18
modemst1 /dev/block/mmcblk0p19
modemst2 /dev/block/mmcblk0p20
fsg /dev/block/mmcblk0p21
apps_log /dev/block/mmcblk0p22 /misc
system /dev/block/mmcblk0p23 /system
cache /dev/block/mmcblk0p24 /cache
userdata /dev/block/mmcblk0p25 /data

See also