diablo_iv_loader.dllيقوم معالج الأعطال الخاص ببليزارد بعدها بإنهاء اللعبة مع الخطأ Summary: BREAKPOINT . يظهر الخطأ للمستخدم على شكل رمز الخطأ 127، مع الإشارة إلى Kernel32.dll في نافذة الانهيار .
التفصيل الحاسم: يحدث الانهيار قبل أي تهيئة للرسوميات - لا يتم إنشاء أي جهاز D3D12 أو VKD3D أو Vulkan . هذا يستبعد بشكل قاطع أي مشاكل متعلقة بوحدات معالجة الرسوميات أو المكتبات الوسيطة مثل DXVK و VKD3D.
قام التحديث 3.1.0 بتحديث أداة التعبئة ونظام التشفير لمنع العبث المطبق على ملف diablo_iv_loader.dll . تستخدم أداة التعبئة الجديدة تقنيات إخفاء تضيف تعليمة INT3 كإجراء متعمد لمنع التصحيح والهندسة العكسية. في ويندوز، يتعامل موزع الاستثناءات مع هذه التعليمة بشفافية. أما في بيئة Wine/Proton، فإنها تؤدي إلى فشل .
PROTON_HIDE_NVIDIA_GPU=1 أو DRI_PRIME=1 أو تعديلات ملف DXVK ليس لها أي تأثير لأن الانهيار يحدث قبل تشغيل أي كود خاص بالرسوميات .dstorage.dll، والذي نجح في تجاوز مشاكل إقلاع مختلفة في تحديثات سابقة، لا يحل هذه المشكلة .الحلول الوحيدة الممكنة هي: (أ) قيام بليزارد بإعادة تعبئة المحمل بدون تعليمة INT3 بطريقة متوافقة مع آلية معالجة الاستثناءات في Wine، أو (ب) إصدار تصحيح على مستوى Wine/Proton يعترض ويعالج تلك التعليمة بالذات. ولكن نظرًا لأن المحمل مشفر ومحمي بمنع العبث، فإن إنشاء مثل هذا التصحيح صعب وغير ثابت.
diablo_iv_loader.dll تحت بيئة Wine/Proton . وحتى 2 يوليو، لم يتم إطلاق التصحيح بعد، مع وصول عدد تعليقات تقرير العطل إلى 655 تعليقًا واستمرار ارتفاع النشاط في المنتديات .تسلط هذه الحادثة الضوء على مشكلة متكررة في ألعاب الحاسب الشخصي: حيث يقوم المطورون بتحديث أنظمة منع العبث والتعبئة المستخدمة في ملفاتهم دون اختبارها مع طبقات التوافق مثل Wine/Proton. صُممت برامج منع العبث لتتصرف بشكل مختلف في البيئات غير القياسية، والتغييرات الصغيرة - كإصدار جديد لأداة التعبئة أو فحص إضافي باستخدام تعليمة INT3 - يمكنها بصمت أن تكسر توافق Proton حتى عندما لا تشمل اللعبة أي تغييرات في الكود الأساسي .
ظهر نفس النمط مع عمليات تفعيل Denuvo التي حجبت اللاعبين على لينكس بعد تبديل إصدارات Proton عدة مرات . في كل مرة، يعتمد الإصلاح إما على قيام Valve بتصحيح Proton بشكل تفاعلي أو على قيام مطور اللعبة بإصدار تحديث ثنائي - ولا يحدث أي منهما إلا بعد أن يكتشف المستخدمون الخلل ويبلغون عنه. قضية Diablo IV صارخة بشكل خاص لأنها أثرت على ستيم ديك، وهي منصة مدعومة تجاريًا كانت متوافقة تمامًا مع اللعبة قبل التحديث 3.1.0 .