Blizzards egen krashhanterare avbryter sedan processen med felet Summary: BREAKPOINT. För användaren visas detta som Error Code 127, med referens till
Kernel32.dll i krashdialogen .
Den kritiska detaljen: kraschen inträffar innan något grafiklager har initierats – ingen D3D12, VKD3D eller Vulkan-enhet skapas . Detta utesluter definitivt GPU-drivrutinsproblem eller DXVK-problem.
Patch 3.1.0 uppdaterade den packning och anti-tamper-kryptering som tillämpas på diablo_iv_loader.dll . Den nya packaren använder en obfuskering som infogar en INT3-brytpunkt som en avsiktlig anti-debug- och anti-reverse-engineering-åtgärd. I Windows hanteras detta transparent av undantagshanteraren. Under Wine/Proton misslyckas det
.
PROTON_HIDE_NVIDIA_GPU=1, DRI_PRIME=1 eller DXVK-konfigurationer har ingen effekt eftersom kraschen sker innan någon GPU-kod körs dstorage.dll, som fungerade som en lösning för andra startkrascher i tidigare patchar, löser inte detta problem De enda lösningarna är: (a) att Blizzard packar om loadern utan INT3-brytpunkten på ett sätt som är kompatibelt med Wines undantagshantering, eller (b) en patch på Wine/Proton-nivå som fångar upp och hanterar just den brytpunkten. Eftersom loadern är obfuskerad och anti-tamper-skyddad är en sådan patch svår och ömtålig att skapa.
diablo_iv_loader.dll under Wine/Proton Denna incident belyser ett återkommande problem inom PC-spel: utvecklare uppdaterar regelbundet anti-tamper- och packningssystem utan att testa mot kompatibilitetslager som Wine/Proton. Anti-tamper-programvara är utformad för att bete sig annorlunda i icke-standardmiljöer, och små förändringar – en ny packarversion eller en extra INT3-kontroll – kan tyst bryta Proton-kompatibiliteten även om spelet i sig inte har några kodändringar .
Samma mönster har förekommit med Denuvo-aktiveringar som låst ute Linux-användare efter för många Proton-versionsbyten . Varje gång beror lösningen på antingen att Valve reaktivt patchar Proton eller att spelutvecklaren levererar en binäruppdatering – och ingetdera händer förrän användarna upptäcker och rapporterar problemet. Fallet med Diablo IV är särskilt tydligt eftersom det drabbade Steam Deck, en kommersiellt stödd plattform som var fullt kompatibel med spelet före 3.1.0
.