Dopamine Jailbreak is the latest publicly available jailbreak tool for modern devices (I exclude PaleRa1n as it only works on iPhone X and older). Dopamine Jailbreak supports all modern devices (A12+) on iOS 15.0 up to iOS 15.4.1.
In particular, the tool’s compatibility with TrollStore’s perma-signing capabilities which makes it a semi-untethered user experience, along with the jailbreak support for A12-A15 devices running iOS & iPadOS 15.0-15.4.1, made the tool a very popular choice which led even XinaA15 jailbreak users to update to Dopamine.
However, the jailbreak itself, while relatively stable and well-made, is still plagued by various bugs, especially a particularly nasty bug that causes random reboots for some users.
Dopamine Jailbreak v1.1 and the random reboots issue
Last week, Dopamine jailbreak developer, Lars Fröder (opa334) released a new version of the jailbreak (v1.1) which brings a lot of improvements, new features, and bug fixes to the already popular jailbreak utility.
However, it appears that according to a Twitter poll run by opa334, about 50% of the users believe the previous version was more stable and v1.1 has introduced some unexpected bugs.
Let's get some accurate numbers, which one is more stable? (Only referring to random reboots)
— opa334 (@opa334dev) June 22, 2023
It appears that developer opa334 cannot reproduce the issue affecting some of the v1.1 users which makes it so much harder to fix. It could be that the issues are not related to Dopamine Jailbreak at all, and rather to the tweak injection platform, ElleKit used in the jailbreak.
Initially, developer opa334 believed that this issue could have been related to PPLRW-by-writing-to-page-table, however, the developer later backtracked as they were not sure this could indeed be the cause of the random reboots. It is indeed a complicated issue and not being able to reproduce it on their test device makes it so much harder to address.
Yeah apparently 1.1 increased the number of random reboots, I tried very hard to fight this but ultimately couldn't get it working. The PPLRW-by-writing-to-page-table solution is just way too hacky and proun to fail. I will look into other options but it will take a while.
— opa334 (@opa334dev) June 16, 2023
How can you help opa334 fix Dopamine Jailbreak?
If you are one of the affected users, you can help fix the jailbreak by contacting opa334 on Twitter and telling them about this. It helps to have ready a list of installed packages (tweaks), and if you can provide logs (panic logs, etc.) from the device that’s even better.
Additionally, you can open a GitHub issue under the official Dopamine Jailbreak repo. This way opa334 can keep track of the reports in a single place and you can easily drop your logs there as well.
Dopamine Jailbreak v1.1 Changelog
Here’s the complete changelog for v1.1 of Dopamine Jailbreak which is now available on GitHub:
- Improve PPLRW performance by a factor of ~1000x
- Fix all remaining forkfix issues, now works completely reliable, fork is also way faster now thanks to the PPLRW improvements mentioned above
- Fix some race conditions with kcall and PPLRW
- Add a watchdogd hook that intercepts userspace panics due to watchdog timeouts and instead disables tweak injection and triggers a userspace reboot (demo video: https://twitter.com/opa334dev/status/1669067846008143872)
- Add a ptrace hook that unconditionally allows debugging processes (via debugserver or other tools), even when tweak injection has been disabled
- Refactor iDownload and put it in it’s own daemon, this now works through userspace reboots and the daemon can be enabled / disabled in real time in the Dopamine app, also fixes deep sleep panic when iDownload is enabled
- Fix “opainject not found” error that could happen under rare circumstances when rejailbreaking
- Refactor systemhook to make it more maintainable in the future
/usr/lib/sandbox.plistin favor of storing sandbox extensions in the environment of spawned processes, improves security
JB_ROOT_PATHenvironment variable that gets injected into all processes that have tweaks enabled, there have been some talks in making the
/var/jbsymlink optional in the future to better protect against jailbreak detections. If that actually materializes, this environment variable will be the way to know where the rootless jailbreak root directory is.
- Fix jbctl not setting debugged flags correctly (Thanks to @XsF1re)
- Disable tweak injection into the Dopamine app itself as some jailbreak detection tweaks were blocking it’s ability to check whether the device is jailbroken
- Stop using installed ellekit dylib for launchd hook, should prevent the jailbreak from fully breaking when a broken ellekit build is installed
- Fix libKRW kalloc / kfree not working correctly due to mismatching signatures
- Enable several compiler optimizations for base binaries
- Add a mechanism where xina symlinks (e.g.
/var/LIY) will not be automatically removed on rejailbreak if the file
- Improve Wi-Fi disabling code to make a better effort at preserving the Wi-Fi state before the jailbreak attempt (Thanks to @singlekeycap for the suggestion)
- Several localizations have been updated
Other guides from iDevice Central
- How to Download & Install iOS 17 or iPadOS 17 Developer Beta for free on iPhone or iPad
- A Comprehensive Guide to Fixing Common iOS Jailbreak Issues on iOS 14 – iOS 16
- iOS 17 Release Date, Compatibility and Confirmed Features from WWDC23
- Dopamine Jailbreak (Fugu15 Max) Release Is Coming Soon for iOS 15.0 – 15.4.1 A12+
- Cowabunga Lite For iOS 16.2 – 16.4 Released in Beta! Install Tweaks and Themes Without Jailbreak
- iOS 14.0 – 16.1.2 – All MacDirtyCow Tools IPA Downloads
- iOS Jailbreak Downloads – Download Jailbreak Tools for All iOS Versions