diablo_iv_loader.dllตัวจัดการความผิดพลาดของ Blizzard เองจะยุติกระบวนการด้วยข้อผิดพลาด Summary: BREAKPOINT ผู้ใช้จะเห็นข้อผิดพลาดเป็น Error Code 127 ซึ่งอ้างอิงถึง Kernel32.dll ในหน้าต่างข้อผิดพลาด
รายละเอียดที่สำคัญ: การขัดข้องเกิดขึ้น ก่อนที่เลเยอร์กราฟิกใดๆ จะเริ่มทำงาน — ไม่มีการสร้าง D3D12, VKD3D หรือ Vulkan device ใดๆ เลย ซึ่งสรุปได้ว่าปัญหาไม่ได้มาจาก GPU driver หรือ DXVK อย่างแน่นอน
Patch 3.1.0 ได้อัปเดตแพ็กเกอร์และการเข้ารหัสป้องกันการดัดแปลงที่ใช้กับ diablo_iv_loader.dll แพ็กเกอร์ใหม่ใช้การคลุมเครือที่แทรกคำสั่ง INT3 breakpoint เพื่อเป็นมาตรการป้องกันการดีบักและการย้อนวิศวกรรมโดยเจตนา บน Windows ตัวจัดการข้อยกเว้นจะจัดการสิ่งนี้อย่างโปร่งใส แต่ภายใต้ Wine/Proton มันล้มเหลว
PROTON_HIDE_NVIDIA_GPU=1, DRI_PRIME=1 หรือการปรับแต่ง DXVK config ก็ไม่มีผล เพราะการขัดข้องเกิดขึ้นก่อนที่โค้ด GPU จะทำงานใดๆ dstorage.dll ที่เคยใช้แก้ปัญหาการขัดข้องในแพตช์ก่อนหน้านี้ ก็ไม่สามารถแก้ปัญหานี้ได้เช่นกัน ทางแก้ไขเดียวคือ: (ก) Blizzard ต้องแพ็กเกจตัวโหลดใหม่โดยไม่ใช้คำสั่ง INT3 breakpoint ในรูปแบบที่เข้ากันได้กับการจัดการข้อยกเว้นของ Wine หรือ (ข) การแพตช์ในระดับ Wine/Proton เพื่อดักจับและจัดการจุดพักนั้นโดยเฉพาะ เนื่องจากตัวโหลดถูกคลุมเครือและป้องกันการดัดแปลง การสร้างแพตช์ดังกล่าวจึงทำได้ยากและเปราะบาง
diablo_iv_loader.dll ภายใต้ Wine/Proton จนถึงวันที่ 2 กรกฎาคม แพตช์ดังกล่าวยังไม่ได้เผยแพร่ โดยกระทู้รายงานบั๊กมี 655 รีพลายและการเข้าชมฟอรัมยังคงเพิ่มขึ้นอย่างต่อเนื่อง เหตุการณ์นี้เน้นให้เห็นถึงปัญหาที่เกิดขึ้นซ้ำแล้วซ้ำเล่าในการเล่นเกมบน PC: นักพัฒนามักจะอัปเดตระบบป้องกันการดัดแปลงและแพ็กเกอร์โดยไม่ทดสอบกับเลเยอร์ความเข้ากันได้อย่าง Wine/Proton ซอฟต์แวร์ป้องกันการดัดแปลงถูกออกแบบมาให้ทำงานแตกต่างกันในสภาพแวดล้อมที่ไม่ได้มาตรฐาน และการเปลี่ยนแปลงเล็กน้อย — ไม่ว่าจะเป็นแพ็กเกอร์เวอร์ชันใหม่หรือการตรวจสอบ INT3 เพิ่มเติม — ก็สามารถทำลายความเข้ากันได้ของ Proton อย่างเงียบๆ ได้ แม้ว่าตัวเกมจะไม่มีการเปลี่ยนแปลงโค้ดใดๆ ก็ตาม
รูปแบบเดียวกันนี้เคยเกิดขึ้นกับการเปิดใช้งาน Denuvo ที่ล็อกผู้ใช้ Linux หลังจากสลับเวอร์ชัน Proton มากเกินไป แต่ละครั้ง การแก้ไขจะขึ้นอยู่กับว่า Valve แพตช์ Proton แบบตั้งรับ หรือนักพัฒนาเกมอัปเดตไบนารี — และทั้งสองอย่างจะไม่เกิดขึ้นจนกว่าผู้ใช้จะค้นพบและรายงานความเสียหาย กรณีของ Diablo IV รุนแรงเป็นพิเศษเพราะมันส่งผลกระทบต่อ Steam Deck ซึ่งเป็นแพลตฟอร์มที่ได้รับการสนับสนุนในเชิงพาณิชย์และเคยเข้ากันได้กับเกมอย่างสมบูรณ์ก่อนเวอร์ชัน 3.1.0
diablo_iv_loader.dllตัวจัดการความผิดพลาดของ Blizzard เองจะยุติกระบวนการด้วยข้อผิดพลาด Summary: BREAKPOINT ผู้ใช้จะเห็นข้อผิดพลาดเป็น Error Code 127 ซึ่งอ้างอิงถึง Kernel32.dll ในหน้าต่างข้อผิดพลาด
รายละเอียดที่สำคัญ: การขัดข้องเกิดขึ้น ก่อนที่เลเยอร์กราฟิกใดๆ จะเริ่มทำงาน — ไม่มีการสร้าง D3D12, VKD3D หรือ Vulkan device ใดๆ เลย ซึ่งสรุปได้ว่าปัญหาไม่ได้มาจาก GPU driver หรือ DXVK อย่างแน่นอน
Patch 3.1.0 ได้อัปเดตแพ็กเกอร์และการเข้ารหัสป้องกันการดัดแปลงที่ใช้กับ diablo_iv_loader.dll แพ็กเกอร์ใหม่ใช้การคลุมเครือที่แทรกคำสั่ง INT3 breakpoint เพื่อเป็นมาตรการป้องกันการดีบักและการย้อนวิศวกรรมโดยเจตนา บน Windows ตัวจัดการข้อยกเว้นจะจัดการสิ่งนี้อย่างโปร่งใส แต่ภายใต้ Wine/Proton มันล้มเหลว
PROTON_HIDE_NVIDIA_GPU=1, DRI_PRIME=1 หรือการปรับแต่ง DXVK config ก็ไม่มีผล เพราะการขัดข้องเกิดขึ้นก่อนที่โค้ด GPU จะทำงานใดๆ dstorage.dll ที่เคยใช้แก้ปัญหาการขัดข้องในแพตช์ก่อนหน้านี้ ก็ไม่สามารถแก้ปัญหานี้ได้เช่นกัน ทางแก้ไขเดียวคือ: (ก) Blizzard ต้องแพ็กเกจตัวโหลดใหม่โดยไม่ใช้คำสั่ง INT3 breakpoint ในรูปแบบที่เข้ากันได้กับการจัดการข้อยกเว้นของ Wine หรือ (ข) การแพตช์ในระดับ Wine/Proton เพื่อดักจับและจัดการจุดพักนั้นโดยเฉพาะ เนื่องจากตัวโหลดถูกคลุมเครือและป้องกันการดัดแปลง การสร้างแพตช์ดังกล่าวจึงทำได้ยากและเปราะบาง
diablo_iv_loader.dll ภายใต้ Wine/Proton จนถึงวันที่ 2 กรกฎาคม แพตช์ดังกล่าวยังไม่ได้เผยแพร่ โดยกระทู้รายงานบั๊กมี 655 รีพลายและการเข้าชมฟอรัมยังคงเพิ่มขึ้นอย่างต่อเนื่อง เหตุการณ์นี้เน้นให้เห็นถึงปัญหาที่เกิดขึ้นซ้ำแล้วซ้ำเล่าในการเล่นเกมบน PC: นักพัฒนามักจะอัปเดตระบบป้องกันการดัดแปลงและแพ็กเกอร์โดยไม่ทดสอบกับเลเยอร์ความเข้ากันได้อย่าง Wine/Proton ซอฟต์แวร์ป้องกันการดัดแปลงถูกออกแบบมาให้ทำงานแตกต่างกันในสภาพแวดล้อมที่ไม่ได้มาตรฐาน และการเปลี่ยนแปลงเล็กน้อย — ไม่ว่าจะเป็นแพ็กเกอร์เวอร์ชันใหม่หรือการตรวจสอบ INT3 เพิ่มเติม — ก็สามารถทำลายความเข้ากันได้ของ Proton อย่างเงียบๆ ได้ แม้ว่าตัวเกมจะไม่มีการเปลี่ยนแปลงโค้ดใดๆ ก็ตาม
รูปแบบเดียวกันนี้เคยเกิดขึ้นกับการเปิดใช้งาน Denuvo ที่ล็อกผู้ใช้ Linux หลังจากสลับเวอร์ชัน Proton มากเกินไป แต่ละครั้ง การแก้ไขจะขึ้นอยู่กับว่า Valve แพตช์ Proton แบบตั้งรับ หรือนักพัฒนาเกมอัปเดตไบนารี — และทั้งสองอย่างจะไม่เกิดขึ้นจนกว่าผู้ใช้จะค้นพบและรายงานความเสียหาย กรณีของ Diablo IV รุนแรงเป็นพิเศษเพราะมันส่งผลกระทบต่อ Steam Deck ซึ่งเป็นแพลตฟอร์มที่ได้รับการสนับสนุนในเชิงพาณิชย์และเคยเข้ากันได้กับเกมอย่างสมบูรณ์ก่อนเวอร์ชัน 3.1.0