| 中文 | English |
RKDevelopTool GUI is a graphical front-end for Rockchip’s rkdeveloptool, for Linux and macOS. It flashes firmware to Rockchip boards, manages their partitions and recovers them from Maskrom, without the command line. The prebuilt packages include rkdeveloptool.
GitHub: https://github.com/gahingwoo/RKDevelopTool-GUI

Flashing
update.img (RKFW, including images over 4 GiB), a raw disk image, or a compressed .img.xz, .img.gz or .img.bz2, which is decompressed first.update.img brings its own Loader. For other images in Maskrom mode, the app offers to load yours and picks the right way to do it.When something goes wrong
Everything else
| Check before writing | Settings |
|---|---|
![]() |
![]() |
curl -fsSL https://raw.githubusercontent.com/gahingwoo/RKDevelopTool-GUI/main/install.sh | sh
It picks the right package for your system, checks it against the SHA-256 checksum GitHub publishes, and installs it:
/Applications (no “cannot be opened” prompt this way)..deb or .rpm through apt, dnf or
zypper (asks for your password); it includes the udev rule, so the board
shows up without sudo.PACKAGE=appimage: the AppImage into ~/.local/bin
with a menu entry, no root needed.Read the script first if you like.
Prebuilt packages are attached to every GitHub Release.
They bundle rkdeveloptool, so there is nothing else to install.
| Platform | File |
|---|---|
| macOS (Apple Silicon) | RKDevelopTool-GUI-arm64.dmg |
| macOS (Intel) | RKDevelopTool-GUI-x86_64.dmg |
| Linux (portable, x86_64 / arm64) | RKDevelopTool-GUI-*-x86_64.AppImage / *-aarch64.AppImage |
| Debian/Ubuntu (amd64 / arm64) | rkdeveloptool-gui_*.deb |
| Fedora/openSUSE (x86_64 / aarch64) | rkdeveloptool-gui-*.rpm |
To update, click “Check for updates” in the bottom-right corner. The app also checks by itself at most once a day: one request to the GitHub Releases API, and nothing else is sent. You can turn that off in Settings.
macOS, first launch from the DMG: the app isn’t notarized yet, so macOS says it can’t be opened. On macOS 15 (Sequoia) and later, open System Settings → Privacy & Security, scroll down and click Open Anyway (right-click → Open no longer gets past this). On older versions, right-click the app → Open → Open. Or run
xattr -cr /Applications/RKDevelopTool-GUI.app. This is only needed once: the app’s own updates don’t trigger it.
Without a udev rule only root can open a Rockchip device, and the board won’t
show up. The .deb and .rpm packages install the rule, so the logged-in user
has access straight away. With the AppImage or pip, the app notices when the
board is there but can’t be opened, and gives you a one-line command to
install the rule. You can also install it yourself:
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="2207", TAG+="uaccess"' | sudo tee /etc/udev/rules.d/70-rkdeveloptool-gui.rules
sudo udevadm control --reload-rules && sudo udevadm trigger
Then unplug and replug the board.
Install a standard Python wheel — this adds the rkdeveloptool-gui command to
your PATH. Unlike the prebuilt packages above, the wheel does not bundle
rkdeveloptool, so install that separately (see Running from source
for the requirements).
git clone https://github.com/gahingwoo/RKDevelopTool-GUI
cd RKDevelopTool-GUI
pip install .
rkdeveloptool-gui
Or build a redistributable wheel and install it anywhere:
pip install build
python -m build --wheel
pip install dist/rkdeveloptool_gui-*.whl
If you run from source instead of a prebuilt package, you need:
rkdeveloptool installed and on PATH — verify with rkdeveloptool --version
(installation instructions)git clone https://github.com/gahingwoo/RKDevelopTool-GUI
cd RKDevelopTool-GUI
pip install -r requirements.txt
python rkdevtoolgui.py
python build_nuitka.py
./rkdevtoolgui
Available in AUR:
yay -S rkdeveloptool-gui
Or through a community repository:
sudo pacman -S rkdeveloptool-gui
For the packaging status across more distributions, please refer to Repology
Alternatively, you can install it via a self-hosted package repository
update.img, a raw .img or a compressed
.img.xz all work.update.img (which brings its own Loader),
choose the Loader for your chip, for example rk3588_spl_loader_*.bin, and
load it when the app asks, or with Load Loader. If you don’t have one,
Get Loader for This Chip downloads the parts from rkbin and builds it.rkdeveloptool works with one connected board at a time, so the production line on the Advanced Tools tab takes boards one after another. Choose the image, click Start Line, then plug in boards in Maskrom mode one at a time. Each board gets its Loader (the one on the Firmware Download tab, or one built from rkbin), a size check, the write, an optional read-back and a reset. When the line says so, unplug it and plug in the next. Results are listed per board.
The Command field above the log shows the rkdeveloptool command behind
each button. You can type or edit a command there and run it with Enter, for
example ld, rci or ppt. Commands that write or erase ask first.
The Settings tab (Ctrl+, or ⌘,) has the style, theme, language and text size, the rkdeveloptool binary to use, a default Loader, where to decompress images, debug logging and the update check. The style, theme and language pickers are also in the status bar.
The app explains the most common rkdeveloptool errors: no device found, the device can’t be opened, the wrong Loader, a write that failed. Each comes with what to try, and rkdeveloptool’s own output is under Show Details. To report a problem, use Export diagnostics… in Settings and attach the file to an issue.
This software is a graphical wrapper around rkdeveloptool. Firmware flashing is inherently risky and may result in device bricking or data loss if not performed correctly.
Before using this tool:
The author is not responsible for any device damage, data loss, or other consequences resulting from the use of this software.
Contributions are welcome. Please feel free to submit issues or pull requests.
See LICENSE file for details.
For issues, questions, or feature requests, please visit: https://github.com/gahingwoo/RKDevelopTool-GUI/issues