Преди няколко дни беше обявено пускането на първата стабилна версия на проекта „D8VK 1.0“, който предлага a Реализация на Direct3D 8 графичен API който работи чрез превод на извиквания на API на Vulkan и ви позволява да използвате Wine или Proton за стартиране на 3D приложения и игри, разработени за Windows на Linux, които са свързани с API на Direct3D 8.
Както много от вас знаят, в Linux имаме VKD3D-Proton за превода на Direct3D 12 във Vulkan, освен това имаме и Steam Play, който използва DXVK за внедряване на Direct3D 9/10/11 API над Vulkan, но за стария , внедряване на Direct3D 8, нямаше нищо конкретно.
Ето защо се роди D8VK, което е внедряването на стария Microsoft Direct3D 8 API върху Vulkan за подобряване на изживяването на по-стари игри.
D8VK 1.0 е отбелязан като първото издание на проекта, подходящ за употреба и тестван в стотици игри. В сравнение с проектите WineD3D и d3d8to9, които използват превод от Direct3D 8 към OpenGL и Direct3D 9, проектът D8VK демонстрира по-добра производителност, стабилност и съвместимост с игри.
Например, при тестване на пакета 3DMark 2001 SE, проектът D8VK отбеляза 144660 точки, комбинацията от d3d8to9 и dxvk – 118033, а WineD3D – 97134.
Стартирането на D8VK 1.0 представя d3d8.dll(d3d9 е статично свързан), както и a нов персонализиран пакетен процесор за определени игри с недефинирано поведение.
В допълнение към това се подчертава и това поддържа замяна на декларация за шейдър на върха за игри с недефинирано поведение и че върховите буфери вече могат да се съхраняват в самостоятелно управлявания пул, за да се подобри производителността и да се избегнат проблеми с реда на запис.
Отбелязва се също, че поддръжката за компилиране е внедрена в MSVC, както и че поддръжката за заявки GetInfo и типове блокове за състояние вече се поддържат.
От другите промени, които се открояват:
- Коригирайте размерите на описанието на повърхността въз основа на формата
- Позволете да запазите текущата инсталация на Proton
- Безброй специфични за играта настройки и незначителни функции и настройки
- Поправена е грешка, при която CreateTexture се опитва да обвие нулева текстура
- Коригирани бекбуфери, които не са кеширани или препращани към притежаващото устройство
- Коригирани текстури, потоци и индекси, които не се изчистват при рестартиране
- Фиксирано местоположение на Direct3DCreate8 в d3d8.def
- Фиксиран брой препратки за цели за изобразяване, шаблони за дълбочина и текстури.
- Коригирано е, че шейдърите с нулеви пиксели не се запомнят
- Коригирани цели за изобразяване и шаблони за дълбочина, които не се кешират
- Фиксиран бъг, ако клиентът се опита да активира SWVP на хардуерно устройство
- Фиксирани устройства без джейлбрейк
- Фиксиран segfault при освобождаване на устройството с обвързани текстури
И накрая, ако имате интерес да научите повече за него, можете да се консултирате с подробностите В следващия линк.
Трябва да знаете, че кодът на проекта е написан на език C++ и се разпространява под лиценз Zlib. Кодовата база на проекта DXVK с внедряването на Direct3D 9, 10 и 11 върху Vulkan беше използвана като основа за разработка.
Как да инсталирам D8VK на Linux?
За тези, които се интересуват от възможността да инсталират D8VK, трябва да знаят, че изпълнението му е доста просто и не изисква много. Просто отворете терминал, за да можете да получите новата версия. В него ще напишем следната команда:
git clone https://github.com/AlpyneDreams/d8vk.git
Или ако предпочитате да изтеглите от вашия браузър (просто трябва да разархивирате файла и да се позиционирате в терминал вътре в папката), можете да го направите, като щракнете върху в тази връзка.
Готово, сега ще влезем в директорията с:
cd d8vk
И ние продължаваме да изпълняваме внедряването на d8vk според случая. За да го приложим с Wine, трябва да напишем следното:
./setup_d3d8.sh install --no-proton
Или в случай, че искате да го приложите с Proton, командата, която трябва да въведете, е следната:
./setup_d3d8.sh install
Ако искате да научите повече за неговото използване или инсталиране за конкретни случаи, можете да се консултирате следната връзка.