Xiaomi Mi 6 (xiaomi-sagit): Difference between revisions
No edit summary |
|||
Line 17: | Line 17: | ||
| status_usbnet = Y | | status_usbnet = Y | ||
| status_flashing = Y | | status_flashing = Y | ||
| status_touch = | | status_touch = Y | ||
| status_screen = Y | | status_screen = Y | ||
| status_wifi = | | status_wifi = |
Revision as of 07:03, 22 April 2020
![]() Xiaomi Mi 6 | |
Manufacturer | Xiaomi |
---|---|
Name | Mi 6 |
Codename | xiaomi-sagit |
Released | 2017 |
Hardware | |
Chipset | Qualcomm MSM8998 Snapdragon 835 |
CPU | Octa-core (4x 2.45GHz Kryo 280 + 4x 1.9GHz Kryo 280) |
GPU | Adreno 540 |
Display | 1920x1080 IPS LCD |
Storage | 64/128 GB |
Memory | 6 GB |
Architecture | aarch64 |
Software | |
Original software | Android 7.1.1 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | partial |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
No data |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
No data |
Audio |
No data |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
No data |
Bluetooth |
No data |
GPS |
No data |
NFC |
No data |
Modem | |
Calls |
No data |
SMS |
No data |
Mobile data |
No data |
Miscellaneous | |
FDE |
No data |
USB OTG |
Works |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
No data |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
Contributors
- Hacker420
- MayeulC
- Illen
Maintainer(s)
How to enter flash mode
- Power + Volume Down buttons or use TWRP reboot bootloader, or adb reboot bootloader
Installation
Use pmbootstrap flasher.
Virtual terminal
Virtual terminal is broken in downstream, causing early reboot without logs in pstore. This patch is needed to make virtual terminal working properly.
Input
Touchscreen works well on gnome. All the buttons except for home button (which is is integrated with fingerprint scanner) are working.
Display
Seems to work well. Currently only xfce4 and mate have been tested.
USB OTG
Tested USB Hub with ethernet adapter, USB Audio device, and HID peripherals. Everything works well.
Mainline kernel
Here's a list of stuff that is currently (Linux 5.6) known to be working (in at least some capacity):
- The kernel itself stays booted (i.e. no random panics) and is "stable"
- UFS internal storage (
CONFIG_PHY_QCOM_UFS=y
) - Display (via
simplefb
&CONFIG_FB_SIMPLE=y
) - Xorg & Wayland (tested with MATE & Weston respectively)
- Bluetooth (requires
crbtfw21.tlv
andcrnv21.bin
blobs from linux-firmware + ahciconfig hci0 up
in userspace) - Power button (in DTS)
Check the links below for source code.
Building
It's easiest to build mainline (for pmOS anyway) with pmbootstrap, so get that setup and remember the install location (in this guide ~/pmOS/pmbootstrap
is an example).
After you've run through the installation steps found on this site at least once please pmbootstrap extract
& save the produced downstream boot.img
to a known location as we'll reuse the initramfs found inside later.
Next start following the instructions below:
git clone https://github.com/degdag/mi6-mainline.git cd mi6-mainline/ source ~/pmOS/pmbootstrap/helpers/envkernel.sh # adjust to match where you've cloned PMB yourself make defconfig make -j`nproc`
Boot image generation
Now that the kernel image and DTBs have been built we can assemble a bootable Android-friendly boot.img (assuming you're still in the root of the cloned kernel dir):
pmbootstrap chroot -- apk add abootimg android-tools mkbootimg dtbtool export DEVICE=`pmbootstrap config device | cut -d'-' -f2` WORK=`pmbootstrap config work` PMOS_BOOT_IMG_PATH="~/pmOS/downstream-boot.img" export TEMP="$WORK/chroot_native/tmp/mainline/" DTB="$PWD/.output/arch/arm64/boot/dts/qcom/msm8998-$DEVICE.dtb" rm -r "$TEMP"; mkdir -p "$TEMP" cat .output/arch/arm64/boot/Image.gz "$DTB" > "$TEMP/Image.gz-dtb" cp "$PMOS_BOOT_IMG_PATH" "$TEMP/boot.img" # replace "$PMOS_BOOT_IMG_PATH" with the known location of a pmOS downstream boot.img pmbootstrap chroot -- abootimg -u /tmp/mainline/boot.img -k /tmp/mainline/Image.gz-dtb -c "bootsize=67108864"
At this point you get to choose whether to boot
the new kernel image or more "permanently" flash
it on the device's boot partition instead ^^
Boot: pmbootstrap chroot -- fastboot boot /tmp/mainline/boot.img
Flash: pmbootstrap chroot -- fastboot flash boot /tmp/mainline/boot.img
See also