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.
See Mad's Tech's getting started guide.
wtfos-configurator officially only supports rooting on V01.00.0606 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
- DJI FPV Goggles V2
On V2 Goggles you must flash V01.00.0606 from DIY mode a.k.a. DJI HD FPV System mode using assistant in order to be able to root. If you have anything other than V01.00.0606 shown when checked in DJI FPV Drone mode, the root will not work. Both modes must have V01.00.0606.
Following that, if you own and use the DJI FPV Drone, you may wish to use the free Dronehacks firmware flasher to upgrade to V01.02.0001 obtained from Dank Drone Downloader for best compatibility prior to installing wtfos. If you upgrade at a later time, simply re-install wtfos.
Use the configurator to root your device, install wtfos and manage community provided packages.
Some of the available packages include:
- msp-osd for full OSD
- enable_live_audio to enable live audio playback from an Air Unit
- auto-record to start recording automatically as soon as an air unit is connected
- tweak-prevent-force-upgrade resets any forced upgrade statues (caused by connecting to the Fly app in FPV Drone mode) on startup
See the configurator for a full and up to date listing.
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.
The opkg package manager is available with fpv-wtf/opkg-repo and Entware added as sources.
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.
For command line usage instructions see the opkg wiki page for using the opkg command in the cli.
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/.
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.
Hop on our Discord.
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
If you'd like, you can support the project on Open Collective, send some ETH to 0xbAB1fec80922328F27De6E2F1CDBC2F322397637 or BTC to 3L7dE5EHtyd2b1tXBwdnWC2MADkV2VTbrq.
Based on the margerine root method. Please blame: