Ini bukanlah regresi Proton biasa. Ini adalah perubahan pada sistem anti-tamper yang sengaja memblokir kompatibilitas di level instruksi CPU.
Melalui analisis komunitas menggunakan PROTON_LOG, para pengguna berhasil melacak kegagalan hingga ke titik yang sangat spesifik . Crash terjadi di dalam diablo_iv_loader.dll — modul anti-tamper dan packer milik Blizzard .
Saat startup, loader mengeksekusi BREAKPOINT (instruksi INT3). Ini adalah interupsi CPU yang biasanya digunakan untuk debugger. Di Windows asli, sistem penanganan pengecualian (structured exception handler) sistem operasi akan memproses ini secara diam-diam dan melanjutkan proses. Namun, di bawah Wine/Proton, propagasi pengecualian berperilaku berbeda, dan loader menganggap breakpoint ini sebagai kesalahan fatal yang tidak bisa dipulihkan .
Crash handler milik Blizzard sendiri kemudian menghentikan proses dengan laporan Summary: BREAKPOINT . Bagi pengguna, kesalahan ini muncul sebagai Error Code 127, dengan referensi ke Kernel32.dll di dialog crash .
Detail krusialnya: crash terjadi sebelum inisialisasi grafis apa pun — tidak ada pembuatan perangkat D3D12, VKD3D, atau Vulkan yang terjadi . Ini secara meyakinkan menyingkirkan kemungkinan masalah driver GPU atau DXVK.
Patch 3.1.0 memperbarui packer dan enkripsi anti-tamper yang diterapkan pada diablo_iv_loader.dll . Packer baru ini menggunakan teknik obfuscation yang menyisipkan INT3 breakpoint sebagai tindakan anti-debug dan anti-reverse-engineering. Di Windows, dispatcher pengecualian menanganinya dengan mulus. Di bawah Wine/Proton, gagal .
PROTON_HIDE_NVIDIA_GPU=1, DRI_PRIME=1, atau tweak konfigurasi DXVK tidak berpengaruh karena crash terjadi sebelum kode GPU manapun dijalankan .dstorage.dll, yang berhasil mengatasi crash startup yang berbeda di patch sebelumnya, tidak menyelesaikan masalah ini .Satu-satunya solusi adalah: (a) Blizzard mengemas ulang loader tanpa INT3 breakpoint dengan cara yang kompatibel dengan penanganan pengecualian Wine, atau (b) patch di level Wine/Proton yang bisa mencegat dan menangani breakpoint spesifik itu. Karena loader dilindungi oleh anti-tamper, membuat patch seperti itu sangat sulit dan rapuh.
diablo_iv_loader.dll di bawah Wine/Proton . Hingga 2 Juli, perbaikan tersebut belum juga dirilis, sementara thread laporan bug mencapai 655 balasan .Insiden ini menyoroti masalah yang berulang di dunia PC gaming: pengembang secara rutin memperbarui sistem anti-tamper tanpa mengujinya terhadap lapisan kompatibilitas seperti Wine/Proton. Perangkat lunak anti-tamper dirancang untuk berperilaku berbeda di lingkungan yang tidak standar, dan perubahan kecil — seperti versi packer baru atau pemeriksaan INT3 tambahan — dapat secara diam-diam merusak kompatibilitas Proton .
Pola yang sama terjadi pada aktivasi Denuvo yang mengunci pengguna Linux setelah terlalu sering mengganti versi Proton . Setiap kali, perbaikannya bergantung pada Valve yang secara reaktif menambal Proton atau pengembang game yang merilis pembaruan biner — dan keduanya tidak terjadi sampai pengguna menemukan dan melaporkan kerusakannya. Kasus Diablo IV sangat mencolok karena dampaknya langsung terasa pada Steam Deck, sebuah platform komersial yang sebelumnya sudah sepenuhnya kompatibel dengan game ini .
Ini bukanlah regresi Proton biasa. Ini adalah perubahan pada sistem anti-tamper yang sengaja memblokir kompatibilitas di level instruksi CPU.
Melalui analisis komunitas menggunakan PROTON_LOG, para pengguna berhasil melacak kegagalan hingga ke titik yang sangat spesifik . Crash terjadi di dalam diablo_iv_loader.dll — modul anti-tamper dan packer milik Blizzard .
Saat startup, loader mengeksekusi BREAKPOINT (instruksi INT3). Ini adalah interupsi CPU yang biasanya digunakan untuk debugger. Di Windows asli, sistem penanganan pengecualian (structured exception handler) sistem operasi akan memproses ini secara diam-diam dan melanjutkan proses. Namun, di bawah Wine/Proton, propagasi pengecualian berperilaku berbeda, dan loader menganggap breakpoint ini sebagai kesalahan fatal yang tidak bisa dipulihkan .
Crash handler milik Blizzard sendiri kemudian menghentikan proses dengan laporan Summary: BREAKPOINT . Bagi pengguna, kesalahan ini muncul sebagai Error Code 127, dengan referensi ke Kernel32.dll di dialog crash .
Detail krusialnya: crash terjadi sebelum inisialisasi grafis apa pun — tidak ada pembuatan perangkat D3D12, VKD3D, atau Vulkan yang terjadi . Ini secara meyakinkan menyingkirkan kemungkinan masalah driver GPU atau DXVK.
Patch 3.1.0 memperbarui packer dan enkripsi anti-tamper yang diterapkan pada diablo_iv_loader.dll . Packer baru ini menggunakan teknik obfuscation yang menyisipkan INT3 breakpoint sebagai tindakan anti-debug dan anti-reverse-engineering. Di Windows, dispatcher pengecualian menanganinya dengan mulus. Di bawah Wine/Proton, gagal .
PROTON_HIDE_NVIDIA_GPU=1, DRI_PRIME=1, atau tweak konfigurasi DXVK tidak berpengaruh karena crash terjadi sebelum kode GPU manapun dijalankan .dstorage.dll, yang berhasil mengatasi crash startup yang berbeda di patch sebelumnya, tidak menyelesaikan masalah ini .Satu-satunya solusi adalah: (a) Blizzard mengemas ulang loader tanpa INT3 breakpoint dengan cara yang kompatibel dengan penanganan pengecualian Wine, atau (b) patch di level Wine/Proton yang bisa mencegat dan menangani breakpoint spesifik itu. Karena loader dilindungi oleh anti-tamper, membuat patch seperti itu sangat sulit dan rapuh.
diablo_iv_loader.dll di bawah Wine/Proton . Hingga 2 Juli, perbaikan tersebut belum juga dirilis, sementara thread laporan bug mencapai 655 balasan .Insiden ini menyoroti masalah yang berulang di dunia PC gaming: pengembang secara rutin memperbarui sistem anti-tamper tanpa mengujinya terhadap lapisan kompatibilitas seperti Wine/Proton. Perangkat lunak anti-tamper dirancang untuk berperilaku berbeda di lingkungan yang tidak standar, dan perubahan kecil — seperti versi packer baru atau pemeriksaan INT3 tambahan — dapat secara diam-diam merusak kompatibilitas Proton .
Pola yang sama terjadi pada aktivasi Denuvo yang mengunci pengguna Linux setelah terlalu sering mengganti versi Proton . Setiap kali, perbaikannya bergantung pada Valve yang secara reaktif menambal Proton atau pengembang game yang merilis pembaruan biner — dan keduanya tidak terjadi sampai pengguna menemukan dan melaporkan kerusakannya. Kasus Diablo IV sangat mencolok karena dampaknya langsung terasa pada Steam Deck, sebuah platform komersial yang sebelumnya sudah sepenuhnya kompatibel dengan game ini .