Apple iPhone X (Global) (apple-d22)
| This device is supported as part of a generic port. Refer to Apple_Generic_iDevice_(apple-idevice) for installation instructions and more information. |
|
Apple iPhone X with xfce4 | |
| Manufacturer | Apple |
|---|---|
| Name | iPhone X (Global) |
| Codename | apple-d22 |
| Released | 2017 |
| Type | handset |
| Hardware | |
| Chipset | Apple A11 |
| CPU |
2x 2.376 GHz Monsoon 4x 1.68 GHz Mistral |
| GPU | Apple H10 (3 cores) |
| Display | 1125 x 2436 |
| Storage | 64, 256 GB |
| Memory | 3 GB |
| Architecture | aarch64 |
| Software | |
Original software The software and version the device was shipped with. |
iOS 11 |
Extended version The most recent supported version from the manufacturer. |
iOS |
| postmarketOS | |
| Category | testing |
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. |
7.0.4 |
| Generic port | Apple_Generic_iDevice_(apple-idevice) |
| Device package |
|
| Kernel package |
|
Flashing Whether 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 Whether charging and battery level reporting work. |
Partial
|
Screen Whether the display works; ideally with sleep mode and brightness control. |
Partial
|
Touchscreen |
Broken
|
| Multimedia | |
3D Acceleration |
Broken
|
Audio Audio playback, microphone, headset and buttons. |
Broken
|
Camera |
Broken
|
| Connectivity | |
WiFi |
Broken
|
Bluetooth |
Broken
|
GPS |
Broken
|
| Modem | |
Calls |
Broken
|
SMS |
Broken
|
Mobile data |
Broken
|
| Miscellaneous | |
FDE Full disk encryption and unlocking with unl0kr. |
Broken
|
USB OTG USB On-The-Go or USB-C Role switching. |
Broken
|
| Sensors | |
Accelerometer Handles automatic screen rotation in many interfaces. |
Broken
|
Apple iPhone X is the flagship smartphone from Apple in 2017.
Contributors
Users Owning This Device
- Alex92567 (Notes: Running IOS 16.3.1, Jailbroken)
- Asdfugil
- CyberTailor (Notes: iOS 16)
- Hazardchem (Notes: Main device since it makes phone calls)
- Kernel64
- Theotheroracle
How to Enter Flash Mode
libirecovery is required as Apple A11 cannot boot from DFU if entered with force reset.
1. Plug the device into your computer.
- Some lightning to USB-C cables will not work. Lightning to USB-A cables works fine and for USB-C only hosts, USB-A to USB-C adapters can be used.
2. Power off the device.
3. Enter recovery mode.
- Hold until Apple logo appears, then disappears.
- The Apple logo will then appear again soon after then the device goes into recovery mode.
3. Enter DFU mode.
- On the host, do
irecovery -c reset, which will reset the device. Feel free to add asleepcommand so you can perform the following step in time. - From the point of reset, hold and for 2 seconds.
- Release but keep holding for 8 seconds.
Internal Storage
Internal storage on iPhone X is Apple's ANS2 NVMe. It is similar to the one in M1 but with less quirks. Currently internal storage in Linux requires the firmware used to boot Linux to be at least iOS 14 due to RTKit protocol support limitation. There are multiple namespaces, the first one holds the main storage and the second one holds the bootloader.
Battery
Battery is managed by SMC firmware. Battery information works. Charging, is however hardcoded to draw 5V/1A.
Booting
Follow the guide from Apple Generic iDevice (apple-idevice)#Booting
Flashing
| WARNING: This is irreversible! While you can always revert to iOS using idevicerestore, you can only revert to a signed version, which is usually the latest version. |
| WARNING: Never modify any nvme namespace other than the first namespace. i.e. Only block devices with names starting with /dev/nvme0n1. The other namespaces contain information that cannot be recovered even with DFU restore. |
- After
setup_usb_storage /dev/nvme0n1in the postmarketOS initramfs, the device's internal storage will appears as a USB mass storage device on the host, from that point onddand the usual partitioning tools can be used.
See Also
- pmaports!6642 Initial merge request