Repository navigation
Releases
v0.2.4-debug: black level fix for Mali (vertex input types)
Debug build for Mali / PowerVR / Xclipse phones. Snapdragon (Adreno) users don't need it: nothing changes there.
Fix for the black level on Mali (0.2.3-debug logs, Mali-G57). Many D3 vertex shaders read integer vertex data (UVs of the full-screen passes, mesh attributes) through inputs declared as float. Adreno passes the bits through unchanged; Mali converts the value, so every full-screen pass sampled garbage UVs and the final image was black under the HUD. Off Adreno the engine now declares such inputs with the vertex format's own type and reinterprets the bits exactly as the Switch does (DM_GFX_VTX_RETYPE, on by default off Adreno).
Tested on Adreno with the fix forced on and the Mali policies simulated: renders correctly at 60 fps. Not yet tested on a real Mali device, so please report back.
If the level is still dark or wrong: play 1–2 minutes in the game world, then attach the whole Download/Diablo3Mobile/logs folder to an issue.
Assets: -arm64 for Android 12+, -arm64-android10 for Android 10/11.
v0.2.3-debug: GPU self-test and black-screen diagnostics for Mali / PowerVR / Xclipse
Debug build for phones without an Adreno GPU (Mali / PowerVR / Xclipse), aimed at the "black level, HUD visible" problem. On Snapdragon / Adreno nothing changes, so you can skip it there.
What's new
- GPU self-test at startup (not on Adreno). Before the first frame the game checks five rendering speed-ups on your GPU. Each one that does not behave like on Adreno is turned off automatically. The result is one
[selftest]line inboot.log. - Safer depth reads (not on Adreno). When a shader reads the depth buffer the current pass is still drawing into, the pass is now ended first. This is what the Vulkan spec requires. The previous shortcut was only known to work on Adreno.
- More detailed diagnostics (not on Adreno, first ~2 minutes). On a few sampled frames the game logs, for every render pass, numbers about what it drew: NaN / Inf counts, black pixel counts, average and max values. Text only, no screenshots. This shows exactly which step turns the picture black. It costs a little GPU time on those few frames only.
If the level is still black, please help
Play for 1–2 minutes and get into the game world. Then open an issue with your phone model, Android version and a short description. Attach the whole Download/Diablo3Mobile/logs folder.
Assets: Diablo3-Mobile-v0.2.3-debug-arm64.apk (Android 12+), Diablo3-Mobile-v0.2.3-debug-arm64-android10.apk (Android 10–11).
v0.2.2-debug: diagnostic build for Mali / PowerVR / Xclipse
English
Diagnostic build for Mali / PowerVR / Xclipse phones (the black 3D scene reports). Same game code as v0.2.1.
Downloads: Diablo3-Mobile-v0.2.2-debug-arm64.apk (Android 12+), Diablo3-Mobile-v0.2.2-debug-arm64-android10.apk
(Android 10–11). Installs over v0.2.1, your data stays.
- Fixes the start-up crash on Mali of the first v0.2.1 upload (an NVN call trace that the automatic diagnostics turned on).
- On GPUs other than Adreno, detailed text diagnostics are on: NVN calls of the first 120 frames and a per-pass GPU profile
(passes, targets, draws, pipelines) for about 2 minutes. Text only, the game stays playable.
If you see a black screen: install this build, start the game and play for 2–3 minutes (or until it fails), then
open an issue and attach the whole Download/Diablo3Mobile/logs/ folder, with your phone model and Android version.
По-русски
Диагностическая сборка для телефонов с Mali / PowerVR / Xclipse (жалобы на чёрный 3D-экран). Код игры тот же, что в v0.2.1.
- Исправлено падение при запуске на Mali из первой выкладки v0.2.1.
- На не-Adreno включена подробная текстовая диагностика: вызовы NVN первых 120 кадров и профиль проходов рендера ~2 минуты.
Если у вас чёрный экран: поставьте эту сборку, поиграйте 2–3 минуты (или до ошибки) и приложите к issue всю папку
Download/Diablo3Mobile/logs/, указав модель телефона и версию Android.
v0.2.1: logs that survive a kill, item-pack DLC, setup fix at 8/8
English
Downloads: Diablo3-Mobile-v0.2.1-arm64.apk for Android 12+, Diablo3-Mobile-v0.2.1-arm64-android10.apk for Android
10–11. Install over v0.2.0 / v0.1.1, your data stays.
- Logs that survive a crash or a kill: everything now goes straight to
Download/Diablo3Mobile/logs/while the game
runs:boot.log(the game's log) andlogcat.txt(Android's log of the game), plusboot.prev.log/
logcat.prev.txtof the previous run andcrash.txtwith the reason after a crash (also when Android kills the game
for memory). If something goes wrong, attach the wholelogsfolder to your issue. - Item-pack DLC: the 30th Anniversary, Prime Evil Collection and Heritage of Arreat packs are now used (setup extracts
them intoaoc/100..102; they are tiny). - Setup no longer fails at 8/8 because of a DLC: a language or item pack that cannot be prepared is skipped with a note,
and the game folder is finished anyway (the game then runs in English).setup.bat --no-dlcskips all DLC. Every setup
run is logged towork/setup.log. Download the repository ZIP again to get the new setup. - The app shows its own version (0.2.1) instead of 2.0.1.
- Mali / PowerVR / Xclipse: detailed text diagnostics are switched on automatically (NVN calls of the first frames, per-pass GPU profile for ~2 minutes; an earlier upload of this release also turned on an NVN call trace that crashed Mali phones at start — fixed, download again), so the
logsfolder of a single run shows what the renderer did. Text only; the game stays playable.
Tested on Xiaomi 14 Ultra (Snapdragon 8 Gen 3 / Adreno 750). Mali / PowerVR / Xclipse untested. No game content and no keys
included.
По-русски
Файлы: Diablo3-Mobile-v0.2.1-arm64.apk — Android 12+, Diablo3-Mobile-v0.2.1-arm64-android10.apk — Android 10–11.
Ставится поверх, данные сохраняются.
- Логи переживают падение и убийство процесса: всё пишется прямо во время игры в
Download/Diablo3Mobile/logs/—
boot.log,logcat.txt, их.prev-версии от прошлого запуска иcrash.txtс причиной. При проблемах прикладывайте
к issue всю папкуlogs. - DLC с предметами (30th Anniversary, Prime Evil Collection, Heritage of Arreat) теперь подключаются.
- Установка больше не падает на 8/8 из-за DLC: проблемный пак пропускается, папка игры всё равно собирается;
setup.bat --no-dlcпропускает все DLC; лог установки —work/setup.log. Скачайте ZIP репозитория заново. - Приложение показывает свою версию (0.2.1) вместо 2.0.1.
- Mali / PowerVR / Xclipse: автоматически включается подробная текстовая диагностика (вызовы NVN первых кадров, профиль проходов рендера ~2 минуты; в первой выкладке этого релиза была ещё трасса NVN, ронявшая игру на Mali при старте — исправлено, скачайте заново) — по папке
logsодного запуска видно, что делал рендер. Только текст, игра остаётся играбельной.
v0.2.0: logs and crash reports, other GPUs, driver per GPU, ARMv8.0, Android 10
English
Brings the DOOM Mobile port's device-compatibility and diagnostics work to Diablo III Mobile.
Downloads: Diablo3-Mobile-v0.2.0-arm64.apk for Android 12+, Diablo3-Mobile-v0.2.0-arm64-android10.apk for
Android 10–11 (same app, same data). Both arm64, signed with the project key (installs over v0.1.1 and keeps your data).
New
- Logs and crash reports: every launch writes
boot.log(previous run kept asboot.prev.log) with device / GPU /
CPU / driver lines and breadcrumbs (loading screens, UI focus, memory watch, GPU idle retire). After a crash the next
start shows a notice and writesDownload/Diablo3Mobile/logs/crash.txt— attach it to bug reports. - Other GPUs (Mali, PowerVR, Xclipse — untested on real hardware): fallbacks for missing Vulkan features (geometry
shaders, formatless storage, image gather offsets, D24 depth, timestamps, depth bounds, null descriptors, linear
filtering, texel-buffer limits), batched texture uploads and GPU BC texture decoding, one-at-a-time pipeline builds on
PowerVR, fence-wait retries on Mali. Zero-copy guest memory stays Adreno-only. - Vulkan driver per GPU: a default driver chosen for your GPU, the bundled Turnip verified at start, other Adreno
packages downloaded when online, automatic return to the system driver after failed starts (with a notice). - Older CPUs (ARMv8.0, no LSE atomics): the host picks plain v8.0 code paths at start.
- Android 10–11 build (see Downloads).
- Start screens name
Download/Diablo3Mobilein 13 languages; the touch pad is no longer hidden by built-in pseudo
gamepads; cheaper texture change checks.
Checked on Xiaomi 14 Ultra (Snapdragon 8 Gen 3 / Adreno 750, Android 16): Act 1 at 60 fps (GPU 7–11 ms), widescreen and
stretched loading screens, crash report after a forced crash. No game content and no keys included.
По-русски
Перенесены доработки совместимости и диагностики из порта DOOM Mobile.
Файлы: Diablo3-Mobile-v0.2.0-arm64.apk — Android 12+, Diablo3-Mobile-v0.2.0-arm64-android10.apk — Android 10–11.
Подписаны ключом проекта, встают поверх v0.1.1 с сохранением данных.
- Логи и отчёты о падениях:
boot.logс устройством, GPU, драйвером и «хлебными крошками»; после падения при
следующем запуске — уведомление иDownload/Diablo3Mobile/logs/crash.txt(прикладывайте к баг-репортам). - Другие GPU (Mali, PowerVR, Xclipse — на реальном железе не проверено): обходы отсутствующих возможностей Vulkan,
загрузка текстур порциями, декод BC на GPU, поштучная сборка пайплайнов на PowerVR, повторы ожидания фенсов на Mali. - Драйвер Vulkan под GPU: выбор по умолчанию, проверка Turnip при старте, скачивание пакетов для других Adreno,
автоматический возврат на системный драйвер после неудачных запусков. - Старые процессоры (ARMv8.0 без LSE) и сборка для Android 10–11.
- Стартовые экраны называют
Download/Diablo3Mobile(13 языков); тач-пад не прячется из-за встроенных «псевдогеймпадов».
Проверено на Xiaomi 14 Ultra (Adreno 750, Android 16): Акт 1 — 60 fps, широкий экран, отчёт о падении. Файлов игры и ключей нет.
v0.1.1: new icon, signed with the project key
English
- New icon: original fan artwork (an ornate stone "III" over a horned demon skull, "MOBILE" below, in the Diablo III
palette). No Blizzard logo or wordmark. - Signed with the project key, so future releases install over it and keep your data.
Diablo III: Eternal Collection (Switch, update 2.7.7) running natively on Android arm64 (Android 10+): menus, hero
creation and Act 1 at 60 fps on Snapdragon 8 Gen 3 / Adreno 750 (bundled Mesa Turnip 27); widescreen (Hor+) with
stretched loading screens; language-pack DLC (e.g. Russian); pause menu, on-screen gamepad with skins and layout editor,
touch layout, save export / import; offline only. No game content and no keys included — dump your own game and follow
docs/INSTALL.md.
По-русски
- Новая иконка: своя фан-работа (каменная «III» над рогатым черепом демона, внизу MOBILE, палитра Diablo III), без
логотипа Blizzard. - Подписано ключом проекта — будущие релизы встанут поверх с сохранением данных.
Diablo III: Eternal Collection со Switch (обновление 2.7.7) нативно на Android arm64: меню, создание героя и Акт 1 —
60 fps на Snapdragon 8 Gen 3 / Adreno 750 (Turnip 27); широкий экран; языковые DLC (русский); меню паузы, экранный
геймпад, сенсорная раскладка, экспорт/импорт сейвов; только офлайн. Файлов игры и ключей нет — инструкция в
docs/INSTALL.ru.md.