D8VK គឺជាការអនុវត្ត Direct3D 8 ដែលអនុញ្ញាតឱ្យអ្នកដំណើរការកម្មវិធី 3D នៅលើ Linux ដោយប្រើ Wine ។
ពីរបីថ្ងៃមុន ការចេញផ្សាយកំណែស្ថេរភាពដំបូងនៃគម្រោង "D8VK 1.0" ត្រូវបានប្រកាស។ ដែលផ្តល់នូវក ការអនុវត្ត API ក្រាហ្វិក Direct3D 8 ដែលដំណើរការតាមរយៈការបកប្រែការហៅទូរសព្ទ Vulkan API និងអនុញ្ញាតឱ្យអ្នកប្រើ Wine ឬ Proton ដើម្បីដំណើរការកម្មវិធី និងហ្គេម 3D ដែលបង្កើតឡើងសម្រាប់ Windows នៅលើ Linux ដែលត្រូវបានភ្ជាប់ទៅ Direct3D 8 API ។
ដូចដែលអ្នកបានដឹងហើយថានៅក្នុងលីនុចយើងមាន VKD3D-Proton សម្រាប់ការបកប្រែ Direct3D 12 នៅក្នុង Vulkan ក្រៅពីនោះយើងក៏មាន Steam Play ដែលប្រើ DXVK ដើម្បីអនុវត្ត Direct3D 9/10/11 APIs លើ 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 ដំណើរការបណ្តុំផ្ទាល់ខ្លួនថ្មី។ សម្រាប់ហ្គេមមួយចំនួនដែលមានឥរិយាបថមិនបានកំណត់។
បន្ថែមពីលើនេះ វាក៏ត្រូវបានគូសបញ្ជាក់ផងដែរ។ គាំទ្រការបដិសេធការប្រកាស vertex shader សម្រាប់ហ្គេមដែលមានឥរិយាបថមិនបានកំណត់ ហើយឥឡូវនេះ vertex buffers អាចត្រូវបានរក្សាទុកនៅក្នុងក្រុមដែលគ្រប់គ្រងដោយខ្លួនឯង ដើម្បីបង្កើនការអនុវត្ត និងជៀសវាងបញ្ហាសរសេរបញ្ជា។
វាត្រូវបានកត់សម្គាល់ផងដែរថាការគាំទ្រចងក្រងត្រូវបានអនុវត្តនៅក្នុង MSVC ក៏ដូចជាការគាំទ្រសម្រាប់សំណួរ GetInfo ហើយឥឡូវនេះប្រភេទប្លុកស្ថានភាពត្រូវបានគាំទ្រ។
របស់អ្នកដទៃ ការផ្លាស់ប្តូរដែលលេចធ្លោ៖
- កែតម្រូវទំហំការពិពណ៌នាផ្ទៃដោយផ្អែកលើទម្រង់
- អនុញ្ញាតឱ្យរក្សាការដំឡើង Proton បច្ចុប្បន្ន
- ការកំណត់ជាក់លាក់នៃហ្គេមរាប់មិនអស់ និងមុខងារតូចតាច និងការកែប្រែ
- ជួសជុលកំហុសដែល CreateTexture នឹងព្យាយាមរុំវាយនភាពទទេ
- Backbuffers ជួសជុលមិនត្រូវបានដាក់ក្នុងឃ្លាំងសម្ងាត់ ឬយោងទៅឧបករណ៍ដែលមានកម្មសិទ្ធិ
- វាយនភាពដែលបានជួសជុល ស្ទ្រីម និងសន្ទស្សន៍មិនត្រូវបានសម្អាតនៅពេលចាប់ផ្ដើមឡើងវិញ
- ទីតាំងថេរនៃ Direct3DCreate8 ក្នុង d3d8.def
- ចំនួនយោងថេរសម្រាប់គោលដៅបង្ហាញ គំរូជម្រៅ និងវាយនភាព។
- ជួសជុលស្រមោលភីកសែល null មិនត្រូវបានចងចាំ
- កំណត់គោលដៅបង្ហាញ និងគំរូជម្រៅមិនត្រូវបានដាក់ក្នុងឃ្លាំងសម្ងាត់
- ជួសជុលកំហុស ប្រសិនបើអតិថិជនព្យាយាមបើក SWVP នៅលើឧបករណ៍ហាតវែរ
- ឧបករណ៍ជួសជុលមិន jailbreak
- បានជួសជុល segfault នៅលើការចេញផ្សាយឧបករណ៍ជាមួយនឹងវាយនភាពចង
ជាចុងក្រោយប្រសិនបើអ្នកចាប់អារម្មណ៍ចង់ដឹងបន្ថែមអំពីវាអ្នកអាចពិគ្រោះលំអិត នៅក្នុងតំណខាងក្រោម។
អ្នកគួរតែដឹងថាកូដគម្រោងត្រូវបានសរសេរជាភាសា C++ ហើយត្រូវបានចែកចាយក្រោមអាជ្ញាបណ្ណ Zlib។ មូលដ្ឋានកូដនៃគម្រោង DXVK ជាមួយនឹងការអនុវត្ត Direct3D 9, 10 និង 11 នៅលើ Vulkan ត្រូវបានគេប្រើជាមូលដ្ឋានសម្រាប់ការអភិវឌ្ឍន៍។
របៀបដំឡើង D8VK នៅលើលីនុច?
សម្រាប់អ្នកដែលចាប់អារម្មណ៍ក្នុងការដំឡើង D8VK ពួកគេគួរតែដឹងថាការអនុវត្តរបស់វាគឺសាមញ្ញណាស់ហើយមិនត្រូវការច្រើនទេ។ គ្រាន់តែបើកស្ថានីយដើម្បីអាចទទួលបានកំណែថ្មី។ នៅក្នុងវាយើងនឹងវាយពាក្យបញ្ជាដូចខាងក្រោម:
git clone https://github.com/AlpyneDreams/d8vk.git
ឬប្រសិនបើអ្នកចង់ទាញយកពីកម្មវិធីរុករករបស់អ្នក (អ្នកគ្រាន់តែត្រូវពន្លាឯកសារហើយដាក់ខ្លួនអ្នកនៅក្នុងស្ថានីយមួយនៅខាងក្នុងថត) អ្នកអាចធ្វើវាបានដោយចុច នៅក្នុងតំណនេះ។
ធ្វើវាឥឡូវនេះយើងនឹងចូលទៅក្នុងថតជាមួយនឹង៖
cd d8vk
ហើយយើងបន្តអនុវត្ត d8vk តាមករណី។ ដើម្បីអនុវត្តវាជាមួយ Wine យើងត្រូវវាយបញ្ចូលដូចខាងក្រោម៖
./setup_d3d8.sh install --no-proton
ឬក្នុងករណីចង់អនុវត្តវាជាមួយ Proton ពាក្យបញ្ជាដែលត្រូវវាយមានដូចខាងក្រោម៖
./setup_d3d8.sh install
ប្រសិនបើអ្នកចង់ដឹងបន្ថែមអំពីការប្រើប្រាស់ ឬការដំឡើងរបស់វាសម្រាប់ករណីជាក់លាក់ អ្នកអាចប្រឹក្សាបាន។ តំណខាងក្រោម។
ធ្វើជាយោបល់ដំបូង