طبقة الترجمة المستندة إلى Vulkan لـ Direct3D 10/11 والتي تتيح تشغيل تطبيقات ثلاثية الأبعاد على Linux باستخدام النبيذ.
للوضع الحالي للمشروع ، يرجى الرجوع إلى مشروع ويكي.
من أجل تثبيت حزمة DXVK التي تم الحصول عليها من صفحة الإصدار إلى بادئة نبيذ معينة ، قم بتشغيل الأوامر التالية من داخل دليل DXVK:
export WINEPREFIX=/path/to/.wine-prefix
./setup_dxvk.sh install
سيؤدي ذلك إلى نسخ DLLs إلى أدلة system32 و syswow64 من بادئة النبيذ الخاصة بك وإعداد تجاوزات DLL المطلوبة. كما تدعم البادئات 32 بت نقية.
يأخذ البرنامج النصي الإعداد اختياريا الوسائط التالية:
--symlink : قم بإنشاء روابط رمزية لملفات DLL بدلاً من نسخها. هذا مفيد بشكل خاص للتنمية.--without-dxgi : لا تقم بتثبيت تطبيق DXGI من DXVK واستخدم التنفيذ الذي يوفره النبيذ بدلاً من ذلك. هذا ضروري لكل من VKD3D و DXVK للعمل في نفس بادئة النبيذ. تحقق من أن التطبيق الخاص بك يستخدم DXVK بدلاً من WINED3D عن طريق التحقق من وجود ملف السجل d3d11.log في دليل التطبيق ، أو عن طريق تمكين HUD (انظر الملاحظات أدناه).
من أجل إزالة DXVK من بادئة ، قم بتشغيل الأمر التالي:
export WINEPREFIX=/path/to/.wine-prefix
./setup_dxvk.sh uninstall
داخل دليل DXVK ، قم بتشغيل:
./package-release.sh master /your/target/directory --no-package
سيؤدي ذلك إلى إنشاء مجلد dxvk-master في /your/target/directory ، والذي يحتوي على إصدارات 32 بت و 64 بت من DXVK ، والتي يمكن إعدادها بنفس طريقة إصدارات الإصدار كما هو مذكور أعلاه.
من أجل الحفاظ على أدلة الإنشاء للتنمية ، تمرير- --dev-build إلى البرنامج النصي. هذا الخيار يعني --no-package . بعد إجراء تغييرات على الكود المصدري ، يمكنك بعد ذلك القيام بما يلي لإعادة بناء DXVK:
# change to build.32 for 32-bit
cd /your/target/directory/build.64
ninja install
يمكن إنشاء بناء Winelib عن طريق إضافة حجة --winelib .
# 64-bit build. For 32-bit builds, replace
# build-win64.txt with build-win32.txt
meson --cross-file build-win64.txt --buildtype release --prefix /your/dxvk/directory build.w64
cd build.w64
ninja install
سيتم تحديد موقع D3D10 و D3D11 و DXGI DLLs في /your/dxvk/directory/bin . يجب أن يتم الإعداد يدويًا في هذه الحالة.
قبل الإبلاغ عن مشكلة ، يرجى التحقق من صفحة Wiki على حالة برنامج التشغيل الحالية والتأكد من تشغيل إصدار برنامج تشغيل حديث بما يكفي لأجهزةك.
يمكن اعتبار التلاعب بمكتبات Direct3D في ألعاب متعددة اللاعبين الغش ويمكن أن يحظر حسابك. قد ينطبق هذا أيضًا على ألعاب اللاعب الواحد مع جزء متعدد اللاعبين مضمنين أو مخصصين. استخدم على مسؤوليتك الخاصة.
يتحكم متغير بيئة DXVK_HUD في HUD الذي يمكنه عرض الإطار وبعض عدادات STAT. إنه يقبل قائمة مفصولة بالاختيار من الخيارات التالية:
devinfo : يعرض اسم وحدة معالجة الرسومات وإصدار برنامج التشغيل.fps : يظهر معدل الإطار الحالي.frametimes : يظهر رسم بياني وقت الإطار.submissions : يوضح عدد المخازن المؤقتة الأوامر المقدمة لكل إطار.drawcalls : يوضح عدد مكالمات السحب وتقديم تمريرات لكل إطار.pipelines : يوضح العدد الإجمالي للرسومات وحساب خطوط الأنابيب.memory : يوضح مقدار الذاكرة المخصصة والاستخدام.gpuload : يظهر حمولة GPU المقدرة. قد تكون غير دقيقة.version : يظهر إصدار DXVK.api : يعرض مستوى ميزة D3D المستخدم من قبل التطبيق. لا يعمل بشكل صحيح لـ D3D10 في الوقت الحالي.compiler : يظهر نشاط المترجم التظليل بالإضافة إلى ذلك ، DXVK_HUD=1 له نفس تأثير DXVK_HUD=devinfo,fps و DXVK_HUD=full يتيح جميع عناصر HUD المتاحة.
لا توفر بعض التطبيقات طريقة لتحديد وحدة معالجة الرسومات المختلفة. في هذه الحالة ، يمكن إجبار DXVK على استخدام جهاز معين:
DXVK_FILTER_DEVICE_NAME="Device Name" يختار الأجهزة التي تحمل اسم جهاز Vulkan المطابق ، والتي يمكن استردادها باستخدام أدوات مثل vulkaninfo . يتم دعم المطابقات على السلاسل الفرعية ، لذلك يتم دعم "Vega" أو "AMD RADV VEGA10" إذا كان اسم الجهاز الكامل هو "AMD RADV VEGA10 (LLVM 9.0.0)" ، على سبيل المثال. إذا تطابق السلسلة الفرعية أكثر من جهاز واحد ، فسيتم استخدام الجهاز الأول المتطابق.ملاحظة: إذا تم تكوين مرشح الجهاز بشكل غير صحيح ، فقد يقوم بتصفية جميع الأجهزة وستكون التطبيقات غير قادرة على إنشاء جهاز D3D.
DXVK Caches خط أنابيب خط أنابيب بشكل افتراضي ، بحيث يمكن إعادة تنسيق التظليل في وقت مبكر في عمليات التشغيل اللاحقة للتطبيق ، حتى لو تم إبطال ذاكرة التخزين المؤقت للتظليل الخاصة بالسائق في هذه الأثناء. يتم تمكين ذاكرة التخزين المؤقت هذه افتراضيًا ، ويقلل بشكل عام من التأتأة.
يمكن استخدام متغيرات البيئة التالية للتحكم في ذاكرة التخزين المؤقت:
DXVK_STATE_CACHE=0 يعطل ذاكرة التخزين المؤقت للحالة.DXVK_STATE_CACHE_PATH=/some/directory يحدد دليلًا عند وضع ملفات ذاكرة التخزين المؤقت. الإعدادات الافتراضية إلى دليل العمل الحالي للتطبيق.يمكن استخدام متغيرات البيئة التالية لأغراض تصحيح الأخطاء .
VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation يتيح طبقات تصحيح الفلكان. موصى به للغاية لاستكشاف الأخطاء وإصلاحها مشكلات التقديم وحوادث السائقين. يتطلب تثبيت Vulkan SDK على نظام المضيف.DXVK_LOG_LEVEL=none|error|warn|info|debug Controls Logging.DXVK_LOG_PATH=/some/directory يغير المسار عند تخزين ملفات السجل.DXVK_CONFIG_FILE=/xxx/dxvk.conf يعين المسار إلى ملف التكوين. يتطلب DXVK دعم الخيوط من بيئة بناء MingW-W64 الخاصة بك. إذا كنت في عداد المفقودين ، فقد ترى "خطأ:" Mutex "ليس عضوًا في" STD "". على Debian و Ubuntu ، يمكن عادةً حل هذا باستخدام Posix Alternate ، والذي يدعم الخيوط. على سبيل المثال ، اختر البديل Posix من هذه الأوامر (استخدم i686 لـ 32 بت):
update-alternatives --config x86_64-w64-mingw32-gcc
update-alternatives --config x86_64-w64-mingw32-g++