Lynx R1 (lynx-r1)
Appearance
. . | |
Manufacturer | Lynx |
---|---|
Name | R1 |
Codename | lynx-r1 |
Released | 2023 |
Type | headset |
Hardware | |
Chipset | Qualcomm Snapdragon XR2 (SM8250) |
CPU | Octa-core (1x2.84 GHz Cortex-A77 & 3x2.42 GHz Cortex-A77 & 4x1.80 GHz Cortex-A55) |
GPU | Adreno 650 |
Display | 3200x1600 (1600x1600 per eye) |
Storage | 128 GB UFS 3.1 |
Memory | 6 GB LPDDR5 |
Architecture | aarch64 |
Software | |
Original software | Android |
Original version | 12 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | no |
Flashing |
No data |
---|---|
USB Networking |
No data |
Internal storage |
No data |
SD card |
No data |
Battery |
No data |
Screen |
No data |
Touchscreen |
No data |
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 |
No data |
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
- User:Medusa (elly)
Users owning this device
Table of hardware
Component | Model | Notes | |
---|---|---|---|
SoC | Qualcomm SM8250 Snapdragon XR2 | ||
UFS | WDC SDINFDK4-128G | WD iNAND MC EU521, 128GB UFS 3.1 | |
SD reader | ? | There's a slot on the left side of the device | |
Displays | JDI/BOE LPM021M528C | Unsure how they're connected yet, waiting for vendor sources | |
Wi-Fi | Qualcomm QCA6390 | PCI-E | |
IR Cameras | OmniVision OV9282 (x2) | ||
Passtrough cameras | OmniVision OV4689 (x2) | ||
Magnetometer | Bosch BMM150 | ||
Accel/gyro | TDK ICM4X6XX |
Partition layout
ALIGN_TO_128K_1 -> /dev/block/sdd1 ALIGN_TO_128K_2 -> /dev/block/sdf1 abl_a -> /dev/block/sde8 abl_b -> /dev/block/sde31 aop_a -> /dev/block/sde1 aop_b -> /dev/block/sde24 apdp -> /dev/block/sde49 bluetooth_a -> /dev/block/sde5 bluetooth_b -> /dev/block/sde28 boot_a -> /dev/block/sde11 boot_b -> /dev/block/sde34 cdt -> /dev/block/sdd2 cmnlib64_a -> /dev/block/sde13 cmnlib64_b -> /dev/block/sde36 cmnlib_a -> /dev/block/sde12 cmnlib_b -> /dev/block/sde35 ddr -> /dev/block/sdd3 devcfg_a -> /dev/block/sde14 devcfg_b -> /dev/block/sde37 devinfo -> /dev/block/sde47 dip -> /dev/block/sde48 dsp_a -> /dev/block/sde9 dsp_b -> /dev/block/sde32 dtbo_a -> /dev/block/sde17 dtbo_b -> /dev/block/sde40 featenabler_a -> /dev/block/sde22 featenabler_b -> /dev/block/sde45 frp -> /dev/block/sda5 fsc -> /dev/block/sdf5 fsg -> /dev/block/sdf4 hyp_a -> /dev/block/sde3 hyp_b -> /dev/block/sde26 imagefv_a -> /dev/block/sde23 imagefv_b -> /dev/block/sde46 keymaster_a -> /dev/block/sde10 keymaster_b -> /dev/block/sde33 keystore -> /dev/block/sda4 limits -> /dev/block/sde52 limits-cdsp -> /dev/block/sde53 logdump -> /dev/block/sde55 logfs -> /dev/block/sde54 mdm1m9kefs1 -> /dev/block/sdf7 mdm1m9kefs2 -> /dev/block/sdf8 mdm1m9kefs3 -> /dev/block/sdf6 mdm1m9kefsc -> /dev/block/sdf9 mdmddr -> /dev/block/sdd4 mdtp_a -> /dev/block/sde7 mdtp_b -> /dev/block/sde30 mdtpsecapp_a -> /dev/block/sde6 mdtpsecapp_b -> /dev/block/sde29 metadata -> /dev/block/sda11 misc -> /dev/block/sda3 modem_a -> /dev/block/sde4 modem_b -> /dev/block/sde27 modemst1 -> /dev/block/sdf2 modemst2 -> /dev/block/sdf3 msadp -> /dev/block/sde50 multiimgoem_a -> /dev/block/sde19 multiimgoem_b -> /dev/block/sde42 multiimgqti_a -> /dev/block/sde20 multiimgqti_b -> /dev/block/sde43 persist -> /dev/block/sda2 qupfw_a -> /dev/block/sde15 qupfw_b -> /dev/block/sde38 rawdump -> /dev/block/sda14 recovery_a -> /dev/block/sda7 recovery_b -> /dev/block/sda8 sda -> /dev/block/sda sdb -> /dev/block/sdb sdc -> /dev/block/sdc sdd -> /dev/block/sdd sde -> /dev/block/sde sdf -> /dev/block/sdf secdata -> /dev/block/sde58 spunvm -> /dev/block/sde51 ssd -> /dev/block/sda1 storsec -> /dev/block/sde56 super -> /dev/block/sda6 tz_a -> /dev/block/sde2 tz_b -> /dev/block/sde25 uefisecapp_a -> /dev/block/sde18 uefisecapp_b -> /dev/block/sde41 uefivarstore -> /dev/block/sde57 userdata -> /dev/block/sda15 vbmeta_a -> /dev/block/sde16 vbmeta_b -> /dev/block/sde39 vbmeta_system_a -> /dev/block/sda9 vbmeta_system_b -> /dev/block/sda10 vm-data -> /dev/block/sde60 vm-keystore -> /dev/block/sde59 vm-linux_a -> /dev/block/sde21 vm-linux_b -> /dev/block/sde44 vm-system_a -> /dev/block/sda12 vm-system_b -> /dev/block/sda13 xbl_a -> /dev/block/sdb1 xbl_b -> /dev/block/sdc1 xbl_config_a -> /dev/block/sdb2 xbl_config_b -> /dev/block/sdc2
Rooting, running ADB as root
- Download stock firmware from https://portal.lynx-r.com/downloads/firmware/lynx-r-1/
- Download OTA extractor from https://github.com/StevenDoesStuffs/android-ota-extractor
- Download Magisk from https://github.com/topjohnwu/Magisk/releases
- Download/build https://github.com/tiann/adb_root
---
- Install Magisk on the headset using ADB, copy boot.img to internal storage and patch it.
- Download patched boot.img
- Flash it using Qualcomm EDL mode
- After flashing it, copy adb_root Magisk module to internal storage and install it.
- You may use ADB as root now (to dump partitions etc). This module breaks scrcpy.
Flashing
- Download firmware package from Lynx: https://portal.lynx-r.com/api/public/ota/firmware/download/latest-qfil
- Download/build QDL tool: https://github.com/linux-msm/qdl
- Reboot to EDL using `adb reboot edl`
- Flash the headset using the following command:
./qdl --storage ufs --include ./ ./prog_firehose_ddr.elf ./rawprogram0.xml ./patch0.xml ./rawprogram1.xml ./patch1.xml ./rawprogram2.xml ./patch2.xml ./rawprogram3.xml ./patch3.xml ./rawprogram4.xml ./patch4.xml ./rawprogram5.xml ./patch5.xml ./rawprogram_unsparse0_fullupgrade.xml
- Reboot the device by holding the power button for ~15 seconds.