Installation¶
Personal use only
d2vita distributes neither a VPK nor game files. This page assumes a legitimately-owned copy of Diablo II: Lord of Destruction, on personal Vita hardware. See the legal notice on the home page.
Game files¶
d2vita contains no Blizzard file. 1.13c is retired — only the genuine
1.14d executables and MPQs are supported. Both go together, exactly like a
real PC install, under a 1.14d subfolder (the loader reads from there
specifically, not from ux0:data/d2vita/ directly):
ux0:data/d2vita/1.14d/
├── Game.exe
├── d2data.mpq (required)
├── d2exp.mpq (required, LoD expansion)
├── patch_d2.mpq (recommended — 1.14d patch)
├── d2char.mpq
├── d2sfx.mpq
├── d2music.mpq
├── d2speech.mpq (voice — content is per-language, filename never changes)
├── d2video.mpq
├── d2xmusic.mpq
├── d2xtalk.mpq
└── d2xvideo.mpq
That's the full list. 1.14d ships as a single monolithic Game.exe with
everything statically linked in — d2vita never reads Fog.dll, Storm.dll,
D2Win.dll, D2Client.dll, D2Common.dll or D2gfx.dll from disk, even
though a PC install ships them alongside it.
Your copy of the folder may still contain those split DLLs and a few extra
launchers (Diablo II.exe, BNUpdate.exe, SystemSurvey.exe,
BlizzardError.exe) — a whole PC/Mac install usually does. That's fine:
d2vita ignores them. It never loads a stray 1.13c DLL next to the 1.14d
monolith (loading that old, incompatible code is what used to break rendering
or crash the boot — d2vita now refuses to). You can delete them to tidy the
folder if you like, but you don't have to; only Game.exe, the MPQs and your
.key files actually do anything.
On every boot, d2vita checks that Game.exe and each required MPQ above
actually exist, and writes down exactly which one is missing if any is —
see Verifying the install below for where that
check is recorded.
Nothing else needs to be supplied: ddraw.dll, checkrevision.dll and
d2vhost.dll are all faked or shimmed by d2vita itself, never read from disk.
glide3x.dll — d2vita's own Glide renderer, which the game genuinely does
LoadLibrary from disk (D2 is launched with -3dfx) — travels inside the VPK
(app0:glide3x.dll, build_rt_boot_vpk.sh), so you do not supply it either.
Same for ux0:data/d2vita/shaders/ — the precompiled GPU shaders already
travel inside the VPK. A copy of glide3x.dll or of a shader in the game
folder is only an optional on-console override, not something a normal install
needs to populate.
CD keys (optional) go one level up, flat in ux0:data/d2vita/keys.txt — see
Online play.
Getting the VPK¶
Download d2vita.vpk from the Releases
page — each release is built
and published automatically by CI.
Building from source instead (for development, or to track main between
releases) is documented in the repository
README; the result lands at
build-vita/d2vita.vpk.
Installing on the console¶
Install the VPK with VitaShell, like any homebrew.
Configuration (env.txt)¶
The runtime's behavior is configured through an env.txt file placed
alongside the MPQs (ux0:data/d2vita/env.txt), one variable per line. The
chosen game configuration is documented in Native ports and measured
gains — tools/bancs/env_jeu_glide.txt
is its reference version, to be copied as-is for normal play (not a
measurement bench).
The play environment (perf/config) and the diagnostic environment
(D2_INPUTLOG, profiling probes, etc.) are kept separate — don't enable the
latter for normal use, they have a cost.
One flag lives outside that reference block on purpose: D2_LOCAL_ONLY=1
restricts the runtime to a private/local server instead of official
Battle.net, which is the default. It's a network-policy choice, not a
performance lever, so it isn't part of the config above — add it to
env.txt yourself if you want it. Details: Online play.
Verifying the install¶
Every boot writes a plain-text log to:
ux0:data/d2vita/boot_progress.txt
Read it with VitaShell's built-in text viewer, or pull it over FTP — it is
a file, not an on-screen message. If Game.exe or any required MPQ (see
above) is missing, the very first lines name exactly which file and the
full path it was expected at, before the game gives up. If the game closes
right after launch and the MPQ list above looks right, this file is the
first thing to check.
A boot that stops silently with nothing at all written to this file — not even those first lines — usually means the console itself is stuck in an inconsistent state rather than a bad install: reboot before digging further (a documented project pitfall: an empty log doesn't mean the previous binary booted correctly).