CodeWeavers, розробники CrossOver, працюють над покращенням DirectX 12 на рівнях сумісності CodeWeavers і Wine.
CodeWeavers CrossOver є одним із найпопулярніших способів запуску програм Windows в інших операційних системах. Він поєднує в собі чудову роботу з відкритим кодом Винний проект (код якого вносять розробники CrossOver) із зручнішим у використанні інтерфейсом і інтерфейсом. CodeWeavers випустили CrossOver 21 ще в серпні, а тепер компанія поділилася подробицями своєї роботи, щоб забезпечити підтримку сучасних ігор для Linux і Mac.
Багато останніх ігор для Windows (та інших графічних програм) покладаються на DirectX 12, останню версію Графічна бібліотека Microsoft DirectX, який використовує API нижчого рівня для досягнення швидшої продуктивності. DirectX доступний лише на Windows (і консолях Xbox), тому рівень сумісності Wine використовує VKD3D графічна бібліотека для виконання викликів Direct3D поверх Vulkan (яка доступна в Linux, Windows та інших платформи). Бібліотека Vkd3d є в основному розроблено Valve Software
для свого Шар протонної сумісності, і швидкий розвиток VKD3D є основною причиною того, чому так багато ігор Windows тепер можна грати на Linux.Незважаючи на те, що CrossOver вже включає VKD3D, CrossOver офіційно не підтримує ігри DirectX 12, хоча його розробники з’ясовують кілька проблем із продуктивністю, згідно з новим публікація в блозі:
CrossOver використовує VKD3D для запуску ігор DirectX 12. VKD3D — це бібліотека тривимірної графіки, побудована на основі Вулкан. В даний час ведеться велика робота для підвищення продуктивності VKD3D. За допомогою Вулкана розширення індексації дескриптора, що забезпечує функціональність, подібну до купи дескрипторів DirectX 12, дескриптори Vulkan пишуться рідше та використовується набагато менше пам’яті GPU. У результаті VKD3D може підтримувати ігри, які використовують достатньо дескрипторів, щоб вимагати ресурсів від апаратного забезпечення рівня 2 і рівня 3.
CrossOver планує офіційно розпочати підтримку ігор і програм DirectX 12 на Linux у 2022 році з майбутнім випуском CrossOver 22. Однак компанія не впевнена, коли VKD3D буде працювати на Mac. Apple взагалі не підтримує Vulkan на macOS (або iOS), натомість просить розробників використовувати її Бібліотека металевої графіки. Це проблема для CrossOver, як ідеться в дописі в блозі:
Загалом Metal виконує мозаїку по-іншому, у ньому відсутні шейдери геометрії та зворотний зв’язок перетворення. Що стосується DirectX 12 і Metal, існує проблема з обмеженнями ресурсів. Як правило, для ігор потрібен доступ принаймні до одного мільйона переглядів шейдерних ресурсів (SRV). Доступ до такої кількості SRV вимагає зв’язування ресурсів на рівні 2. Metal підтримує лише близько 500 000 ресурсів на буфер аргументів, тому прив’язка ресурсів рівня 2 неможлива. Обмеження Metal у півмільйона достатньо для індексації дескриптора Vulkan, але не для D3D12. Це обмеження означає, що CrossOver Mac не підтримує прив’язку Tier 2, і тому багато ігор DirectX 12 не працюватимуть.
Незважаючи на ці проблеми, CodeWeavers сподівається, що ігри та програми DirectX 12 зможуть працювати на Mac з майбутнім оновленням CrossOver 23. Нові основні версії CrossOver зазвичай виходять щороку, тож, швидше за все, це буде в 2023 році.
Навіть якщо ви не використовуєте CrossOver, більшість покращень сумісності, розроблених CodeWeavers, повертаються до проекту Wine. Це означає, що робота компанії може допомогти покращити ігри Windows на Lutris, the Консоль Steam Deck, PlayOnLinux та інші проекти на основі Wine. Зважаючи на це, як тільки з’явиться повна підтримка DirectX 12, CrossOver може стати переконливим вибором для гри в ігри Windows на Linux за межами Steam.