ORB SLAM 3


You are viewing an older version of this document (Version 8). The latest is Version 21.

Last updated: 1 day ago • 21 versions | Visibility: Public

Context

This article describes how to use the Lynx ORB Slam implementation optimized for compatible Qualcomm chipsets.
This version uses custom Qualcomm Hardware Accelerators for improved performance and requires to have a rooted device.
 

Prerequisites

Important(TODO): rooting the device is not a procedure made by Lynx and take no responsabilities to the damage caused to the device.
 → Even if the process has been successfully reproduced by the Lynx team, we do not held any responsability about the potential damages you could cause to your device because of root access.

Project setup (user build)

First, clone the project and submodules : (TODO INSERT REPO)

git clone  && cd LynxOrbSlam3 && git submodule update --init --recursive

Prepare the headset

Root the device

  1. Install QFIL and QUD, and download the Lynx Firmware in the “Step 0” section : QFIL Flash Process
  2. Follow the documentation (QFIL build, "RESTORE YOUR LYNX-R1 WITH QFIL", all steps) after backing up your device
  3. Install Magisk: Magisk releases
    1. Download the apk
    2. Install it with : adb install -g [your_magisk_apk].apk
    3. Launch Magisk from the launcher
  4. Patch boot.img:
    1. Push boot.img to /sdcard/
    2. Inside the magisk app, click on Install in the main window, Select and patch a file
    3. Your device should goes into 2D Display mode, if this is the case, use scrcpy to navigate
    4. Once in the file selection, go on the left side menu, and select Lynx-R1 to access the file.
    5. Then finally, click on boot.img (you may need to click it twice) and patch it.
    6. Pull the patched file back to your computer, the output path is displayed by Magisk
      (e.g. adb pull /storage/emulated/0/Download/ )
  5. Reflash the device:
    1. Rename boot.img in the QFIL build to boot_old.img
    2. Move magisk_patched-[…].img to the QFIL build folder and rename it to boot.img
    3. REDO Step 2
    4. [ADVANCED] (Alternatively) Flash only boot_a + boot_b partitions using the partion manager. 
  6. Reinstall Magisk (preferably with the -g option) : adb install -g [your_magisk_apk].apk
  7. In the Magisk app, finish setup by clicking on the prompt and waiting the device to reboot
  8. Enable shell su commands:
    1. Run adb shell
    2. Type su and accept the permission on the screen quickly
    3. (Note, if failed, you can enable the permission inside the magisk app in the superuser section)
    4. Type exit to return

Install Magisk OverlayFS

  1. Download the latest release of Magisk OverlayFS: magic_overlayfs
  2. Push the module to /sdcard/
    1. Example: adb push magisk-overlayfs-release_v3.2.2-fixed.zip /sdcard/
  3. In Magisk + scrcpy, install the module (select the file twice)
  4. Reboot the device

Patch the device and create a signature

  1. Verify Hexagon SDK is installed and HEXAGON_SDK_ROOT is set
    1. Example: C:\Qualcomm\Hexagon_SDK\5.5.5.0
  2. Go to the setup/folder and run prepareDeviceDemoApp.bat with cmd (not PowerShell)
  3. It should reboot at the end automatically

Install the Lynx Slam Magisk Module

  1. Push setup/LynxSlamModule.zip to /sdcard/
  2. Install it via Magisk (same as OverlayFS)
  3. Reboot the device
  4. Verify:
    1. The device should reboot multiple times without crashing
    2. Run:
      1. adb shell
      2. su
      3. getenforce → must return Permissive

 

Use

1. Install the app with -g option. 

adb install -g .apk

2. Start the application from the Lynx Launcher
 
Alternatively, add the -g flag to the install flags in Android Studio and run it.

Limitations


Internal note: 
in “Project Setup” section should be replaced with the final github repo.
“Project Setup” add eventual magisk module or requirements.