About
wtfos is a community framework for modifying the firmware of DJI FPV Goggles and Air Units enabled by margerine.
It includes anti-bricking measures, a configurator, a package manager, a service manager and a vendor service modification framework.
You can support the project on Open Collective and join us on our Discord.
Video Guide
See Mad's Tech's getting started guide.
Compatability
Goggles V2
wtfos-configurator only supports rooting on the V01.00.0606 firmware. This firmware version must be displayed in the DJI FPV mode, DJI Digital FPV system a.k.a. DIY mode menus can lie about the actual installed firmware version.
If on any other version or in doubt please use butter to downgrade first.
All other Devices
wtfos-configurator supports rooting on V01.00.0606 or V01.00.0608 firmware. It is compatible with:
- DJI Air Unit
- DJI Air Unit Lite a.k.a. Caddx Vista a.k.a. Runcam Link
- DJI FPV Goggles V1
O3 Devices
There are currently no plans to support the O3 Air Unit, Goggles 2 or Goggles Integra.
Setup and usage
Use the configurator to root your device, install wtfos and manage community provided packages.
Built In Features
Brick prevention
To offer some degree of protection against messing things up, wtfos-system makes a copy of your system partition and mounts it over the real one early during startup.
You can skip this and other wtfos loading procedures by holding down the bind button on your device during bootups and waiting to hear 3 short beeps from the buzzer for confirmation.
Then your device should be booted with any modifications skipped at startup to the original system partition and you should once again have access to the device via ADB.
OPKG package management
The opkg package manager is available with fpv-wtf/opkg-repo added as a source.
Everything is installed in /opt/
(which is a symlink to /blackbox/wtfos/opt/
) which is added your your path automatically by the scripts in /blackbox/wtfos/mkshrc.d/
.
The easiest way to browse and manage packages is via the the configurator.
Advanced usage
For command line usage instructions see the opkg wiki page for using the opkg
command in the cli.
Service management
Use dinit which is available in the repository for advanced service management with dependencies, enabling/disabling of units and more.
Users can manage services with the configurator or the dinitctl
command in the cli.
Packages wishing to use dinit should depend on it and install their unit in /opt/etc/dinit.d/.
Uninstalling
Should you wish to return to the plain adb root hack, use the configurator to uninstall wtfos.
To also remove adb access and restore compatibility with the Assistant on all the V1 gear run the following in the shell:
wtfos-remove-adb
reboot
V2 Goggles do not require removal of adb to work with Assistant.
I need help
Hop on our Discord.
Developers
For a guide on the basics of wtfos packaging see D3VL's blog post. For native development use the Android NDK to build binaries with a target of android-23 and platform of armeabi-v7a.
Check out the wtfos wiki and the following repos:
- https://github.com/stylesuxx/ipk-example
- https://github.com/fpv-wtf/opkg-repo
- https://github.com/bri3d/msp-osd
- https://github.com/fpv-wtf/dfbdoom
- https://github.com/fpv-wtf/wtfos-modloader
- https://github.com/funneld/djifpv_enable_live_audio
Support the effort
If you'd like, you can support the project on Open Collective, send some ETH to 0xbAB1fec80922328F27De6E2F1CDBC2F322397637
or BTC to 3L7dE5EHtyd2b1tXBwdnWC2MADkV2VTbrq
.
Credits
Based on the margerine root method. Please blame: